Commit Graph

593530 Commits

Author SHA1 Message Date
Elaine Zhang
b53da4bf3a UPSTREAM: dt-bindings: add binding for rk3399 power domains
Add binding documentation for the power domains
found on Rockchip RK3399 SoCs

Change-Id: I51d70a08c86b5361ac5d51151711e07ffa3046ef
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
 v4.7-armsoc/drivers commit e6e270aecb)
2016-03-29 14:54:28 +08:00
Elaine Zhang
8a40546ac4 UPSTREAM: soc: rockchip: power-domain: add support for sub-power domains
This patch adds support for making one power domain a sub-domain of
other domain. This is useful for modeling power dependences,
which needs to have more than one power domain enabled to be operational.

Change-Id: Ie2a79aab6e1e073157c06d44252ef327caee5261
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[restructured error handling in subdomain-addition]
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
 v4.7-armsoc/drivers commit 6be05b5ec1)
2016-03-29 14:53:55 +08:00
Elaine Zhang
23a0699a57 UPSTREAM: soc: rockchip: power-domain: allow domains only handling idle requests
On some Rockchip SoC there exist child-domains only handling their
idle state with the actual power-state handled by a (shared) parent-
domain.

So allow such types of domains. For them, we can determine their
state (on/off) by checking the inverse idle-state instead.

There exist one special case if both idle as well power handling
were set as not present, but as the domain-data is defined in the
code itself, we can expect the reasonable developer to define them
in a correct way, without adding more checks.

Change-Id: Ic82cb387565a39043d5d52e62a94910de10d4bbd
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
 v4.7-armsoc/drivers commit 1fe767a56c)
2016-03-29 14:53:10 +08:00
Elaine Zhang
3ea83abf50 UPSTREAM: soc: rockchip: power-domain: make idle handling optional
Not all new socs need to handle idle states on domain state changes,
so add the possibility to make them optional.

Change-Id: I46d869e1de9e03ec0664518effbcf2642053391e
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
 v4.7-armsoc/drivers commit 6aa841c809)
2016-03-29 14:52:18 +08:00
Jianqun Xu
5902aa2197 ARM64: dts: rk3399-tb: enable gpu node
Change-Id: I1199eae97ec4400a96bab02ca8ed1db522fa742d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-29 14:44:27 +08:00
xubilv
172d27a35b video: rockchip: mipi: 3399: add support rk3399
Change-Id: I52fbecb5c6739b8ed1e35c3c3be7778a189874a6
Signed-off-by: xubilv <xbl@rock-chips.com>
2016-03-29 14:15:17 +08:00
chenzhen
56347463e9 arm64: dtsi: rk3399: add node of GPU
Change-Id: If48ed7f58aa00c28122ac77a8d79ab675f3a6208
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
2016-03-29 14:12:34 +08:00
Frank Wang
9ba702ce6e phy: rockchip-usb: Fixed the port cannot be resumed after suspended.
selecting utmi interface signals from utmi interface of usb20
host0 controller to usb2phy, when phy is resumed.

Change-Id: I487e836b89177cd8bc2dc56400f4dc277c8d2bf0
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-29 12:18:11 +08:00
Huang Jiachai
b5e69d00de ARM64: rockchip_defconfig: open rk322x vop
Change-Id: I9df6706a34fecadd5f149cd566b31323dafb51c2
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2016-03-29 10:40:02 +08:00
Huang Jiachai
1151147854 ARM64: dts: rk3399-monkey: add fb node
Change-Id: I1afb5fde325e9227e30fcdd5efbea4f44818de59
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-29 10:40:02 +08:00
Huang Jiachai
e58f8e565b dtsi: screen-timing: lcd-tv080wum-nl0-mipi: for rk3399 monkey
Change-Id: I01ca2bd999973820317bcf46f8a7d3e85d59a606
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2016-03-29 10:40:01 +08:00
Huang Jiachai
ac5406c5aa video: rockchip: vop: 3399: add support rk3399
Change-Id: Icbccfdd4fb841df67c0ade1cfd141fb574d837f0
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2016-03-29 10:36:10 +08:00
Xing Zheng
60c4848c4d clk: rockchip: rk3399: use the FRACMUX type for spdif and i2s0~2
Change-Id: I1f0f60185e70bb894010137db8a35dda218201f2
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-29 10:26:09 +08:00
xubilv
b7a7e2bfc9 video: rockchip: mipi: enable clk before write register
Change-Id: I717ed1143c53e7c2cd04697e8cc3984f89e29504
Signed-off-by: xubilv <xbl@rock-chips.com>
2016-03-28 17:06:30 +08:00
Xing Zheng
2f089ed109 clk: rockchip: rk3399: pclkin_isp1_wrapper should source from pclkin_cif
Change-Id: Id2ccc4003fcd286594fa2c2fc366f7c922417883
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 17:05:50 +08:00
Xing Zheng
a5e2552f88 ARM64: dts: rk3399: remove the reference pmugrf and grf
We don't need to reference the pmugrf/grf in the clock driver any more.

