Commit Graph

594723 Commits

Author SHA1 Message Date
David Wu
93f18e05cf ARM64: dts: rockchip: remove clk_ignore_unused bootarg for rk3366-tb
Change-Id: I9d3bbdb20cae6b572294ba5a7cf09dbc23278ccf
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-05-24 10:14:16 +08:00
Xubilv
f13eedd859 ARM64: dts: rk3399-android: mipi dsi host1 add grf
Change-Id: Ifa69588690c33da4d58c393f33f344101a4ea11d
Signed-off-by: Xubilv <xbl@rock-chips.com>
2016-05-23 16:53:01 +08:00
Wu Liang feng
a575ff1ae5 usb: gadget: accessory: add compat_ioctl
Add compat_ioctl for accessory to work on 64-bit platforms.

Change-Id: I805395c35017111bf0c462847f11765c7088d266
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-05-23 15:53:50 +08:00
Rohith Seelaboyina
5cee27dd9d usb: gadget: mtp: add new ioctl for compat
Define a new ioctl for MTP_SEND_EVENT, as its
ioctl numbers depends on the size of struct
mtp_event, which varies in ARCH32 and ARCH64.

Change-Id: I060604057ac6c55991118b3f61b187468b4ee0fd
Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com>
Reviewed-on: http://git-master/r/377800
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-05-23 15:53:13 +08:00
Wu Liang feng
5f726237dd usb: gadget: mtp: add compat_ioctl
Add compat_ioctl for mtp to work on 64-bit platforms.

Change-Id: Icef0f42a554d770a83152c4185aca9e39e041165
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-05-23 15:52:42 +08:00
Jianqun Xu
75564ab24c ARM64: dts: rk3399: add node support for reboot-mode
Rockchip RK3399 SoCs support reboot with modes, such as recovery mode,
loader mode and normal mode.

Change-Id: I96ed872f849c2b3b06d236248995db18be070960
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-05-23 10:28:33 +08:00
Huang, Tao
88cbdb6173 rk: remove cpuquiet
Change-Id: I1fde79829ebff9f74609c3c4aeb759c7db822b01
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-20 17:05:24 +08:00
Huang, Tao
b16fac932c rk: force enable asm goto on android gcc
It seems than android gcc can't pass gcc-goto.sh check, but asm goto work.
So let's active it.

Change-Id: I75310af8cf3746a5c110daa564e96eeb1d7f1070
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-20 15:33:19 +08:00
Shawn Lin
332da300ea ARM64: dts: rk3399-evb: add more for pcie for evb board
Change-Id: If417c67b7a78898cd23c5a35411d4fe3724336c8
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-20 09:58:25 +08:00
Shawn Lin
3779e671ad ARM64: dts: rk3399: add pcie support
Change-Id: I3defaf222ddba88fb92c556913c774d466f78456
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-20 09:58:25 +08:00
Shawn Lin
53488bc4cc pci: Add PCIe driver for Rockchip Soc
RK3399 has a PCIe controller which can be used as Root Complex.
This driver supports a PCIe controller as Root Complex mode.

Change-Id: Ifff7340bd90b7e9e17c9f500938bee7769785cb9
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-20 09:58:24 +08:00
Shawn Lin
cc9f3098e1 Documentation: add binding description of Rockchip PCIe controller
This patch add some required and optional properties for Rockchip
PCIe controller. Also we add a example for how to use it.

Change-Id: I69cfbc6290c97a9a55b50c531da6c4babefd8571
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-20 09:58:24 +08:00
Xubilv
207c36b942 video: rockchip: mipi: free cmds buf in rockchip_lcd_mipi_remove
Change-Id: If805e7b6797841a92252a879526200da166141fd
Signed-off-by: Xubilv <xbl@rock-chips.com>
2016-05-19 19:47:54 +08:00
Huang, Tao
c84f1ed061 ARM64: dts: rk3399: add rktimer device node
Select rktimer0 as broadcast timer.

