Commit Graph

592875 Commits

Author SHA1 Message Date
Shawn Lin
11afcabf09 mmc: sdhci-of-arasan: keep consistent with upstream
This patch manually amend some code to keep local
branch more consistent with upstream.

Change-Id: If705983f84ade4e7cebb45db8a65d34b876c7bef
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-03-17 11:20:11 +08:00
Feng Xiao
3d9013f5db ARM64: dts: rockchip: rk3368: fix cpu get regulator and clock error
we only add the property of regulator and clock to cpu0 and cpu4 node,
but if cpu4~cpu7 is down and then we up cpu5~cpu7, they will can not
get their regulator and clock. So we should add the properties to all
cpu node.

Change-Id: Id601fa3d3d05875f7c68f2a5472dc0eefefb6096
Signed-off-by: Feng Xiao <xf@rock-chips.com>
2016-03-17 11:04:01 +08:00
Shawn Lin
5e9b025b5f ARM64: rockchip_defconfig: enable emmc phy driver
Change-Id: If555e77e60dc64782cc071ec8b78a0fdceaf9173
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-03-17 11:02:33 +08:00
Jianhong Chen
17a142516d ARM64: dts: rk3366-tb: disable vdd_arm when deep sleep
Change-Id: Iffce92e3412eeee36b735a8db5fdc08f532c3894
Signed-off-by: Jianhong Chen <chenjh@rock-chips.com>
2016-03-17 11:01:57 +08:00
John Keeping
65ca3ed1ab UPSTREAM: drm/rockchip: respect CONFIG_DRM_FBDEV_EMULATION
If DRM_FBDEV_EMULATION is not selected in the config then we can save a
bit of space by not including the framebuffer code.

Change-Id: I57b8888ebed0a0980e04a908116ad843b2fad556
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: John Keeping <john@metanate.com>
(cherry picked from commit f0442df215)
2016-03-17 09:42:06 +08:00
Mark Yao
c9d0bdaa2b UPSTREAM: drm/rockchip: fix wrong pitch/size using on gem
args->pitch and args->size may not be set by userspace, sometimes
userspace only malloc args and not memset args to zero, then
args->pitch and args->size is random, it is very danger to use
pitch/size on gem.

pitch's type is u32, and min_pitch's type is int, example,
pitch is 0xffffffff, then pitch < min_pitch return true, then gem will
alloc very very big bufffer, it would eat all the memory and cause kernel
crash.

Stop using pitch/size from args, calc them from other args.

Change-Id: I867d61bf6bc48a2989ae4d15a819a85a7e38d26f
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit e3c4abdb3b)
2016-03-17 09:42:06 +08:00
John Keeping
c1dc2dc568 UPSTREAM: drm/rockchip: explain why we can't wait_for_vblanks
Change-Id: I073cf5b91554a293009a121845ac1bf3b6b3e6ce
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: John Keeping <john@metanate.com>
(cherry picked from commit c9ad1d9946)
2016-03-17 09:42:05 +08:00
John Keeping
ba63cef87f UPSTREAM: drm/rockchip: don't wait for vblank if fb hasn't changed
As commented in drm_atomic_helper_wait_for_vblanks(), userspace relies
on cursor ioctls being unsynced.  Converting the rockchip driver to
atomic has significantly impacted cursor performance by making every
cursor update wait for vblank.

By skipping the vblank sync when the framebuffer has not changed (as is
done in drm_atomic_helper_wait_for_vblanks()) we can avoid this for the
common case of moving the cursor and only need to delay the cursor ioctl
when the cursor icon changes.

We cannot add the check on legacy_cursor_update since that results in
the cursor bo being unreferenced while the hardware may still be reading
it.  Fully supporting unsynced cursor updates is left for the future
when the atomic helper framework supports async updates.

Change-Id: I4c0e4b51ec7441fb7b7342eac5d4b98f9ca5ee62
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: John Keeping <john@metanate.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from commit f2227f4697)
2016-03-17 09:42:05 +08:00
Andrzej Hajda
b498b62d76 UPSTREAM: drm/rockchip/dsi: fix handling mipi_dsi_pixel_format_to_bpp result
The function can return negative value so it should be assigned to signed
variable.

