]> Git Repo - linux.git/commitdiff
Merge tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
authorOlof Johansson <[email protected]>
Thu, 22 May 2014 05:45:52 +0000 (22:45 -0700)
committerOlof Johansson <[email protected]>
Thu, 22 May 2014 05:45:52 +0000 (22:45 -0700)
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 <[email protected]>
1  2 
arch/arm/Kconfig
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/exynos5420-arndale-octa.dts
arch/arm/boot/dts/exynos5420.dtsi
arch/arm/mach-exynos/firmware.c

diff --combined arch/arm/Kconfig
index db3c5414223e7298346c6338665263d5f51c0e3c,19ffaaed971ec3c48df88987a925d4b200c1e583..8f417c20013fecaf24e71b931a3f3ac2f7ff4a6c
@@@ -30,9 -30,9 +30,9 @@@ config AR
        select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
        select HAVE_ARCH_TRACEHOOK
        select HAVE_BPF_JIT
 +      select HAVE_CC_STACKPROTECTOR
        select HAVE_CONTEXT_TRACKING
        select HAVE_C_RECORDMCOUNT
 -      select HAVE_CC_STACKPROTECTOR
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_API_DEBUG
        select HAVE_DMA_ATTRS
@@@ -311,7 -311,6 +311,7 @@@ config ARCH_MULTIPLATFOR
        select ARM_HAS_SG_CHAIN
        select ARM_PATCH_PHYS_VIRT
        select AUTO_ZRELADDR
 +      select CLKSRC_OF
        select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select MULTI_IRQ_HANDLER
@@@ -423,8 -422,8 +423,8 @@@ config ARCH_EFM3
        bool "Energy Micro efm32"
        depends on !MMU
        select ARCH_REQUIRE_GPIOLIB
 -      select AUTO_ZRELADDR
        select ARM_NVIC
 +      select AUTO_ZRELADDR
        select CLKSRC_OF
        select COMMON_CLK
        select CPU_V7M
@@@ -512,8 -511,8 +512,8 @@@ config ARCH_IXP4X
        bool "IXP4xx-based"
        depends on MMU
        select ARCH_HAS_DMA_SET_COHERENT_MASK
 -      select ARCH_SUPPORTS_BIG_ENDIAN
        select ARCH_REQUIRE_GPIOLIB
 +      select ARCH_SUPPORTS_BIG_ENDIAN
        select CLKSRC_MMIO
        select CPU_XSCALE
        select DMABOUNCE if PCI
@@@ -844,6 -843,7 +844,7 @@@ config ARCH_EXYNO
        select HAVE_S3C_RTC if RTC_CLASS
        select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
+       select SRAM
        select USE_OF
        help
          Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
@@@ -1111,9 -1111,9 +1112,9 @@@ config ARM_NR_BANK
        default 8
  
  config IWMMXT
 -      bool "Enable iWMMXt support" if !CPU_PJ4
 -      depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
 -      default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4
 +      bool "Enable iWMMXt support"
 +      depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B
 +      default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 || CPU_PJ4B
        help
          Enable support for iWMMXt context switching at run time if
          running on a CPU that supports it.
@@@ -1576,8 -1576,8 +1577,8 @@@ config BIG_LITTL
  config BL_SWITCHER
        bool "big.LITTLE switcher support"
        depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
 -      select CPU_PM
        select ARM_CPU_SUSPEND
 +      select CPU_PM
        help
          The big.LITTLE "switcher" provides the core functionality to
          transparently handle transition between a cluster of A15's
@@@ -1921,9 -1921,9 +1922,9 @@@ config XE
        depends on CPU_V7 && !CPU_V6
        depends on !GENERIC_ATOMIC64
        depends on MMU
 +      select ARCH_DMA_ADDR_T_64BIT
        select ARM_PSCI
        select SWIOTLB_XEN
 -      select ARCH_DMA_ADDR_T_64BIT
        help
          Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
  