Change-Id: I9a4142391f2ba88efa1c1098772a41179a6ead5d
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-19 18:29:58 +08:00
Huang, Tao
b7355e9f62 clocksource: rockchip: add support for rk3399 SoC
The CONTROL register offset is different from old SoCs.
For Linux driver, there are not functional changes at all.
Let's call it v2.

Change-Id: I87ab0363fd6a13efe223717ffc6a0ba06ec25d72
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-19 18:29:58 +08:00
Huang, Tao
32756986f1 dt-bindings: document rk3399 rk-timer bindings
Add compatible string for rk3399 because which timer is a little
different from older SoCs. So rename the file name from
rockchip,rk3288-timer.txt to rockchip,rk-timer.txt.
Clarify rockchip,rk3288-timer supported SoCs.

Change-Id: Ic39196352ebb4740d21c9e5bdf967084192c66d8
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-19 18:29:58 +08:00
Huang, Tao
fb50410985 clocksource: rockchip: add dynamic irq flag to the timer
The rockchip timer is broadcast timer. Add CLOCK_EVT_FEAT_DYNIRQ
flag and set cpumask to all cpu to save power by avoid unnecessary
wakeups and IPIs.

Change-Id: Ie257972a4a42f6807aed22df695d8b3a4d715045
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-19 18:29:58 +08:00
Huang, Tao
c380160aea clocksource: rockchip: remove unnecessary clear irq before request_irq
rk_timer_interrupt_clear and rk_timer_disable is unnecessary before
request_irq. Timer should keep disabled before booting Linux.

Change-Id: I6de401ad156d620ac676e80de89ffd0bdaab3a36
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-19 18:29:58 +08:00
Xubilv
63d0358498 dtsi: screen-timing: lcd-LP097Qx2: for rk3399 mid prototype
Change-Id: Ia01ee063d5d3f5d7e26e6d0a2683e616eebd19f2
Signed-off-by: Xubilv <xbl@rock-chips.com>
2016-05-19 15:17:33 +08:00
Xubilv
32adbd9ab2 dtsi: screen-timing: lcd-ls055r1sx04-mipi: for rk3399 vr prototype
Change-Id: Iee299bfe2786ece1b7cc1d53a81e4a4c29a4bf0e
Signed-off-by: Xubilv <xbl@rock-chips.com>
2016-05-19 15:14:36 +08:00
Wu Liang feng
915e5120e3 ARM64: dts: rk3399: quirk for extra long delay for dwc3 xHCI
It has been reported that xHCI on this SoC really cannot
sleep without extraordinary delay. This quirk can ensure
the xHCI enter the Halted state after the Run/Stop (R/S)
bit is cleared to '0'.

Change-Id: Ibccf0c5c2da4533817b998b523e3a3a09ed7dcea
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-05-17 17:47:43 +08:00
Wu Liang feng
362400b861 usb: dwc3: add a quirk xhci_slow_suspend_quirk
On some xHCI controllers (e.g. Rockchip SoCs), which are
integrated in DWC3 IP, need an extraordinary delay to wait
for xHCI enter the Halted state(i.e. HCH in the USBSTS
register is '1'), especially if DWC3 is in DRD mode.

Change-Id: I7718a4052f67d40cddb50f7113dbb0b591746359
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-05-17 17:47:42 +08:00
Wu Liang feng
8bf2c6841d usb: host: xhci-plat: set xhci suspend quirk based on platform data
If an xhci platform need an extraordinary delay to wait for
xHCI enter the Halted state after the Run/Stop (R/S) bit is
cleared to '0', then enable XHCI_SLOW_SUSPEND quirk flag.

Change-Id: If37fe7b7b37cc3c573361f4ef522404ebe39991e
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
2016-05-17 17:46:45 +08:00
Sugar Zhang
3c093f9487 ARM64: configs: rockchip_defconfig: enable CONFIG_SND_SOC_DW_HDMI_AUDIO
Change-Id: I02a7c2b565f7a74319aadd9dedeaa0b522348343
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-05-16 14:34:58 +08:00
Sugar Zhang
c93237e0a0 ARM64: dts: rk3399-android: add hdmi sound for android
Change-Id: I466c8611a135e1603606aedc5d987a5f5e435fd3
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-05-16 14:34:10 +08:00
Sugar Zhang
1d660dce67 ASoC: dw-hdmi-audio: add dummy codec for DesignWare hdmi
this patch is depend on rk hdmi framework, so no need to upstream.