The problem has been detected using patch
scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci.

Change-Id: Ide4daa64ce996d125b2f698e6f2d4899591e8065
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Chris Zhong <zyw@rock-chips.com>
(cherry picked from commit 484bb6c969)
2016-03-17 09:42:05 +08:00
Mark Yao
3cbac01510 UPSTREAM: drm/rockchip: cleanup unnecessary export symbol
Now rockchip_drm_vop.c is build into rockchipdrm.ko, so
no need to export following symbol anymore:
    rockchip_drm_dma_attach_device
    rockchip_drm_dma_detach_device
    rockchip_drm_dma_attach_device
    rockchip_drm_dma_detach_device
    rockchip_register_crtc_funcs
    rockchip_unregister_crtc_funcs
    rockchip_fb_get_gem_obj

Change-Id: Ic6cc7cb83efca4f74f1e70e3568abdfb83d2886f
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 63087aae5a)
2016-03-17 09:42:05 +08:00
John Keeping
ec4cbab9bb UPSTREAM: drm/rockchip: vop: fix mask when updating interrupts
Commit dbb3d94 (drm/rockchip: vop: move interrupt registers into
vop_data) introduced new macros for updating the interrupt control
registers but these always use the mask from the register definition
without refining it for the particular bits that are being changed.

This means that whenever we enable/disable a particular interrupt we end
up disabling all of the others as a side effect.

Change-Id: I3b0f2574315f3655c183c21143b0bca7cdd9f6fa
Signed-off-by: John Keeping <john@metanate.com>
(cherry picked from commit c7647f8681)
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2016-03-17 09:42:05 +08:00
Mark Yao
9de6f30164 UPSTREAM: drm/rockchip: Don't build rockchip_drm_vop as modules
rockchip_drm_vop's module init had moved to rockchip_vop_reg.c
so no need to build rockchip_drm_vop.ko

Change-Id: I36da6a2741a250f3344b9febcd0c74539a861798
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit ce90d092bc)
2016-03-17 09:42:04 +08:00
Chris Zhong
93a34472c4 UPSTREAM: drm: rockchip: Support Synopsys DW MIPI DSI
Add support for Synopsys DesignWare MIPI DSI controller which is
embedded in the rk3288 SoCs.

Change-Id: Ic450633c683520361926a676191426349376803e
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Acked-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 84e05408fc)
2016-03-17 09:42:04 +08:00
Chris Zhong
d6fce1adfb UPSTREAM: drm/rockchip: return a true clock rate to adjusted_mode
Since the mipi dsi driver need to use the clock of vop to make the
calculation of Blanking. But sometimes the clock driver can not set a
accurate clock_rate for vop, get it by clk_round_rate before mode_set,
so we can get the true value.

Change-Id: I04e6a499763258c2e16a09e3a59cf3a1e4593706
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Acked-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit b59b8de314)
2016-03-17 09:42:04 +08:00
Stephen Rothwell
ca49d45391 UPSTREAM: drm/rockchip: vop: export vop_component_ops to modules
Fixes: a67719d182 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c")

Change-Id: I4c855f65e684c08f8648547dcf16aa657c6ae5db
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 54255e818e)
2016-03-17 09:42:04 +08:00
Mark Yao
4e5345ff3b UPSTREAM: drm/rockchip: vop: add rk3036 vop support
RK3036 registers layout is quite difference with rk3288 layout,
The IC design with different framework, rk3036 vop is VOP LITE,
and rk3288 is VOP FULL.

RK3036 support two overlay plane and one hwc plane, max output
resolution is 1080p. it support IOMMU, and its IOMMU same as
rk3288's.

Change-Id: Ib713b252dc6f2d4bffa3183698768c6f23236ccf
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit f767345350)
2016-03-17 09:42:04 +08:00
Mark Yao
21464efe46 UPSTREAM: drm/rockchip: vop: spilt scale regsters
There are two version scale control register found on vop,
scale full version found on rk3288, support extension registers.
and scale little version found on rk3036, only support common scale.