Change-Id: Ibda203163c84ab4004e1225e5868267024069199
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 17:04:28 +08:00
Caesar Wang
8c0ba1147c ARM64: dts: rk3399-monkey: support the gt9xx touchscreen
Change-Id: Iabe2264bf9cffe09259b17912d6391dfb87ee4dd
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-28 16:48:41 +08:00
Xing Zheng
6b8eed4760 clk: rockchip: rk3399: remove re-enable pmucru clk_gate/pclk_alive
These are not gating default when the SoC startup, so we don't need
to re-enable them.

Change-Id: I956a31345fe7f24b973db6c9e49d87a2988ac7d6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 10:44:03 +08:00
Simon
d8e3c63e30 iommu/rockchip: add more judgement for virtual device who using iommu
A virtual device like "drm" call iommu_attach_device may fail.
Current only judge if a device has "group", this is not enough,
"group->iommu_data" is needed

Change-Id: I1a66d6016dfef867d83aa4cccaf223ced4e07161
Signed-off-by: Simon <xxm@rock-chips.com>
2016-03-28 10:42:59 +08:00
David Wu
95ed49abd6 arm64: dts: add i2c0, i2c1 rise and fall time for rk3366-tb
Change-Id: I74d70eb8a058ae97844695dbf6bc4d01827c7bef
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-28 10:19:46 +08:00
Xing Zheng
de4939f7fc clk: rockchip: rk3399: add some aclk/dclk IDs for vop0/vop1
Change-Id: If59b057892ad8bfe250ac763905150518cdc8631
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 09:21:49 +08:00
Huang, Tao
35e6f62309 Revert "iommu: rk-iovmm: change compatible name to a unified name"
This reverts commit 3a1bdfa3a4.

This patch broken old rkfb driver, so revert it.

Change-Id: I7ccd93d8ff2086cca9c1b31932278435cbffc59f
2016-03-25 19:05:07 +08:00
Huang, Tao
1fef95eefb arm64: rockchip: remove unused files
Change-Id: Ied0e45214df40f8b278114ddcb5cad4d4ce9dc81
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-25 18:14:00 +08:00
xxx
b4395cee0e ARM64: dts: rk3366: support arm64 cpuidle-dt
Change-Id: Ia5a0bf96609092c22f3bdb327cdfde6f505163c6
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
2016-03-25 16:57:44 +08:00
Caesar Wang
b12b3cba02 ARM64: dts: rockchip: configure clock frequency for rk3399 tsadc
As the rk3399 SoCs requires initial configuration for tsadc clock
frequency. The tsadc can be specified in a device tree node through
assigned-clocks.

The tsadc clock needs 500KHz~800KHz frequency to work on rk3399 SoCs.
We can add the assigned-clock to prevent the firmware
or loader has *not* set the division frequency from the source clock.

Change-Id: Ieb4cd5aad7d299baab20a9fb9d39211fe00896ff
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 16:23:11 +08:00
Caesar Wang
8ef370ed07 ARM64: dts: rockchip: add the grf found on rk3399 tsadc
This patch adds the rockchip,grf to match the driver.

Change-Id: If477634fd38f1ebc539ade6c620a63d0cfee9111
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 16:20:46 +08:00
Caesar Wang
82d304f385 thermal: rockchip: handle the power sequence for rk3399 SoCs
This adds the grf property to handle the tsadc power sequence on
rk3399 SoCs.

The rk3399 tsadc can work with this patch on now.

while true; do grep "" /sys/class/thermal/thermal_zone[0-1]/temp;sleep .5; done
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41666
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555

Change-Id: I0155826bddf0017ea4985920268b333a20278bbe
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 16:20:08 +08:00
Chaotian Jing
2f98f55d98 UPSTREAM: mmc: core: fix __mmc_switch timeout caused by preempt
there is a time window between __mmc_send_status() and time_afer(),
on some eMMC chip, the timeout_ms is only 10ms, if this thread was
scheduled out during this period, then, even card has already changes
to transfer state by the result of CMD13, this part of code also treat
it to timeout error.
So, need calculate timeout first, then call __mmc_send_status(), if
already timeout and card still in programing state, then treat it to
the real timeout error.

Change-Id: I7499d3d41711ea5abe6baec780d2988dc60dfc5b
Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit 3bbb0deea6)
2016-03-25 14:58:22 +08:00
Adrian Hunter
354189f074 UPSTREAM: mmc: sdhci: Fix override of timeout clk wrt max_busy_timeout
Normally the timeout clock frequency is read from the capabilities
register.  It is also possible to set the value prior to calling
sdhci_add_host() in which case that value will override the
capabilities register value.  However that was being done after
calculating max_busy_timeout so that max_busy_timeout was being
calculated using the wrong value of timeout_clk.