Change-Id: If9892c21c4c1cf7dfbb4efed67d188892b1b4bda
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-05-16 10:41:51 +08:00
Sugar Zhang
b3594542df video: rockchip: hdmi: add snd_config_hdmi_audio helper function
Change-Id: Id2a22a442a0c261c5690c103a8f5a9fb99795df5
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-05-16 09:40:32 +08:00
Elaine Zhang
bc2cd84357 ARM64: dts: rockchip: rk3399: qos: add qos nodes
add qos reg addr base.
add pm_qos nodes for save and restore registers when pd on/off.

Change-Id: I91286463ba1018f896b67ac5b85485520e1518e6
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2016-05-13 17:48:39 +08:00
Huang, Tao
0afa3fa649 rk: clean up gcc-wrapper.py
Change-Id: I958439f74e7bb8a84e477f66dca2e592b55cd5bb
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-13 14:41:29 +08:00
Huang, Tao
9d59a887bf ARM64: rockchip_defconfig: merge android config
enable CONFIG_INET_DIAG_DESTROY and CONFIG_DM_VERITY_FEC

Change-Id: I3bb2bbf067ebefbbcc3a102b41c7eff8879389a6
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-13 14:20:52 +08:00
Huang, Tao
0157f769a1 rk: gcc-wrapper.py ignore memcontrol.c:5271
This is LSK error, it should be fixed soon.

Change-Id: I8ca70dd721e083f9c361b5ecec450f1834e18587
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-05-13 14:11:37 +08:00
Huang, Tao
f0161aad47 Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git
* linux-linaro-lsk-v4.4-android: (797 commits)
  parisc: Use generic extable search and sort routines
  arm64: kasan: Use actual memory node when populating the kernel image shadow
  arm64: mm: treat memstart_addr as a signed quantity
  arm64: lse: deal with clobbered IP registers after branch via PLT
  arm64: mm: check at build time that PAGE_OFFSET divides the VA space evenly
  arm64: kasan: Fix zero shadow mapping overriding kernel image shadow
  arm64: consistently use p?d_set_huge
  arm64: fix KASLR boot-time I-cache maintenance
  arm64: hugetlb: partial revert of 66b3923a1a
  arm64: make irq_stack_ptr more robust
  arm64: efi: invoke EFI_RNG_PROTOCOL to supply KASLR randomness
  efi: stub: use high allocation for converted command line
  efi: stub: add implementation of efi_random_alloc()
  efi: stub: implement efi_get_random_bytes() based on EFI_RNG_PROTOCOL
  arm64: kaslr: randomize the linear region
  arm64: add support for kernel ASLR
  arm64: add support for building vmlinux as a relocatable PIE binary
  arm64: switch to relative exception tables
  extable: add support for relative extables to search and sort routines
  scripts/sortextable: add support for ET_DYN binaries
  ...

Conflicts:
	arch/arm64/mm/dma-mapping.c
	drivers/clk/rockchip/clk-rk3368.c
	drivers/mmc/core/core.c
	drivers/mmc/core/sdio.c
	include/linux/dcache.h

Change-Id: Ibaa1e90ac735db8d9f5e542c266ef27b91616ef4
2016-05-13 12:20:56 +08:00
Shawn Lin
1deaaa33b1 Revert "clk: rockchip: reset init state before mmc card initialization"
This reverts commit 7a03fe6f48.

We need a new patch for dw_mmc to deal with phase policy in case of
new register layout, otherwise it will break phase stuff for some
case

Change-Id: Iffb7a6dbe0b17d27c2cca4b2b99ddbc4e0736f18
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-13 10:45:43 +08:00
Shawn Lin
cb8fedfd82 ARM64: dts: rockchip: add ctrl-base for rk3399
Add ctrl-base for rk3399 to make emmc-phy work.

