Commit Graph

593516 Commits

Author SHA1 Message Date
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
Elaine Zhang
57c3fdd8ee ARM64: dts: rockchip: rk3399: add cpul/cpub assingment clk rate
set clk_cpul:816M clk_cpub:1008M when clk tree init

Change-Id: I8f493ce8479fc670aa05d651db5be354d6870c98
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2016-03-24 15:08:47 +08:00
Shawn Lin
d582c49a40 ARM64: dts: rk3399-tb: limit emmc freq to 50MHz
Change-Id: Ib9b7c7d7574077e9c265e292b61e6eb0a4511bd8
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-03-24 11:46:52 +08:00
Xing Zheng
23357a0496 clk: rockchip: rk3399: fix the incorrect name of uart1~3
Change-Id: I32764eb21d31e4527dc90239cb3d4a450f2def6d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-24 10:23:02 +08:00
Rocky Hao
f915fd2ec8 ARM64: dts: rk3366: update gpu's opp table
Change-Id: I1c3ccc7b896b4fe95f834a957a4ebe2aef482806
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
2016-03-24 09:34:54 +08:00
ZhengShunQian
5ce147aff1 ARM64: defconfig: add the basic config for 3399 ChromeOS
With this defconfig which inherits from rockchip_defconfig,
ChromeOS boots up to command line.

Change-Id: I646fea9b26d9c235da16d0d2b559290ee5029a12
Signed-off-by: ZhengShunQian <zhengsq@rock-chips.com>
2016-03-23 21:12:52 +08:00
Jianhong Chen
62284a93a8 ARM64: dts: rk3366-tb: add regulator-ramp-delay of vdd_arm
Change-Id: If4eb8f964592d2f6c0e418659b12f672dc9abb94
Signed-off-by: Jianhong Chen <chenjh@rock-chips.com>
2016-03-23 19:31:30 +08:00
Frank Wang
9e76ff0ffa Documentation: bindings: add compatible entry for Rockchip USB2.0 PHY
1. Compatible "rockchip,rk3399-usb-phy" support to RK3399;
2. Add host_drv_gpio optional property for usb2.0 vbus control.

Change-Id: Idfc6898ca2c519c46dae66d396f501b38e8d73bd
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-23 18:36:08 +08:00
Wu Liang feng
a1fa11ef26 ARM64: rockchip_defconfig: enable dwc3 and xhci drivers
Change-Id: I3c3dae4bf999cb3e7141d88bdfa60e50ab46e2fd
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-23 18:34:16 +08:00
Wu Liang feng
19949158f7 usb: dwc3: rockchip: Add device tree binding
Rockchip USB3.0 core wrapper consist of USB3.0 IP from Synopsys
(SNPS) and HS, SS PHY's control and configuration registers.

Change-Id: I116b66c3b417cfecc968414db9912813a0ef2c5d
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-23 18:33:45 +08:00
Wu Liang feng
5807cf2b7a usb: dwc3: of-simple: add compatible for rk3399
Change-Id: I0a74fcd97c5be7887b4d14bb708a58a10f70e71c
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-23 18:33:15 +08:00
Wu Liang feng
389b1b0a7e ARM64: dts: rk3399: enable usbdrd3_0 and usbdrd3_1
Change-Id: I2321c1b0651a1a0ad1352e1409d8c9cef1428a67
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-23 18:32:32 +08:00
Wu Liang feng
a2b4d2b724 ARM64: dts: rk3399: add usbdrd3_0 and usbdrd3_1 nodes
Change-Id: I4b940966e3b054e072de90f6943ab20006848495
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-03-23 18:31:56 +08:00
Rocky Hao
2b3cd136e1 ARM64: dts: rk3366: update cpu's opp table
Change-Id: Id0d722d90672f78941073a4ad7e45615893b1e90
Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
2016-03-23 15:08:29 +08:00
Elaine Zhang
bd8dd2c035 ARM64: rockchip_defconfig: enable rk808 regulator
set CONFIG_REGULATOR_RK808=y

Change-Id: I9cfc60fc82a4cb7dc4056bd13f3d678d6a0f7faf
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2016-03-23 14:46:43 +08:00