index ff58faa97ff0028c595d661e8f89af3bcbf2381a,3220e2968352dc3bec9f5087985ca0662d22ab32..d6a9e728e5929945e6e21b9fae0ae8fabff8d12c
@@@ -51,9 -51,10 +51,9 @@@ dtb-$(CONFIG_ARCH_AT91)      += sama5d36ek.d
  
  dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
  dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
 +dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
  dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
        bcm21664-garnet.dtb
 -dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
 -dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
  dtb-$(CONFIG_ARCH_BERLIN) += \
        berlin2-sony-nsz-gs7.dtb        \
        berlin2cd-google-chromecast.dtb
@@@ -73,6 -74,7 +73,7 @@@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210
        exynos5250-smdk5250.dtb \
        exynos5250-snow.dtb \
        exynos5420-arndale-octa.dtb \
+       exynos5420-peach-pit.dtb \
        exynos5420-smdk5420.dtb \
        exynos5440-sd5v1.dtb \
        exynos5440-ssdk5440.dtb
@@@ -157,12 -159,10 +158,12 @@@ dtb-$(CONFIG_ARCH_MXC) += 
        imx27-phytec-phycard-s-rdk.dtb \
        imx31-bug.dtb \
        imx35-eukrea-mbimxsd35-baseboard.dtb \
 +      imx35-pdk.dtb \
        imx50-evk.dtb \
        imx51-apf51.dtb \
        imx51-apf51dev.dtb \
        imx51-babbage.dtb \
 +      imx51-digi-connectcore-jsk.dtb \
        imx51-eukrea-mbimxsd51-baseboard.dtb \
        imx53-ard.dtb \
        imx53-m53evk.dtb \
        imx6dl-gw54xx.dtb \
        imx6dl-hummingboard.dtb \
        imx6dl-nitrogen6x.dtb \
 +      imx6dl-phytec-pbab01.dtb \
 +      imx6dl-riotboard.dtb \
        imx6dl-sabreauto.dtb \
        imx6dl-sabrelite.dtb \
        imx6dl-sabresd.dtb \
        imx6q-udoo.dtb \
        imx6q-wandboard.dtb \
        imx6sl-evk.dtb \
 +      vf610-colibri.dtb \
        vf610-cosmic.dtb \
        vf610-twr.dtb
  dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
@@@ -250,7 -247,6 +251,7 @@@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap242
        omap3-sbc-t3730.dtb \
        omap3-devkit8000.dtb \
        omap3-beagle-xm.dtb \
 +      omap3-beagle-xm-ab.dtb \
        omap3-evm.dtb \
        omap3-evm-37xx.dtb \
        omap3-ldp.dtb \
@@@ -299,6 -295,13 +300,6 @@@ dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb
  dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \
        qcom-msm8960-cdp.dtb \
        qcom-apq8074-dragonboard.dtb
 -dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
 -      ste-hrefprev60-stuib.dtb \
 -      ste-hrefprev60-tvk.dtb \
 -      ste-hrefv60plus-stuib.dtb \
 -      ste-hrefv60plus-tvk.dtb \
 -      ste-ccu8540.dtb \
 -      ste-ccu9540.dtb
  dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
  dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
        s3c6410-smdk6410.dtb
@@@ -320,13 -323,11 +321,13 @@@ dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += e
        sh7372-mackerel.dtb
  dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \
        r7s72100-genmai-reference.dtb \
 +      r8a7791-henninger.dtb \
        r8a7791-koelsch.dtb \
        r8a7790-lager.dtb
  dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \
        socfpga_cyclone5_socdk.dtb \
        socfpga_cyclone5_sockit.dtb \
 +      socfpga_cyclone5_socrates.dtb \
        socfpga_vt.dtb
  dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
        spear1340-evb.dtb
@@@ -348,12 -349,9 +349,12 @@@ dtb-$(CONFIG_ARCH_SUNXI) += 
        sun4i-a10-olinuxino-lime.dtb \
        sun4i-a10-pcduino.dtb \
        sun5i-a10s-olinuxino-micro.dtb \
 +      sun5i-a10s-r7-tv-dongle.dtb \
        sun5i-a13-olinuxino.dtb \
        sun5i-a13-olinuxino-micro.dtb \
 +      sun6i-a31-app4-evb1.dtb \
        sun6i-a31-colombus.dtb \
 +      sun6i-a31-m9.dtb \
        sun7i-a20-cubieboard2.dtb \
        sun7i-a20-cubietruck.dtb \
        sun7i-a20-olinuxino-micro.dtb