Change-Id: Iea1f253f363e062d49390fa51c304a2c109c39c6
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 1194fffbb1)
2016-03-17 09:42:03 +08:00
Mark Yao
62b17da2e9 UPSTREAM: drm/rockchip: vop: spilt register related into rockchip_reg_vop.c
No functional updates. Spilt register related into another file
would be nice to multi vop driver,

Change-Id: I811b12a57b03c24eb420d0c3fa0833f412bd258c
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit a67719d182)
2016-03-17 09:42:03 +08:00
Mark Yao
d0084393a3 UPSTREAM: drm/rockchip: vop: move interrupt registers into vop_data
Move interrupt registers into vop_data, so it can use at multi-vop driver

Change-Id: I3183fb3c97e76d58dbdab2f2df34480ee2e74b31
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit dbb3d94444)
2016-03-17 09:42:03 +08:00
Mark Yao
0f44d52e99 UPSTREAM: drm/rockchip: vop: merge vop cfg_done into vop_data
Move cfg_done register into vop_data, so it can use at multi-vop driver

Change-Id: Id92d69302a4fc9e28b96099bf0297674f2abfb33
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 0cf33fe33d)
2016-03-17 09:42:03 +08:00
Mark Yao
677bddace8 UPSTREAM: drm/rockchip: dw_hdmi: use encoder enable function
encoder.enable is more compatible to atomic api than encoder.prepare/commit

Change-Id: Idacd1c44df94110b4a4b2cc66be9ce0eda8a2ad9
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit a8eef71d38)
2016-03-17 09:42:03 +08:00
Mark Yao
f7a6661050 UPSTREAM: drm/rockchip: direct config connecter gate and out_mode
Both connecter gate and out_mode are not conflict with mode set
configure. Direct setting connecter gate and out_mode, that allow
connector do rockchip_drm_crtc_mode_config after mode set.

Change-Id: I6f7af59b7cbff2ae55830f31155e34e041cc74f8
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit d0e20d0ebf)
2016-03-17 09:42:03 +08:00
Mark Yao
621c4cad77 UPSTREAM: drm/rockchip: support atomic asynchronous commit
If drm core requests a async commit, rockchip_drm_atomic_commit
will schedule a work task to update later.

Change-Id: I8d35b157b817f2e7f810968e7b18043414cb17e6
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit f32fad51ee)
2016-03-17 09:42:02 +08:00
Mark Yao
9620fd7584 UPSTREAM: drm/rockchip: Optimization vop mode set
Rk3288 vop timing registers is immediately register, when configure
timing on display active time, will cause tearing. use dclk reset is
not a good idea to avoid this tearing. we can avoid tearing by using
standby register.

Vop standby register will take effect at end of current frame, and
go back to work immediately when exit standby.

So we can use standby register to protect this context.

Change-Id: Ib65433900c67f9fbd3957c4b0506d6172474e5c2
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit ce3887ed0d)
2016-03-17 09:42:02 +08:00
Mark Yao
93fe6e6cc0 UPSTREAM: drm/rockchip: Convert to support atomic API
Rockchip vop not support hw vblank counter, needed check the committed
register if it's really take effect.

Change-Id: Ia291cdf75bc2f7397881f0e5f42debeae1c04f03
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 63ebb9fa7f)
2016-03-17 09:42:02 +08:00
Mark Yao
23d32fda3c UPSTREAM: drm/rockchip: vop: replace dpms with enable/disable
For vop, power by enable/disable is more suitable then legacy dpms
function, and enable/disable more closely to the new atomic API.

Change-Id: Ief6e31f023a2e2af84aba773edac51fccd487a2c
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 0ad3675d9c)
2016-03-17 09:42:02 +08:00
Mark Yao
853cbcbadb UPSTREAM: drm/rockchip: Use new vblank api drm_crtc_vblank_*
No functional update, drm_vblank_* is the legacy version of
drm_crtc_vblank_*. and use new api make driver more clean.