Fix that by moving the override before max_busy_timeout is
calculated.

The result is that the max_busy_timeout and max_discard
increase for BSW devices so that, for example, the time for
mkfs.ext4 on a 64GB eMMC drops from about 1 minute 40 seconds
to about 20 seconds.

Note, in the future, the capabilities setting will be tidied up
and this override won't be used anymore.  However this fix is
needed for stable.

Change-Id: Ifd327b7c534a346f3537432d7bce7d8f1aebef3f
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: stable@vger.kernel.org # v3.18+
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit 9951362479)
2016-03-25 14:25:46 +08:00
Caesar Wang
a78536c528 thermal: rockchip: update the tsadc table for rk3399
This patch fixes the incorrect conversion table.
The Code to Temperature mapping is updated based on sillcon results.

Change-Id: If8ae3f5fb59786a8db8bf79276ecea44ab92ffc9
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 12:43:58 +08:00
Wu Liang feng
5dea212de4 ARM64: dts: rk3399-monkey: set usbdrd_dwc3_0 in peripheral mode
Set dwc3_0 in peripheral only mode until Type-C function is
ready, and then we can set dwc3_0 in drd mode.

Change-Id: I0ccb92db97244d7a34dd17c58757fc5aa1b11dac
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-25 12:27:48 +08:00
Huang, Tao
ec831aa320 ARM64: dts: rk3399: add pmu node
Change-Id: I9128738f72518bcb04f7e5d3fdb6638f476df667
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-25 12:12:53 +08:00
Huang, Tao
37eba4fbd0 Revert "ARM64: dts: rk3399: add pmu node"
This reverts commit 0b622df349.

arm pmu driver do not support PPI in two
cluster well. So drop it.

Change-Id: I69f43ad1703589805c7e86749badda8bf802d51a
2016-03-25 12:05:33 +08:00
Simon
5a3ebe609a iommu/rockchip: add map_sg callback for rk_iommu_ops
Change-Id: I7a677ba0c06c4031661681a26333b1e9a2aafd26
Signed-off-by: Simon <xxm@rock-chips.com>
2016-03-25 11:43:28 +08:00
Simon
737923cf7d iommu/rockchip: fix devm_request_irq and devm_free_irq parameter
When rk_iommu_attach_device or rk_iommu_detach_device be called, the second
parameter "dev" represent the device who own the iommu, so it is not resonable
using "dev" for devm_request_irq's first parameter. To avoid potential error,
we must use iommu device itself "iommu->dev" instead, the same as devm_free_irq.

Change-Id: Id9f4097d6f1b916308475854dcf75ce86d9494fc
Signed-off-by: Simon <xxm@rock-chips.com>
2016-03-25 11:42:58 +08:00
Frank Wang
3ed499f07c ARM64: dts: rockchip: rk3399: add usb2.0 phy node
Change-Id: Ie972043ecc62f9cbca5083e3047268f91be73b2c
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-25 11:38:35 +08:00
Frank Wang
dbcd409a06 phy: rockchip-usb: support usb2.0 phy for rk3399 SoC
1. Add a new compatible for rk3399;
2. Support gpio operation for vbus-drv.

Change-Id: I2eb1ac377db0bcb907d009c56fba22f1951c128e
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-25 11:32:44 +08:00
Frank Wang
7b0de50e99 Documentation: bindings: update one property for Rockchip usb-phy
vbus_drv-gpio property updated

Change-Id: I528b10f1c41cbadff2b4f0d1b1b63f7d2cb51a97
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-25 11:32:08 +08:00
Heiko Stuebner
84c243bed6 drivers: firmware: psci: notify regulators on system-suspend
On some systems regulators need to do special actions on suspend/resume.
These get set from the generic regulator_suspend_prepare and
regulator_suspend_finish functions so these should be called from the
psci suspend ops as well.

Change-Id: I6fbf7b39ceae936ed5bd9df6719ccd3cd360840f
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
2016-03-25 10:14:39 +08:00
Wu Liang feng
374068a81a ARM64: dts: rk3399: add some properties to config dwc3
RK3399 dwc3 has some hardware properties, which is platform
dependent, including the following properties:
1. Set PHYIF to 1 to use 16-bit UTMI+ interface;
2. Clear ENBLSLPM to 0 to disable sleep and l1 suspend;
3. Clear U2_FREECLK_EXITSTS to 0;
4. Clear DEV_FORCE_20_CLK_FOR_30_CLK to 0;
5. Clear DELAYP1TRANS to 0;

