From: Olof Johansson Date: Thu, 22 May 2014 05:45:52 +0000 (-0700) Subject: Merge tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux... X-Git-Tag: v4.13~6902^2~44^2~17 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=dee1c20c2a16bb73f1efaed5a535fcc64fdeb72d;p=mirror_ubuntu-bionic-kernel.git Merge tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Samsung DT updates for v3.16 - exynos4 : add missing pinctrls - exynos4412-trats2 : update camera nodes and add rear camera nodes : rename alias for i2c_ak8975 label Update camera nodes for exynos4 and exynos4412-trats2 - exynos5250 : update DWC3 usb controller and enable to use generic USB DRD phy - exynos5250-snow : enable dp-controller, fimd, hdmi and pwm backlight : add sound node and Vbus regulator for USB 3.0 : add tps65090 power regulator : add pinctrl for EC irq and i2c-arbitrator - exynos5420 : change to correct compatible string for hdmi : add PD entry to MFC codec and enable DWC3 and USB 3.0 PHY : add MFC memory banks for smdk5420 and arndale-octa boards - exynos5420-peach-pit : add support exynos5420 based peach-pit board : add sound node and Vbus regulatro for USB 3.0 : enable dp-controller, fimd - exynos5420-smdk5420 : add Vbus regulatro for USB 3.0 - use generic DT bindings for map SYSRAM [olof: Fixed up conflict with a fix for 4212 secondary CPU startup, carrying over the fix to the reworked code] * tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (32 commits) ARM: dts: Add MFC memory banks to exynos5420 boards ARM: dts: enable dp-controller for exynos5420-peach-pit board ARM: dts: enable fimd for exynos5420 based peach-pit board ARM: dts: enable dp-controller for exynos5250-snow board ARM: dts: enable fimd for exynos5250-snow board ARM: dts: enable pwm backlight for exynos5250-snow ARM: dts: Add pwmX_out pinctrl nodes to exynos5250 ARM: dts: Add Vbus regulator for USB 3.0 on exynos5420-smdk5420 ARM: dts: Add Vbus regulator for USB 3.0 on exynos5420-peach-pit ARM: dts: Add Vbus regulator for USB 3.0 on exynos5250-snow ARM: dts: Add PD entry to MFC codec on exynos5420 ARM: dts: Add sound node for exynos5420-peach-pit board ARM: dts: Add sound node for exynos5250-snow board ARM: dts: Update DWC3 usb controller to use new phy driver for exynos5250 ARM: dts: Enable support for generic USB DRD phy for exynos5250 ARM: dts: Enable support for DWC3 controller for exynos5420 ARM: dts: Enable support for USB 3.0 PHY controller for exynos5420 ARM: dts: enable hdmi for exynos5420-peach-pit board ARM: dts: change to correct compatible string for exynos5420 hdmi ARM: dts: enable hdmi for exynos5250 based snow board ... Signed-off-by: Olof Johansson --- dee1c20c2a16bb73f1efaed5a535fcc64fdeb72d diff --cc arch/arm/boot/dts/exynos5420.dtsi index 418f2506aaf0,c0436b8563c3..9b6414a9e8a1 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi @@@ -727,5 -756,58 +753,57 @@@ interrupts = <0 112 0>; clocks = <&clock 471>; clock-names = "secss"; - samsung,power-domain = <&g2d_pd>; }; + + usbdrd3_0: usb@12000000 { + compatible = "samsung,exynos5250-dwusb3"; + clocks = <&clock CLK_USBD300>; + clock-names = "usbdrd30"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + dwc3 { + compatible = "snps,dwc3"; + reg = <0x12000000 0x10000>; + interrupts = <0 72 0>; + phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>; + phy-names = "usb2-phy", "usb3-phy"; + }; + }; + + usbdrd_phy0: phy@12100000 { + compatible = "samsung,exynos5420-usbdrd-phy"; + reg = <0x12100000 0x100>; + clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>; + clock-names = "phy", "ref"; + samsung,pmu-syscon = <&pmu_system_controller>; + #phy-cells = <1>; + }; + + usbdrd3_1: usb@12400000 { + compatible = "samsung,exynos5250-dwusb3"; + clocks = <&clock CLK_USBD301>; + clock-names = "usbdrd30"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + dwc3 { + compatible = "snps,dwc3"; + reg = <0x12400000 0x10000>; + interrupts = <0 73 0>; + phys = <&usbdrd_phy1 0>, <&usbdrd_phy1 1>; + phy-names = "usb2-phy", "usb3-phy"; + }; + }; + + usbdrd_phy1: phy@12500000 { + compatible = "samsung,exynos5420-usbdrd-phy"; + reg = <0x12500000 0x100>; + clocks = <&clock CLK_USBD301>, <&clock CLK_SCLK_USBPHY301>; + clock-names = "phy", "ref"; + samsung,pmu-syscon = <&pmu_system_controller>; + #phy-cells = <1>; + }; }; diff --cc arch/arm/mach-exynos/firmware.c index aa01c4222b40,483dfcd69065..4135edbc0270 --- a/arch/arm/mach-exynos/firmware.c +++ b/arch/arm/mach-exynos/firmware.c @@@ -18,8 -18,7 +18,9 @@@ #include +#include + + #include "common.h" #include "smc.h" static int exynos_do_idle(void) @@@ -44,10 -35,12 +45,15 @@@ static int exynos_cpu_boot(int cpu static int exynos_set_cpu_boot_addr(int cpu, unsigned long boot_addr) { - void __iomem *boot_reg = S5P_VA_SYSRAM_NS + 0x1c; + void __iomem *boot_reg; + + if (!sysram_ns_base_addr) + return -ENODEV; + - boot_reg = sysram_ns_base_addr + 0x1c + 4*cpu; ++ boot_reg = sysram_ns_base_addr + 0x1c; + + if (!soc_is_exynos4212()) + boot_reg += 4*cpu; __raw_writel(boot_addr, boot_reg); return 0;