Change-Id: Ia93ec8124333d59446d1507f7567be2775bea144
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit b5f7b75503)
2016-03-17 09:42:02 +08:00
Ville Syrjälä
52fb48a3d6 UPSTREAM: drm/rockchip: Constify function pointer structs
Moves a bunch of junk to .rodata from .data.

 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.ko:
-.rodata                      772
+.rodata                      828
-.data                        148
+.data                         92

 drivers/gpu/drm/rockchip/rockchipdrm.ko:
-.rodata                      748
+.rodata                      760
-.data                        448
+.data                        436

Change-Id: Ic93fc8d334a51618ea8075b4344983b795c7623e
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1450178476-26284-25-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
(cherry picked from commit 28c508ece6)
2016-03-17 09:42:01 +08:00
Ville Syrjälä
a91606afb1 UPSTREAM: drm: Pass 'name' to drm_encoder_init()
Done with coccinelle for the most part. However, it thinks '...' is
part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder
in its place and got rid of it with sed afterwards.

@@
identifier dev, encoder, funcs;
@@
 int drm_encoder_init(struct drm_device *dev,
                      struct drm_encoder *encoder,
                      const struct drm_encoder_funcs *funcs,
                      int encoder_type
+                     ,const char *name, int DOTDOTDOT
                      )
{ ... }

@@
identifier dev, encoder, funcs;
@@
 int drm_encoder_init(struct drm_device *dev,
                      struct drm_encoder *encoder,
                      const struct drm_encoder_funcs *funcs,
                      int encoder_type
+                     ,const char *name, int DOTDOTDOT
                      );

@@
expression E1, E2, E3, E4;
@@
 drm_encoder_init(E1, E2, E3, E4
+                 ,NULL
                  )

v2: Add ', or NULL...' to @name kernel doc (Jani)
    Annotate the function with __printf() attribute (Jani)

Change-Id: Id28ae2a6848fe1bd46905287b68f5d2c61d70039
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1449670818-2966-1-git-send-email-ville.syrjala@linux.intel.com
(cherry picked from commit 13a3d91f17)
2016-03-17 09:42:01 +08:00
Ville Syrjälä
89df2e6a60 UPSTREAM: drm: Pass 'name' to drm_universal_plane_init()
Done with coccinelle for the most part. It choked on
msm/mdp/mdp5/mdp5_plane.c like so:
"BAD:!!!!!  enum drm_plane_type type;"
No idea how to deal with that, so I just fixed that up
by hand.

Also it thinks '...' is part of the semantic patch, so I put an
'int DOTDOTDOT' placeholder in its place and got rid of it with
sed afterwards.

I didn't convert drm_plane_init() since passing the varargs through
would mean either cpp macros or va_list, and I figured we don't
care about these legacy functions enough to warrant the extra pain.

@@
typedef uint32_t;
identifier dev, plane, possible_crtcs, funcs, formats, format_count, type;
@@
 int drm_universal_plane_init(struct drm_device *dev,
                              struct drm_plane *plane,
                              unsigned long possible_crtcs,
                              const struct drm_plane_funcs *funcs,
                              const uint32_t *formats,
                              unsigned int format_count,
                              enum drm_plane_type type
+                             ,const char *name, int DOTDOTDOT
                              )
{ ... }

@@
identifier dev, plane, possible_crtcs, funcs, formats, format_count, type;
@@
 int drm_universal_plane_init(struct drm_device *dev,
                              struct drm_plane *plane,
                              unsigned long possible_crtcs,
                              const struct drm_plane_funcs *funcs,
                              const uint32_t *formats,
                              unsigned int format_count,
                              enum drm_plane_type type
+                             ,const char *name, int DOTDOTDOT
                              );

@@
expression E1, E2, E3, E4, E5, E6, E7;
@@
 drm_universal_plane_init(E1, E2, E3, E4, E5, E6, E7
+                         ,NULL
                          )

v2: Split crtc and plane changes apart
    Pass NUL for no-name instead of ""
    Leave drm_plane_init() alone