Change-Id: Iffb7a6dbe0b17d27c2cca4b2b99ddbc4e0736f15
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-13 10:41:59 +08:00
Shawn Lin
f3a4365038 phy: rockchip-emmc: enable ctrl-base before waiting pll
Need to control phy's digital block before enabling pll and
waiting for it into locked state.

Change-Id: I04037f5496fd5c1ef4e24853eb32b43ce326ff01
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-13 10:39:40 +08:00
Shawn Lin
12119b8fdd Documentation: rockchip-emmc-phy: add ctrl-base support
This patch adds ctrl-base which points to the digital block
to setup phy pll enabling.

Change-Id: I922dd7574229fda6b2ee51ca6ed1d7852ef87d30
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2016-05-13 10:38:00 +08:00
Shawn Lin
4583509b45 HACK: mmc: core: disable sending status when switching to hs from hs200
To slove the issue found on evb2 for hs400

[    1.526008] sdhci: Secure Digital Host Controller Interface driver
[    1.526558] sdhci: Copyright(c) Pierre Ossman
[    1.527899] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.529967] sdhci-arasan fe330000.sdhci: No vmmc regulator found
[    1.530501] sdhci-arasan fe330000.sdhci: No vqmmc regulator found
[    1.568710] mmc0: SDHCI controller on fe330000.sdhci [fe330000.sdhci]
using ADMA
[    1.627552] mmc0: switch to high-speed from hs200 failed, err:-84
[    1.628108] mmc0: error -84 whilst initialising MMC card

[PATCH reviewing: https://patchwork.kernel.org/patch/9010851/]

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I7641a3c095bb893a56f18fa3faa88ca179f3dae3
2016-05-13 10:36:03 +08:00
Javi Merino
8985e0cc58 UPSTREAM: thermal: power_allocator: req_range multiplication should be a 64 bit type
req_range is declared as a u64 to cope with overflows in the
multiplication of two u32.  As both req_power and power_range are u32,
we need to make sure the multiplication is done with u64 types.

Change-Id: I1aea92f12e48338be2681a9b2ba84756b6cc8cf8
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry picked from commit f9d038144a)
2016-05-13 10:34:42 +08:00
Leo Yan
33d117f2af UPSTREAM: thermal: use %d to print S32 parameters
Power allocator's parameters are S32 type, so use %d to print them.

Change-Id: Iae45ef17e4375320a0f4b2fdeab034ae76763ff6
Acked-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry picked from commit 15333e3af1)
2016-05-13 10:33:16 +08:00
Wei Ni
acb72fede6 UPSTREAM: thermal: consistently use int for trip temp
The commit 17e8351a77 consistently use int for temperature,
however it missed a few in trip temperature and thermal_core.

In current codes, the trip->temperature used "unsigned long"
and zone->temperature used"int", if the temperature is negative
value, it will get wrong result when compare temperature with
trip temperature.

This patch can fix it.

Change-Id: I4b31f577a6142bc02f8e0deae79ab2ff7c8bd978
Signed-off-by: Wei Ni <wni@nvidia.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry picked from commit 1d0fd42fa3)
2016-05-13 10:10:21 +08:00
Punit Agrawal
a772af0b70 UPSTREAM: devicetree: bindings: Add optional dynamic-power-coefficient property
The dynamic power consumption of a device is proportional to the
square of voltage (V) and the clock frequency (f). It can be expressed as

Pdyn = dynamic-power-coefficient * V^2 * f.

The coefficient represents the running time dynamic power consumption in
units of mw/MHz/uVolt^2 and can be used in the above formula to
calculate the dynamic power in mW.