Change-Id: I85de326e3c2177c66966f1239bcab838df01492d
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-25 10:13:03 +08:00
Wu Liang feng
ffee25e68d usb: dwc3: add dis_del_phy_power_chg_quirk
Add a quirk to clear the GUSB3PIPECTL.DELAYP1TRANS bit,
which specifies whether delay PHY power change from P0
to P1/P2/P3 when link state changing from U0 to U1/U2/U3
respectively.

Change-Id: I23e33f8b13001d6f86d6473ad43a261d9bda8f79
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-25 10:11:35 +08:00
Wu Liang feng
33a8a91509 usb: dwc3: add DWC3_GUCTL1 reg
Change-Id: I67dfabf539b85281904b9c4dfbc764bacecb7ac3
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-25 10:10:40 +08:00
Xing Zheng
d83ea61969 clk: rockchip: rk3399: add peri hp/lp0/lp1 noc clocks into critical
Change-Id: Id136016c27b17944fc33a848fb137c3452dd6289
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-25 10:08:53 +08:00
Xing Zheng
a67ffc5fee clk: rockchip: rk3399: Keep critical independently for the PMUCRU and CRU
Fix add critical clock for PMUCRU too late in the rk3399_clk_init. It
will be crash if there is one clock want to disable its parent which is
the PPLL.

Change-Id: I3fa236ab78571c8c8ec5d423228d00dbb02f24e6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-25 09:59:24 +08:00
Sugar Zhang
954e2b6c99 UPSTREAM: ASoC: rt5640: Correct the digital interface data select
this patch corrects the interface adc/dac control register definition
according to datasheet.

Change-Id: I0777577d365140b642141596112b662d3a80538b
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
(cherry picked from git.kernel.org broonie/sound.git for-next
 commit 653aa46452)
2016-03-25 09:38:10 +08:00
Finley Xiao
c82b0e66d4 ARM64: dts: rockchip: rk3399: set each cpu's opp-microvolt to 900000uV
In order to lower the temperature, lower the voltage.

Change-Id: Iae2d103c88ab5b72c3d003c1f84f74e1694c7e1e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2016-03-24 16:58:43 +08:00
Xing Zheng
ac75497ee3 clk: rockchip: rk3399: fix PPLL is redefined and ID shouldn't be 0
PPLL is 8 and redefined by SCLK_I2C4_PMU, and clock IDs shouldn't be 0.

Change-Id: I50f89487034c1f1ef41d257de00b7f3ec53f7f4c
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-24 16:39:29 +08:00
Wu Liang feng
2ef6df639e usb: dwc3: make usb2 phy interface configurable in DT
Add snps,phyif_utmi_16_bits devicetree property. USB2 phy
interface is hardware property, and it's platform dependent,
so we need to configure it in devicetree to set the core to
support a UTMI+ PHY with an 8- or 16-bit interface.

And according to dwc3 databook, the GUSB2PHYCFG.USBTRDTIM
must set to the required values for the usb2 phy interface.

Change-Id: If1c636edc6be3c9a79b4b0b89737a925d8dd3abe
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-24 16:37:59 +08:00
Wu Liang feng
ea8f0b113f usb: dwc3: add dis_u2_freeclk_exists_quirk
Add a quirk to clear the GUSB2PHYCFG.U2_FREECLK_EXISTS bit,
which specifies whether the USB2.0 PHY provides a free-running
PHY clock, which is active when the clock control input is active.

Change-Id: I84ea6eeccb9fc2ea6d13ef586f1166d5fa132606
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-24 16:37:38 +08:00
Huang, Tao
927b5a2bd7 Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git
* linux-linaro-lsk-v4.4-android: (477 commits)
  arm64: vdso: Mark vDSO code as read-only
  ARM/vdso: Mark the vDSO code read-only after init
  x86/vdso: Mark the vDSO code read-only after init
  lkdtm: Verify that '__ro_after_init' works correctly
  arch: Introduce post-init read-only memory
  x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option
  mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings
  asm-generic: Consolidate mark_rodata_ro()
  Linux 4.4.6
  ld-version: Fix awk regex compile failure
  target: Drop incorrect ABORT_TASK put for completed commands
  block: don't optimize for non-cloned bio in bio_get_last_bvec()
  MIPS: smp.c: Fix uninitialised temp_foreign_map
  MIPS: Fix build error when SMP is used without GIC
  ovl: fix getcwd() failure after unsuccessful rmdir
  ovl: copy new uid/gid into overlayfs runtime inode
  userfaultfd: don't block on the last VM updates at exit time
  powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages
  powerpc/powernv: Add a kmsg_dumper that flushes console output on panic
  powerpc: Fix dedotify for binutils >= 2.26
  ...
2016-03-24 15:45:58 +08:00