@@@ -370,22 -368,11 +371,22 @@@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-har
        tegra30-beaver.dtb \
        tegra30-cardhu-a02.dtb \
        tegra30-cardhu-a04.dtb \
 +      tegra30-colibri-eval-v3.dtb \
        tegra114-dalmore.dtb \
 +      tegra114-roth.dtb \
 +      tegra114-tn7.dtb \
 +      tegra124-jetson-tk1.dtb \
        tegra124-venice2.dtb
 +dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
 +dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
 +      ste-hrefprev60-stuib.dtb \
 +      ste-hrefprev60-tvk.dtb \
 +      ste-hrefv60plus-stuib.dtb \
 +      ste-hrefv60plus-tvk.dtb \
 +      ste-ccu8540.dtb \
 +      ste-ccu9540.dtb
  dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
        versatile-pb.dtb
 -dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
  dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
        vexpress-v2p-ca9.dtb \
        vexpress-v2p-ca15-tc1.dtb \
index 896a2a6619e0a72aed8c0f474c721e8294a38a3d,35b932b16711e603efe9bddfcd4c863cdc852182..6ee8149fd5c4940c27c5ac74903ee5e964014822
                status = "okay";
        };
  
+       codec@11000000 {
+               samsung,mfc-r = <0x43000000 0x800000>;
+               samsung,mfc-l = <0x51000000 0x800000>;
+       };
        mmc@12200000 {
                status = "okay";
                broken-cd;
                        gpio-key,wakeup;
                };
        };
 -
 -      amba {
 -              mdma1: mdma@11C10000 {
 -                      /*
 -                       * MDMA1 can support both secure and non-secure
 -                       * AXI transactions. When this is enabled in the kernel
 -                       * for boards that run in secure mode, we are getting
 -                       * imprecise external aborts causing the kernel to oops.
 -                       */
 -                      status = "disabled";
 -              };
 -      };
  };
index 418f2506aaf04d6d54825e650c890670f36b3d99,c0436b8563c36d4aceb4a32a31a818f87e1ce0ad..9b6414a9e8a1448b70896cb7b004819cfe240603
@@@ -47,6 -47,8 +47,8 @@@
                spi0 = &spi_0;
                spi1 = &spi_1;
                spi2 = &spi_2;
+               usbdrdphy0 = &usbdrd_phy0;
+               usbdrdphy1 = &usbdrd_phy1;
        };
  
        cpus {
                };
        };
  
+       sysram@02020000 {
+               compatible = "mmio-sram";
+               reg = <0x02020000 0x54000>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges = <0 0x02020000 0x54000>;
+               smp-sysram@0 {
+                       compatible = "samsung,exynos4210-sysram";
+                       reg = <0x0 0x1000>;
+               };
+               smp-sysram@53000 {
+                       compatible = "samsung,exynos4210-sysram-ns";
+                       reg = <0x53000 0x1000>;
+               };
+       };
        clock: clock-controller@10010000 {
                compatible = "samsung,exynos5420-clock";
                reg = <0x10010000 0x30000>;
                clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in";
        };
  