Change-Id: Ib208ff2f83ee45911e846f940952d765ae8c974e
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry picked from commit 3be3f8f36e)
2016-05-13 10:01:52 +08:00
xiaoyao
89ef579454 ARM64: dts: rk3399-evb: add sd3.0 support
Change-Id: I4a7c440a6ca8026b7aed5aa26b9ef2624cc7afd0
Signed-off-by: xiaoyao <xiaoyao@rock-chips.com>
2016-05-12 16:07:31 +08:00
Alex Shi
b3f09bff3f Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-05-12 12:20:40 +08:00
Alex Shi
e37ddf2710 Merge tag 'v4.4.10' into linux-linaro-lsk-v4.4
This is the 4.4.10 stable release
2016-05-12 12:20:36 +08:00
Alex Shi
334ca3ed18 Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-05-12 09:27:18 +08:00
Alex Shi
9ba733e262 Merge branch 'v4.4/topic/mm-kaslr' into linux-linaro-lsk-v4.4 2016-05-12 09:25:41 +08:00
Helge Deller
5dd612ebfa parisc: Use generic extable search and sort routines
Switch to the generic extable search and sort routines which were introduced
with commit a272858 from Ard Biesheuvel. This saves quite some memory in the
vmlinux binary with the 64bit kernel.

Signed-off-by: Helge Deller <deller@gmx.de>
(cherry picked from commit 0de798584b)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
2016-05-12 09:05:25 +08:00
Catalin Marinas
200d9e78db arm64: kasan: Use actual memory node when populating the kernel image shadow
With the 16KB or 64KB page configurations, the generic
vmemmap_populate() implementation warns on potential offnode
page_structs via vmemmap_verify() because the arm64 kasan_init() passes
NUMA_NO_NODE instead of the actual node for the kernel image memory.

Fixes: f9040773b7 ("arm64: move kernel image to base of vmalloc area")
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: James Morse <james.morse@arm.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
(cherry picked from commit 2f76969f2e)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
2016-05-12 09:04:03 +08:00
Ard Biesheuvel
b78c702db9 arm64: mm: treat memstart_addr as a signed quantity
Commit c031a4213c ("arm64: kaslr: randomize the linear region")
implements randomization of the linear region, by subtracting a random
multiple of PUD_SIZE from memstart_addr. This causes the virtual mapping
of system RAM to move upwards in the linear region, and at the same time
causes memstart_addr to assume a value which may be negative if the offset
of system RAM in the physical space is smaller than its offset relative to
PAGE_OFFSET in the virtual space.

Since memstart_addr is effectively an offset now, redefine its type as s64
so that expressions involving shifting or division preserve its sign.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 020d044f66)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
2016-05-12 08:41:36 +08:00
Ard Biesheuvel
27fa6e51b8 arm64: lse: deal with clobbered IP registers after branch via PLT
The LSE atomics implementation uses runtime patching to patch in calls
to out of line non-LSE atomics implementations on cores that lack hardware
support for LSE. To avoid paying the overhead cost of a function call even
if no call ends up being made, the bl instruction is kept invisible to the
compiler, and the out of line implementations preserve all registers, not
just the ones that they are required to preserve as per the AAPCS64.

However, commit fd045f6cd9 ("arm64: add support for module PLTs") added
support for routing branch instructions via veneers if the branch target
offset exceeds the range of the ordinary relative branch instructions.
Since this deals with jump and call instructions that are exposed to ELF
relocations, the PLT code uses x16 to hold the address of the branch target
when it performs an indirect branch-to-register, something which is
explicitly allowed by the AAPCS64 (and ordinary compiler generated code
does not expect register x16 or x17 to retain their values across a bl
instruction).

Since the lse runtime patched bl instructions don't adhere to the AAPCS64,
they don't deal with this clobbering of registers x16 and x17. So add them
to the clobber list of the asm() statements that perform the call
instructions, and drop x16 and x17 from the list of registers that are
callee saved in the out of line non-LSE implementations.

In addition, since we have given these functions two scratch registers,
they no longer need to stack/unstack temp registers.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[will: factored clobber list into #define, updated Makefile comment]
Signed-off-by: Will Deacon <will.deacon@arm.com>

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 5be8b70af1)
Signed-off-by: Alex Shi <alex.shi@linaro.org>
2016-05-12 08:41:18 +08:00