v3: Add ', or NULL...' to @name kernel doc (Jani)
    Annotate the function with __printf() attribute (Jani)

Change-Id: I65fa347937ec17d21ac3fa28ec9c58c3ce97d496
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1449670795-2853-1-git-send-email-ville.syrjala@linux.intel.com
(cherry picked from commit b0b3b79511)
2016-03-17 09:42:01 +08:00
Ville Syrjälä
d8bb13d947 UPSTREAM: drm: Pass 'name' to drm_crtc_init_with_planes()
Done with coccinelle for the most part. However, it thinks '...' is
part of the semantic patch, so I put an 'int DOTDOTDOT' placeholder
in its place and got rid of it with sed afterwards.

I didn't convert drm_crtc_init() since passing the varargs through
would mean either cpp macros or va_list, and I figured we don't
care about these legacy functions enough to warrant the extra pain.

@@
identifier dev, crtc, primary, cursor, funcs;
@@
 int drm_crtc_init_with_planes(struct drm_device *dev,
                               struct drm_crtc *crtc,
                               struct drm_plane *primary, struct drm_plane *cursor,
                               const struct drm_crtc_funcs *funcs
+                              ,const char *name, int DOTDOTDOT
                               )
{ ... }

@@
identifier dev, crtc, primary, cursor, funcs;
@@
 int drm_crtc_init_with_planes(struct drm_device *dev,
                               struct drm_crtc *crtc,
                               struct drm_plane *primary, struct drm_plane *cursor,
                               const struct drm_crtc_funcs *funcs
+                              ,const char *name, int DOTDOTDOT
                               );

@@
expression E1, E2, E3, E4, E5;
@@
 drm_crtc_init_with_planes(E1, E2, E3, E4, E5
+                          ,NULL
                           )

v2: Split crtc and plane changes apart
    Pass NULL for no-name instead of ""
    Leave drm_crtc_init() alone
v3: Add ', or NULL...' to @name kernel doc (Jani)
    Annotate the function with __printf() attribute (Jani)

Link: http://patchwork.freedesktop.org/patch/msgid/1449670771-2751-1-git-send-email-ville.syrjala@linux.intel.com
(cherry picked from commit f98828769c)

Change-Id: I8eb2a67b3a01bd0cb49e552f05a5ee5c6ac99d40
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2016-03-17 09:42:01 +08:00
David Wu
ca441690cf ARM64: dts: rockchip: add io-domain support for rk3399-tb
Change-Id: Ib72983eb50c416649a35be4393a889bc72e2457a
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 20:29:56 +08:00
David Wu
bd7cad0698 ARM64: dts: rockchip: add backlight support for rk3399-tb
Change-Id: I99314db0fe7a31b4bb652749c35c738100bdf344
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 20:29:10 +08:00
David Wu
4d64919ca1 ARM64: dts: rockchip: add key support for rk3399-monkey
Change-Id: I1897555009fae4401d52eab443b59ff572b43879
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 20:28:45 +08:00
David Wu
2d42010d2d POWER: AVS: rockchip: add rk3399 io domain support
Change-Id: If4ccc31372f1cdbea84fc27009c1b8f9238ee1e9
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 20:28:09 +08:00
Huang, Tao
564ff29ab3 ARM64: dts: rk3366: add pmu node
Change-Id: I8ab43d9d6a1361ba1546363c4d16cfa3f87b3e3c
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-16 18:21:44 +08:00
Huang, Tao
33edbc6b60 ARM64: dts: rk3399: sort nodes and fix spi reg
Change-Id: Icb71adf3ebfcee57be46886672a0fe1afe77473f
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-16 17:56:39 +08:00
Elaine Zhang
e63146d4cf ARM64: dts: rockchip: add pmic node for RK3399
add pmic rk808 node for rk3399.
add pwm regulator node for rk3399.