-       codec@11000000 {
+       mfc: codec@11000000 {
                compatible = "samsung,mfc-v7";
                reg = <0x11000000 0x10000>;
                interrupts = <0 96 0>;
                clocks = <&clock CLK_MFC>;
                clock-names = "mfc";
+               samsung,power-domain = <&mfc_pd>;
        };
  
        mmc_0: mmc@12200000 {
                status = "disabled";
        };
  
-       mct@101C0000 {
+       mct: mct@101C0000 {
                compatible = "samsung,exynos4210-mct";
                reg = <0x101C0000 0x800>;
                interrupt-controller;
                reg = <0x100440C0 0x20>;
        };
  
 -      mau_pd: power-domain@100440E0 {
 -              compatible = "samsung,exynos4210-pd";
 -              reg = <0x100440E0 0x20>;
 -      };
 -
 -      g2d_pd: power-domain@10044100 {
 -              compatible = "samsung,exynos4210-pd";
 -              reg = <0x10044100 0x20>;
 -      };
 -
        msc_pd: power-domain@10044120 {
                compatible = "samsung,exynos4210-pd";
                reg = <0x10044120 0x20>;
                interrupts = <0 47 0>;
        };
  
-       rtc@101E0000 {
+       rtc: rtc@101E0000 {
                clocks = <&clock CLK_RTC>;
                clock-names = "rtc";
                status = "disabled";
                        #dma-cells = <1>;
                        #dma-channels = <8>;
                        #dma-requests = <1>;
 +                      /*
 +                       * MDMA1 can support both secure and non-secure
 +                       * AXI transactions. When this is enabled in the kernel
 +                       * for boards that run in secure mode, we are getting
 +                       * imprecise external aborts causing the kernel to oops.
 +                       */
 +                      status = "disabled";
                };
        };
  
                status = "disabled";
        };
  
-       serial@12C00000 {
+       uart_0: serial@12C00000 {
                clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
                clock-names = "uart", "clk_uart_baud0";
        };
  
-       serial@12C10000 {
+       uart_1: serial@12C10000 {
                clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
                clock-names = "uart", "clk_uart_baud0";
        };
  
-       serial@12C20000 {
+       uart_2: serial@12C20000 {
                clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
                clock-names = "uart", "clk_uart_baud0";
        };
  
-       serial@12C30000 {
+       uart_3: serial@12C30000 {
                clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
                clock-names = "uart", "clk_uart_baud0";
        };
                #phy-cells = <0>;
        };
  
-       dp-controller@145B0000 {
+       dp: dp-controller@145B0000 {
                clocks = <&clock CLK_DP1>;
                clock-names = "dp";
                phys = <&dp_phy>;
                phy-names = "dp";
        };
  
-       fimd@14400000 {
+       fimd: fimd@14400000 {
                samsung,power-domain = <&disp_pd>;
                clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
                clock-names = "sclk_fimd", "fimd";
                status = "disabled";
        };
  
-       hdmi@14530000 {
-               compatible = "samsung,exynos4212-hdmi";
+       hdmi: hdmi@14530000 {
+               compatible = "samsung,exynos5420-hdmi";
                reg = <0x14530000 0x70000>;
                interrupts = <0 95 0>;
                clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
                         <&clock CLK_MOUT_HDMI>;
                clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
                        "sclk_hdmiphy", "mout_hdmi";
+               phy = <&hdmiphy>;
                status = "disabled";
        };
  
-       mixer@14450000 {
+       hdmiphy: hdmiphy@145D0000 {
+               reg = <0x145D0000 0x20>;
+       };
+       mixer: mixer@14450000 {
                compatible = "samsung,exynos5420-mixer";
                reg = <0x14450000 0x10000>;
                interrupts = <0 94 0>;
                clock-names = "tmu_apbif", "tmu_triminfo_apbif";
        };
  
-         watchdog@101D0000 {
+         watchdog: watchdog@101D0000 {
                compatible = "samsung,exynos5420-wdt";
                reg = <0x101D0000 0x100>;
                interrupts = <0 42 0>;
                samsung,syscon-phandle = <&pmu_system_controller>;
          };
  
-       sss@10830000 {
+       sss: sss@10830000 {
                compatible = "samsung,exynos4210-secss";
                reg = <0x10830000 0x10000>;
                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>;
+       };
  };
index aa01c4222b40334db58a603cbcbee82f5f671d6b,483dfcd690650c54674584169b99ef00967964d0..4135edbc0270867a77c8772ec9d29a853b45cee1
@@@ -18,8 -18,7 +18,9 @@@
  
  #include <mach/map.h>
  
 +#include <plat/cpu.h>
 +
+ #include "common.h"
  #include "smc.h"
  
  static int exynos_do_idle(void)
  
  static int exynos_cpu_boot(int cpu)
  {
 +      /*
 +       * The second parameter of SMC_CMD_CPU1BOOT command means CPU id.
 +       * But, Exynos4212 has only one secondary CPU so second parameter
 +       * isn't used for informing secure firmware about CPU id.
 +       */
 +      if (soc_is_exynos4212())
 +              cpu = 0;
 +
        exynos_smc(SMC_CMD_CPU1BOOT, cpu, 0, 0);
        return 0;
  }
  
  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;
This page took 0.083321 seconds and 4 git commands to generate.