Change-Id: I00b33363ba513064eb0a235c646df9a46062941c
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2016-03-16 17:25:44 +08:00
Huang, Tao
99b46d5254 ARM64: rockchip_defconfig: enable selinux
Change-Id: I0142795593483474ee157ed2d64cc0fb18f2ef44
Fixes: 361ddf2d69 ("arm64: rockchip: rockchip_defconfig updates for 4.4")
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-16 16:36:05 +08:00
Frank Wang
9dd79fc502 ARM64: dts: rockchip: add USB2.0 host nodes for rk3399
Change-Id: Id18a8b43210e439add8c5af8a18a3a62e0d06cc9
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-16 15:26:33 +08:00
Jianqun Xu
d7834b46fa ARM64: dts: rockchip: add dts files for rk3399
The dts files include three level:
- rk3399.dtsi
  includes nodes who closed to SoC, such as cpu\pmu\cru\i2c\pinctl\iommu...

- rk3399-tb.dtsi
  includes nodes who required by main board, they are common nodes for both
  chromeos and android; also to enable node from rk3399.dtsi if needs

- rk3399-monkey.dts
  used by evb board with android system

- rk3399-chrome.dts
  used by evb board with chromeos system

Change-Id: I02e21a8d184e74c96807f3b8b72075d466e1027f
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-16 15:04:37 +08:00
huweiguo
baa727d837 arm64: dts: rk3366-tb: add bt node and enable it
Change-Id: I2969aed08d0ca822d717c13680af71630bd57699
Signed-off-by: huweiguo <hwg@rock-chips.com>
2016-03-16 14:44:56 +08:00
Elaine Zhang
4f487054f7 ARM64: dts: rockchip: add power domain node for RK3399 Soc
add pd node for RK3399 Soc
create power domain tree

Change-Id: I5a455034f56b6d88860c3ed2decd8c6dc94896a3
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2016-03-16 14:25:35 +08:00
Shawn Lin
a268d44bf0 ARM64: dts: rockchip: add emmc, sdio and sdmmc node for rk3399
This patch add emmc, sdio and sdmmc node to support
mmc stuff on rk3399 platform.

Change-Id: I717855dded5f5161127ba29e34b9ff2106009c55
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-03-16 14:15:46 +08:00
Shawn Lin
a102978d92 phy: rockchip-emmc: fix compile issue on arm64 platform
This patch rename "reg" property to "reg_offset".
We rename it to fix the compile issue on ARM64 platform:
(reg_format): "reg" property in /phy has invalid length (4 bytes)
(#address-cells == 2, #size-cells == 2)

This's because "reg" is very special one which should keep the
*-cells with its parent node and can't be overwrited even if we
do that explicitly. On 32-bit plafform, the default *-cells
fit for what we assign to "reg". But that's not correct for 64-bit
platform. So we can see two possible solutions to fix this problem:
A) make phy-rockchip-emmc as a child phy node and overwrite its
parent's #address-cells and #size-cells.
B) avoid using this special property.

we use it just for passing on a offset for different Socs, and there's
no requirement to change the code to make phy-rockchip-emmc as a child
node. so choose option B) is sane.

Change-Id: Ib6a10cb8c3629ec3983854f1bfb7c2426edf79d2
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-03-16 14:13:06 +08:00
Shawn Lin
6ad7fb4206 ARM64: rockchip_defconfig: enable sdhci controller
Change-Id: Iec8f07c898ed651f662847d0605954f3c356c55e
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-03-16 14:12:13 +08:00
David Wu
d39e0ad771 pwm: rockchip: add pwm support for rk3399
Change-Id: I0658d1b69b5799c2ef6604563c41b5a0d87ddce2
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 14:11:31 +08:00
David Wu
8816005f35 ARM64: dts: rockchip: add saradc support for rk3399
Change-Id: I786e6efe31a45568d581baf09093f56409c0151f
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 14:09:36 +08:00
David Wu
211e773a63 ARM64: dts: rockchip: add pwm support for rk3399
Change-Id: I243cbf417cf78f39b97e12f66c916502fe72fe31
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-16 14:09:11 +08:00
David Wu
f7609e2590 ARM64: dts: rockchip: add i2c node for rk3399
Change-Id: I3a662d25927fc9c2c4f756963f1522c24fce70d6
Signed-off-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-16 14:08:21 +08:00