]> Git Repo - linux.git/commitdiff
Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <[email protected]>
Fri, 6 Sep 2013 20:26:27 +0000 (13:26 -0700)
committerLinus Torvalds <[email protected]>
Fri, 6 Sep 2013 20:26:27 +0000 (13:26 -0700)
Pull ARM SoC DT updates from Olof Johansson:
 "Device tree and bindings updates for 3.12.

  General additions of various on-chip and on-board peripherals on
  various platforms as support gets added.  Some of the bigger changes
  are:

   - Addition of (new) PCI-e support on Tegra.
   - More Tegra4 support, including PMC configuration for Dalmore.
   - Addition of a new board for Exynos4 (trats2) and more bindings for
     4x12 IP.
   - Addition of Allwinner A20 and A31 SoC and board files.
   - Move of the ST Ericsson device tree files to now use ste-* prefix.
   - More move of hardware description of shmobile platforms to DT.
   - Two new board dts files for Freescale MXs"

* tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (177 commits)
  dts: Rename DW APB timer compatible strings
  dts: Deprecate ALTR as a vendor prefix
  of: add vendor prefix for Altera Corp.
  ARM: at91/dt: sam9x5ek: add sound configuration
  ARM: at91/dt: sam9x5ek: enable SSC
  ARM: at91/dt: sam9x5ek: add WM8731 codec
  ARM: at91/dt: sam9x5: add SSC DMA parameters
  ARM: at91/dt: add at91rm9200 PQFP package version
  ARM: at91: at91rm9200: set default mmc0 pinctrl-names
  ARM: at91: at91sam9n12: correct pin number of gpio-key
  ARM: at91: at91sam9n12: add qt1070 support
  ARM: at91: at91sam9n12: add pinctrl of TWI
  ARM: at91: Add PMU support for sama5d3
  ARM: at91: at91sam9260: add missing pinctrl-names on mmc
  ARM: tegra: configure power off for Dalmore
  ARM: DT: binding fixup to align with vendor-prefixes.txt (DT)
  ARM: dts: add sdio blocks to bcm28155-ap board
  ARM: dts: align sdio numbers to HW definition
  ARM: sun7i: Add Olimex A20-Olinuxino-Micro support
  ARM: sun7i: Add Allwinner A20 DTSI
  ...

17 files changed:
1  2 
Documentation/devicetree/bindings/media/s5p-mfc.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm/boot/dts/at91sam9n12ek.dts
arch/arm/boot/dts/at91sam9x5ek.dtsi
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4x12.dtsi
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5420.dtsi
arch/arm/boot/dts/exynos5440.dtsi
arch/arm/boot/dts/tegra20-seaboard.dts
arch/arm/boot/dts/tegra20-trimslice.dts
arch/arm/boot/dts/tegra20-whistler.dts
arch/arm/boot/dts/tegra20.dtsi
arch/arm/mach-shmobile/board-armadillo800eva-reference.c
drivers/spi/spi-altera.c
drivers/tty/serial/altera_jtaguart.c
drivers/tty/serial/altera_uart.c

index 36bd2d6725c89f01f660e02b4fc82a0aff48c848,d75c3e589d439c98538fea45328df59e02c73571..f4181680831bfd24a16b11b2e9b7fdca9b83f2e2
@@@ -10,15 -10,14 +10,15 @@@ Required properties
    - compatible : value should be either one among the following
        (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs
        (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs
 +      (b) "samsung,mfc-v7" for MFC v7 present in Exynos5420 SoC
  
    - reg : Physical base address of the IP registers and length of memory
          mapped region.
  
    - interrupts : MFC interrupt number to the CPU.
-   - clocks : from common clock binding: handle to mfc clocks.
-   - clock-names : from common clock binding: must contain "sclk_mfc" and "mfc",
-                 corresponding to entries in the clocks property.
+   - clocks : from common clock binding: handle to mfc clock.
+   - clock-names : from common clock binding: must contain "mfc",
+                 corresponding to entry in the clocks property.
  
    - samsung,mfc-r : Base address of the first memory bank used by MFC
                    for DMA contiguous memory allocation and its size.
@@@ -38,8 -37,8 +38,8 @@@ mfc: codec@13400000 
        reg = <0x13400000 0x10000>;
        interrupts = <0 94 0>;
        samsung,power-domain = <&pd_mfc>;
-       clocks = <&clock 170>, <&clock 273>;
-       clock-names = "sclk_mfc", "mfc";
+       clocks = <&clock 273>;
+       clock-names = "mfc";
  };
  
  Board specific DT entry:
index ec4d713674fa42411a25bf95b2be6bbb08fe026c,ea95767cfed3f22d27d7d477a047a30d41d21aa6..b571560ed5f956f05da7edf425b2c3529023cda1
@@@ -7,11 -7,11 +7,12 @@@ ad    Avionic Design Gmb
  adi   Analog Devices, Inc.
  aeroflexgaisler       Aeroflex Gaisler AB
  ak    Asahi Kasei Corp.
+ altr  Altera Corp.
  amcc  Applied Micro Circuits Corporation (APM, formally AMCC)
  apm   Applied Micro Circuits Corporation (APM)
  arm   ARM Ltd.
  atmel Atmel Corporation
 +avago Avago Technologies
  bosch Bosch Sensortec GmbH
  brcm  Broadcom Corporation
  cavium        Cavium, Inc.
index 3d77dbe406f4736aacb7a1d361f4f02758225aa0,3e86b05bb13680c7f26f09fff6244cdca7560296..27a9352b9d7a02e047303a2fb72bb47a5ec9f0c8
        compatible = "atmel,at91sam9n12ek", "atmel,at91sam9n12", "atmel,at91sam9";
  
        chosen {
 -              bootargs = "mem=128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
 +              bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2";
        };
  
        memory {
 -              reg = <0x20000000 0x10000000>;
 +              reg = <0x20000000 0x8000000>;
        };
  
        clocks {
  
                        i2c0: i2c@f8010000 {
                                status = "okay";
+                               qt1070: keyboard@1b {
+                                       compatible = "qt1070";
+                                       reg = <0x1b>;
+                                       interrupt-parent = <&pioA>;
+                                       interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+                                       pinctrl-names = "default";
+                                       pinctrl-0 = <&pinctrl_qt1070_irq>;
+                               };
                        };
  
                        i2c1: i2c@f8014000 {
                                                        <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;   /* PA7 gpio CD pin pull up and deglitch */
                                        };
                                };
+                               qt1070 {
+                                       pinctrl_qt1070_irq: qt1070_irq {
+                                               atmel,pins =
+                                                       <AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
+                                       };
+                               };
                        };
  
                        spi0: spi@f0000000 {
  
                enter {
                        label = "Enter";
-                       gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
+                       gpios = <&pioB 3 GPIO_ACTIVE_LOW>;
                        linux,code = <28>;
                        gpio-key,wakeup;
                };
index 49e3c45818c236caf750fe5f42137b963f0eb7c2,5c404226a3d65609304ee4b901ffacc26d3da09f..3a9f6fa4a36ad749563dec54735c186fa582fa51
  
                        i2c0: i2c@f8010000 {
                                status = "okay";
+                               wm8731: wm8731@1a {
+                                       compatible = "wm8731";
+                                       reg = <0x1a>;
+                               };
                        };
  
                        pinctrl@fffff400 {
                        watchdog@fffffe40 {
                                status = "okay";
                        };
+                       ssc0: ssc@f0010000 {
+                               status = "okay";
+                       };
                };
  
                usb0: ohci@00600000 {
                        status = "okay";
 -                      num-ports = <2>;
 -                      atmel,vbus-gpio = <&pioD 19 GPIO_ACTIVE_LOW
 +                      num-ports = <3>;
 +                      atmel,vbus-gpio = <0 /* &pioD 18 GPIO_ACTIVE_LOW *//* Activate to have access to port A */
 +                                         &pioD 19 GPIO_ACTIVE_LOW
                                           &pioD 20 GPIO_ACTIVE_LOW
                                          >;
                };
                        status = "okay";
                };
        };
+       sound {
+               compatible = "atmel,sam9x5-wm8731-audio";
+               atmel,model = "wm8731 @ AT91SAM9X5EK";
+               atmel,audio-routing =
+                       "Headphone Jack", "RHPOUT",
+                       "Headphone Jack", "LHPOUT",
+                       "LLINEIN", "Line In Jack",
+                       "RLINEIN", "Line In Jack";
+               atmel,ssc-controller = <&ssc0>;
+               atmel,audio-codec = <&wm8731>;
+       };
  };
index 53e25273ca748c039a62e6bcad3f3904b7860161,ef8c2a5d2d7f6b409fd4ff4adaf6fc89e82a05b3..057d6829d31998632a350ad3fd22a4a7bc639a18
@@@ -72,7 -72,7 +72,7 @@@
                };
        };
  
 -      clock: clock-controller@0x10030000 {
 +      clock: clock-controller@10030000 {
                compatible = "samsung,exynos4210-clock";
                reg = <0x10030000 0x20000>;
                #clock-cells = <1>;
                clock-names = "sclk_fimg2d", "fimg2d";
                status = "disabled";
        };
+       camera {
+               clocks = <&clock 132>, <&clock 133>, <&clock 351>, <&clock 352>;
+               clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
+               fimc_0: fimc@11800000 {
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,cam-if;
+               };
+               fimc_1: fimc@11810000 {
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,cam-if;
+               };
+               fimc_2: fimc@11820000 {
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,lcd-wb;
+               };
+               fimc_3: fimc@11830000 {
+                       samsung,pix-limits = <1920 8192 1366 1920>;
+                       samsung,rotators = <0>;
+                       samsung,mainscaler-ext;
+                       samsung,lcd-wb;
+               };
+       };
  };
index 3aa2f060ba618770e13949e14ee3aed31eecb3ce,954628c7f167d11a23c8cd4df8521c88f46383a2..ad531fe6ab9528fdfcca50635bc4c833651db15b
                pinctrl1 = &pinctrl_1;
                pinctrl2 = &pinctrl_2;
                pinctrl3 = &pinctrl_3;
+               fimc-lite0 = &fimc_lite_0;
+               fimc-lite1 = &fimc_lite_1;
+       };
+       pd_isp: isp-power-domain@10023CA0 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10023CA0 0x20>;
        };
  
 -      clock: clock-controller@0x10030000 {
 +      clock: clock-controller@10030000 {
                compatible = "samsung,exynos4412-clock";
                reg = <0x10030000 0x20000>;
                #clock-cells = <1>;
                clock-names = "sclk_fimg2d", "fimg2d";
                status = "disabled";
        };
+       camera {
+               clocks = <&clock 132>, <&clock 133>, <&clock 351>, <&clock 352>;
+               clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
+               fimc_0: fimc@11800000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,cam-if;
+               };
+               fimc_1: fimc@11810000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,cam-if;
+               };
+               fimc_2: fimc@11820000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <4224 8192 1920 4224>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,lcd-wb;
+                       samsung,cam-if;
+               };
+               fimc_3: fimc@11830000 {
+                       compatible = "samsung,exynos4212-fimc";
+                       samsung,pix-limits = <1920 8192 1366 1920>;
+                       samsung,rotators = <0>;
+                       samsung,mainscaler-ext;
+                       samsung,isp-wb;
+                       samsung,lcd-wb;
+               };
+               fimc_lite_0: fimc-lite@12390000 {
+                       compatible = "samsung,exynos4212-fimc-lite";
+                       reg = <0x12390000 0x1000>;
+                       interrupts = <0 105 0>;
+                       samsung,power-domain = <&pd_isp>;
+                       clocks = <&clock 353>;
+                       clock-names = "flite";
+                       status = "disabled";
+               };
+               fimc_lite_1: fimc-lite@123A0000 {
+                       compatible = "samsung,exynos4212-fimc-lite";
+                       reg = <0x123A0000 0x1000>;
+                       interrupts = <0 106 0>;
+                       samsung,power-domain = <&pd_isp>;
+                       clocks = <&clock 354>;
+                       clock-names = "flite";
+                       status = "disabled";
+               };
+               fimc_is: fimc-is@12000000 {
+                       compatible = "samsung,exynos4212-fimc-is", "simple-bus";
+                       reg = <0x12000000 0x260000>;
+                       interrupts = <0 90 0>, <0 95 0>;
+                       samsung,power-domain = <&pd_isp>;
+                       clocks = <&clock 353>, <&clock 354>, <&clock 355>,
+                               <&clock 356>, <&clock 17>, <&clock 357>,
+                               <&clock 358>, <&clock 359>, <&clock 360>,
+                               <&clock 450>,<&clock 451>, <&clock 452>,
+                               <&clock 453>, <&clock 176>, <&clock 13>,
+                               <&clock 454>, <&clock 395>, <&clock 455>;
+                       clock-names = "lite0", "lite1", "ppmuispx",
+                                     "ppmuispmx", "mpll", "isp",
+                                     "drc", "fd", "mcuisp",
+                                     "ispdiv0", "ispdiv1", "mcuispdiv0",
+                                     "mcuispdiv1", "uart", "aclk200",
+                                     "div_aclk200", "aclk400mcuisp",
+                                     "div_aclk400mcuisp";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+                       status = "disabled";
+                       pmu {
+                               reg = <0x10020000 0x3000>;
+                       };
+                       i2c1_isp: i2c-isp@12140000 {
+                               compatible = "samsung,exynos4212-i2c-isp";
+                               reg = <0x12140000 0x100>;
+                               clocks = <&clock 370>;
+                               clock-names = "i2c_isp";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+       };
  };
index f2dfa6b1f1a103cc6aabf3d0a6a3cc5fc89f4d27,63ef1246b9d54c27c7523574038ca110d462d367..f7e2d3493f82d556fd66b88fd6bc6a3549300b5e
                };
        };
  
 -      pd_gsc: gsc-power-domain@0x10044000 {
 +      pd_gsc: gsc-power-domain@10044000 {
                compatible = "samsung,exynos4210-pd";
                reg = <0x10044000 0x20>;
        };
  
 -      pd_mfc: mfc-power-domain@0x10044040 {
 +      pd_mfc: mfc-power-domain@10044040 {
                compatible = "samsung,exynos4210-pd";
                reg = <0x10044040 0x20>;
        };
  
 -      clock: clock-controller@0x10010000 {
 +      clock: clock-controller@10010000 {
                compatible = "samsung,exynos5250-clock";
                reg = <0x10010000 0x30000>;
                #clock-cells = <1>;
                clock-names = "watchdog";
        };
  
+       g2d@10850000 {
+               compatible = "samsung,exynos5250-g2d";
+               reg = <0x10850000 0x1000>;
+               interrupts = <0 91 0>;
+               clocks = <&clock 345>;
+               clock-names = "fimg2d";
+       };
        codec@11000000 {
                compatible = "samsung,mfc-v6";
                reg = <0x11000000 0x10000>;
                interrupts = <0 96 0>;
                samsung,power-domain = <&pd_mfc>;
+               clocks = <&clock 266>;
+               clock-names = "mfc";
        };
  
        rtc {
        };
  
        i2s0: i2s@03830000 {
 -              compatible = "samsung,i2s-v5";
 +              compatible = "samsung,s5pv210-i2s";
                reg = <0x03830000 0x100>;
                dmas = <&pdma0 10
                        &pdma0 9
                        <&clock_audss EXYNOS_I2S_BUS>,
                        <&clock_audss EXYNOS_SCLK_I2S>;
                clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
 -              samsung,supports-6ch;
 -              samsung,supports-rstclr;
 -              samsung,supports-secdai;
                samsung,idma-addr = <0x03000000>;
                pinctrl-names = "default";
                pinctrl-0 = <&i2s0_bus>;
        };
  
        i2s1: i2s@12D60000 {
 -              compatible = "samsung,i2s-v5";
 +              compatible = "samsung,s3c6410-i2s";
                reg = <0x12D60000 0x100>;
                dmas = <&pdma1 12
                        &pdma1 11>;
        };
  
        i2s2: i2s@12D70000 {
 -              compatible = "samsung,i2s-v5";
 +              compatible = "samsung,s3c6410-i2s";
                reg = <0x12D70000 0x100>;
                dmas = <&pdma0 12
                        &pdma0 11>;
                };
        };
  
 -      gsc_0:  gsc@0x13e00000 {
 +      gsc_0:  gsc@13e00000 {
                compatible = "samsung,exynos5-gsc";
                reg = <0x13e00000 0x1000>;
                interrupts = <0 85 0>;
                clock-names = "gscl";
        };
  
 -      gsc_1:  gsc@0x13e10000 {
 +      gsc_1:  gsc@13e10000 {
                compatible = "samsung,exynos5-gsc";
                reg = <0x13e10000 0x1000>;
                interrupts = <0 86 0>;
                clock-names = "gscl";
        };
  
 -      gsc_2:  gsc@0x13e20000 {
 +      gsc_2:  gsc@13e20000 {
                compatible = "samsung,exynos5-gsc";
                reg = <0x13e20000 0x1000>;
                interrupts = <0 87 0>;
                clock-names = "gscl";
        };
  
 -      gsc_3:  gsc@0x13e30000 {
 +      gsc_3:  gsc@13e30000 {
                compatible = "samsung,exynos5-gsc";
                reg = <0x13e30000 0x1000>;
                interrupts = <0 88 0>;
                interrupts = <0 94 0>;
        };
  
-       dp-controller {
-               compatible = "samsung,exynos5-dp";
-               reg = <0x145b0000 0x1000>;
-               interrupts = <10 3>;
-               interrupt-parent = <&combiner>;
+       dp_phy: video-phy@10040720 {
+               compatible = "samsung,exynos5250-dp-video-phy";
+               reg = <0x10040720 4>;
+               #phy-cells = <0>;
+       };
+       dp-controller@145B0000 {
                clocks = <&clock 342>;
                clock-names = "dp";
-               #address-cells = <1>;
-               #size-cells = <0>;
-               dptx-phy {
-                       reg = <0x10040720>;
-                       samsung,enable-mask = <1>;
-               };
+               phys = <&dp_phy>;
+               phy-names = "dp";
        };
  
-       fimd {
-               compatible = "samsung,exynos5250-fimd";
-               interrupt-parent = <&combiner>;
-               reg = <0x14400000 0x40000>;
-               interrupt-names = "fifo", "vsync", "lcd_sys";
-               interrupts = <18 4>, <18 5>, <18 6>;
+       fimd@14400000 {
                clocks = <&clock 133>, <&clock 339>;
                clock-names = "sclk_fimd", "fimd";
        };
index 9e90d1ec0c28f96bfd4d1b986bbe5624a1b94c4f,c950bad5f34107f4062ec0d40138e40c4c3cf27d..5353e32897a444a4f5d13a0bc7174c49fdcf4fca
   */
  
  #include "exynos5.dtsi"
- /include/ "exynos5420-pinctrl.dtsi"
+ #include "exynos5420-pinctrl.dtsi"
+ #include <dt-bindings/clk/exynos-audss-clk.h>
  / {
        compatible = "samsung,exynos5420";
  
                };
        };
  
 -      clock: clock-controller@0x10010000 {
 +      clock: clock-controller@10010000 {
                compatible = "samsung,exynos5420-clock";
                reg = <0x10010000 0x30000>;
                #clock-cells = <1>;
        };
  
+       clock_audss: audss-clock-controller@3810000 {
+               compatible = "samsung,exynos5420-audss-clock";
+               reg = <0x03810000 0x0C>;
+               #clock-cells = <1>;
+               clocks = <&clock 148>;
+               clock-names = "sclk_audio";
+       };
+       codec@11000000 {
+               compatible = "samsung,mfc-v7";
+               reg = <0x11000000 0x10000>;
+               interrupts = <0 96 0>;
+               clocks = <&clock 401>;
+               clock-names = "mfc";
+       };
        mct@101C0000 {
                compatible = "samsung,exynos4210-mct";
                reg = <0x101C0000 0x800>;
                };
        };
  
+       gsc_pd: power-domain@10044000 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044000 0x20>;
+       };
+       isp_pd: power-domain@10044020 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044020 0x20>;
+       };
+       mfc_pd: power-domain@10044060 {
+               compatible = "samsung,exynos4210-pd";
+               reg = <0x10044060 0x20>;
+       };
+       disp_pd: power-domain@100440C0 {
+               compatible = "samsung,exynos4210-pd";
+               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>;
+       };
        pinctrl_0: pinctrl@13400000 {
                compatible = "samsung,exynos5420-pinctrl";
                reg = <0x13400000 0x1000>;
                clocks = <&clock 260>, <&clock 131>;
                clock-names = "uart", "clk_uart_baud0";
        };
+       dp_phy: video-phy@10040728 {
+               compatible = "samsung,exynos5250-dp-video-phy";
+               reg = <0x10040728 4>;
+               #phy-cells = <0>;
+       };
+       dp-controller@145B0000 {
+               clocks = <&clock 412>;
+               clock-names = "dp";
+               phys = <&dp_phy>;
+               phy-names = "dp";
+       };
+       fimd@14400000 {
+               samsung,power-domain = <&disp_pd>;
+               clocks = <&clock 147>, <&clock 421>;
+               clock-names = "sclk_fimd", "fimd";
+       };
  };
index 1b81f36896bcd29538683d5e6a382a2879830fb7,606da5f3926907a1d5b713d8802b9ee8f2642741..5d6cf4965d6eb3c7db9b2b4f8d4724e2824d2b0d
  
        aliases {
                spi0 = &spi_0;
+               tmuctrl0 = &tmuctrl_0;
+               tmuctrl1 = &tmuctrl_1;
+               tmuctrl2 = &tmuctrl_2;
        };
  
 -      clock: clock-controller@0x160000 {
 +      clock: clock-controller@160000 {
                compatible = "samsung,exynos5440-clock";
                reg = <0x160000 0x1000>;
                #clock-cells = <1>;
                clock-names = "rtc";
        };
  
+       tmuctrl_0: tmuctrl@160118 {
+               compatible = "samsung,exynos5440-tmu";
+               reg = <0x160118 0x230>, <0x160368 0x10>;
+               interrupts = <0 58 0>;
+               clocks = <&clock 21>;
+               clock-names = "tmu_apbif";
+       };
+       tmuctrl_1: tmuctrl@16011C {
+               compatible = "samsung,exynos5440-tmu";
+               reg = <0x16011C 0x230>, <0x160368 0x10>;
+               interrupts = <0 58 0>;
+               clocks = <&clock 21>;
+               clock-names = "tmu_apbif";
+       };
+       tmuctrl_2: tmuctrl@160120 {
+               compatible = "samsung,exynos5440-tmu";
+               reg = <0x160120 0x230>, <0x160368 0x10>;
+               interrupts = <0 58 0>;
+               clocks = <&clock 21>;
+               clock-names = "tmu_apbif";
+       };
        sata@210000 {
                compatible = "snps,exynos5440-ahci";
                reg = <0x210000 0x10000>;
                #interrupt-cells = <1>;
                interrupt-map-mask = <0 0 0 0>;
                interrupt-map = <0x0 0 &gic 53>;
 +              num-lanes = <4>;
        };
  
        pcie@2a0000 {
                #interrupt-cells = <1>;
                interrupt-map-mask = <0 0 0 0>;
                interrupt-map = <0x0 0 &gic 56>;
 +              num-lanes = <4>;
        };
  };
index c8242533268fbeaadd7ef33a516b8862fd543f6c,f44a9b8e23bf8c9497bd8b59958ac1db85b8840d..315aae26c3cdb1e2ed84f741e8669cfadf870524
  
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
  
        usb@c5000000 {
                status = "okay";
 -              nvidia,vbus-gpio = <&gpio TEGRA_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
                dr_mode = "otg";
        };
  
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
-                       gpio = <&gpio 24 0>; /* PD0 */
+                       gpio = <&gpio TEGRA_GPIO(D, 0) 0>;
 +                      regulator-always-on;
 +                      regulator-boot-on;
                };
        };
  
index 1e9d33adb925172a939fed343dbd7b9d2246ce41,22e227f87e4c19fd3dd9499c45ec25b2a7d7f6d1..78deea5c0d217342979e1940cdaa912f9d53696a
        };
  
        pmc {
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <5000>;
                nvidia,cpu-pwr-off-time = <5000>;
                nvidia,core-pwr-good-time = <3845 3845>;
                nvidia,sys-clock-req-active-high;
        };
  
+       pcie-controller {
+               status = "okay";
+               pex-clk-supply = <&pci_clk_reg>;
+               vdd-supply = <&pci_vdd_reg>;
+               pci@1,0 {
+                       status = "okay";
+               };
+       };
        usb@c5000000 {
                status = "okay";
 -              nvidia,vbus-gpio = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
        };
  
        usb-phy@c5000000 {
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
-                       gpio = <&gpio 170 0>; /* PV2 */
+                       gpio = <&gpio TEGRA_GPIO(V, 2) 0>;
 +                      regulator-always-on;
 +                      regulator-boot-on;
                };
+               pci_clk_reg: regulator@3 {
+                       compatible = "regulator-fixed";
+                       reg = <3>;
+                       regulator-name = "pci_clk";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+               pci_vdd_reg: regulator@4 {
+                       compatible = "regulator-fixed";
+                       reg = <4>;
+                       regulator-name = "pci_vdd";
+                       regulator-min-microvolt = <1050000>;
+                       regulator-max-microvolt = <1050000>;
+                       regulator-always-on;
+               };
        };
  
        sound {
index c703197dca6ed189776910235486323f4a26e2e3,3899cae2eacde941ac40339e4e121ac8509615d5..d33a73cf167c42b295b5b8252608176888759875
  
        pmc {
                nvidia,invert-interrupt;
-               nvidia,suspend-mode = <2>;
+               nvidia,suspend-mode = <1>;
                nvidia,cpu-pwr-good-time = <2000>;
                nvidia,cpu-pwr-off-time = <1000>;
                nvidia,core-pwr-good-time = <0 3845>;
  
        usb@c5000000 {
                status = "okay";
 -              nvidia,vbus-gpio = <&tca6416 0 GPIO_ACTIVE_HIGH>;
        };
  
        usb-phy@c5000000 {
  
        usb@c5008000 {
                status = "okay";
 -              nvidia,vbus-gpio = <&tca6416 1 GPIO_ACTIVE_HIGH>;
        };
  
        usb-phy@c5008000 {
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
                        gpio = <&tca6416 0 0>; /* GPIO_PMU0 */
 +                      regulator-always-on;
 +                      regulator-boot-on;
                };
  
                vbus3_reg: regulator@3 {
                        regulator-max-microvolt = <5000000>;
                        enable-active-high;
                        gpio = <&tca6416 1 0>; /* GPIO_PMU1 */
 +                      regulator-always-on;
 +                      regulator-boot-on;
                };
        };
  
index e4570834512e5f874d983d86fbb4dc011981bd13,3add9ac252d78363473618f21fdf5e0ee3225ace..df40b54fd8bca58eeeb610d6a5c755d4fec51aae
                #size-cells = <0>;
        };
  
+       pcie-controller {
+               compatible = "nvidia,tegra20-pcie";
+               device_type = "pci";
+               reg = <0x80003000 0x00000800   /* PADS registers */
+                      0x80003800 0x00000200   /* AFI registers */
+                      0x90000000 0x10000000>; /* configuration space */
+               reg-names = "pads", "afi", "cs";
+               interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH   /* controller interrupt */
+                             GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
+               interrupt-names = "intr", "msi";
+               bus-range = <0x00 0xff>;
+               #address-cells = <3>;
+               #size-cells = <2>;
+               ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000   /* port 0 registers */
+                         0x82000000 0 0x80001000 0x80001000 0 0x00001000   /* port 1 registers */
+                         0x81000000 0 0          0x82000000 0 0x00010000   /* downstream I/O */
+                         0x82000000 0 0xa0000000 0xa0000000 0 0x08000000   /* non-prefetchable memory */
+                         0xc2000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
+               clocks = <&tegra_car TEGRA20_CLK_PEX>,
+                        <&tegra_car TEGRA20_CLK_AFI>,
+                        <&tegra_car TEGRA20_CLK_PCIE_XCLK>,
+                        <&tegra_car TEGRA20_CLK_PLL_E>;
+               clock-names = "pex", "afi", "pcie_xclk", "pll_e";
+               status = "disabled";
+               pci@1,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
+                       reg = <0x000800 0 0 0 0>;
+                       status = "disabled";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+                       nvidia,num-lanes = <2>;
+               };
+               pci@2,0 {
+                       device_type = "pci";
+                       assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
+                       reg = <0x001000 0 0 0 0>;
+                       status = "disabled";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges;
+                       nvidia,num-lanes = <2>;
+               };
+       };
        usb@c5000000 {
                compatible = "nvidia,tegra20-ehci", "usb-ehci";
                reg = <0xc5000000 0x4000>;
                         <&tegra_car TEGRA20_CLK_USBD>;
                clock-names = "reg", "pll_u", "timer", "utmi-pads";
                nvidia,has-legacy-mode;
 -              hssync_start_delay = <9>;
 -              idle_wait_delay = <17>;
 -              elastic_limit = <16>;
 -              term_range_adj = <6>;
 -              xcvr_setup = <9>;
 -              xcvr_lsfslew = <1>;
 -              xcvr_lsrslew = <1>;
 +              nvidia,hssync-start-delay = <9>;
 +              nvidia,idle-wait-delay = <17>;
 +              nvidia,elastic-limit = <16>;
 +              nvidia,term-range-adj = <6>;
 +              nvidia,xcvr-setup = <9>;
 +              nvidia,xcvr-lsfslew = <1>;
 +              nvidia,xcvr-lsrslew = <1>;
                status = "disabled";
        };
  
                         <&tegra_car TEGRA20_CLK_CLK_M>,
                         <&tegra_car TEGRA20_CLK_USBD>;
                clock-names = "reg", "pll_u", "timer", "utmi-pads";
 -              hssync_start_delay = <9>;
 -              idle_wait_delay = <17>;
 -              elastic_limit = <16>;
 -              term_range_adj = <6>;
 -              xcvr_setup = <9>;
 -              xcvr_lsfslew = <2>;
 -              xcvr_lsrslew = <2>;
 +              nvidia,hssync-start-delay = <9>;
 +              nvidia,idle-wait-delay = <17>;
 +              nvidia,elastic-limit = <16>;
 +              nvidia,term-range-adj = <6>;
 +              nvidia,xcvr-setup = <9>;
 +              nvidia,xcvr-lsfslew = <2>;
 +              nvidia,xcvr-lsrslew = <2>;
                status = "disabled";
        };
  
index 8f677df2d4c4d997a08f901f5043423f2e0b30e9,002d8d3d0fc5e2b3dc3a7596d8d956aba3e4e45a..fd2446d995adfb66f1257ae711461b8de90f705e
@@@ -24,7 -24,6 +24,6 @@@
  #include <linux/kernel.h>
  #include <linux/gpio.h>
  #include <linux/io.h>
- #include <linux/pinctrl/machine.h>
  #include <mach/common.h>
  #include <mach/r8a7740.h>
  #include <asm/mach/arch.h>
   *    usbhsf_power_ctrl()
   */
  
- static const struct pinctrl_map eva_pinctrl_map[] = {
-       /* SCIFA1 */
-       PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.1", "pfc-r8a7740",
-                                 "scifa1_data", "scifa1"),
- };
  static void __init eva_clock_init(void)
  {
        struct clk *system      = clk_get(NULL, "system_clk");
@@@ -165,35 -158,26 +158,26 @@@ clock_error
   */
  static void __init eva_init(void)
  {
        r8a7740_clock_init(MD_CK0 | MD_CK2);
        eva_clock_init();
  
-       pinctrl_register_mappings(eva_pinctrl_map, ARRAY_SIZE(eva_pinctrl_map));
-       r8a7740_pinmux_init();
        r8a7740_meram_workaround();
  
-       /*
-        * Touchscreen
-        * TODO: Move reset GPIO over to .dts when we can reference it
-        */
-       gpio_request_one(166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */
  #ifdef CONFIG_CACHE_L2X0
        /* Early BRESP enable, Shared attribute override enable, 32K*8way */
        l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff);
  #endif
  
        r8a7740_add_standard_devices_dt();
        r8a7740_pm_init();
  }
  
  #define RESCNT2 IOMEM(0xe6188020)
 -static void eva_restart(char mode, const char *cmd)
 +static void eva_restart(enum reboot_mode mode, const char *cmd)
  {
        /* Do soft power on reset */
 -      writel((1 << 31), RESCNT2);
 +      writel(1 << 31, RESCNT2);
  }
  
  static const char *eva_boards_compat_dt[] __initdata = {
diff --combined drivers/spi/spi-altera.c
index f38855f7653622d742127c7ff6af7223b4c5ee91,7456eef201a6f9c508c40f2fa08199dfe5891f44..9a64c3fee218b152cb40365ea7f6bf1b4f7e39e7
@@@ -103,6 -103,16 +103,6 @@@ static void altera_spi_chipsel(struct s
        }
  }
  
 -static int altera_spi_setupxfer(struct spi_device *spi, struct spi_transfer *t)
 -{
 -      return 0;
 -}
 -
 -static int altera_spi_setup(struct spi_device *spi)
 -{
 -      return 0;
 -}
 -
  static inline unsigned int hw_txbyte(struct altera_spi *hw, int count)
  {
        if (hw->tx) {
@@@ -124,7 -134,7 +124,7 @@@ static int altera_spi_txrx(struct spi_d
        hw->tx = t->tx_buf;
        hw->rx = t->rx_buf;
        hw->count = 0;
 -      hw->bytes_per_word = t->bits_per_word / 8;
 +      hw->bytes_per_word = DIV_ROUND_UP(t->bits_per_word, 8);
        hw->len = t->len / hw->bytes_per_word;
  
        if (hw->irq >= 0) {
                hw->imr &= ~ALTERA_SPI_CONTROL_IRRDY_MSK;
                writel(hw->imr, hw->base + ALTERA_SPI_CONTROL);
        } else {
 -              /* send the first byte */
 -              writel(hw_txbyte(hw, 0), hw->base + ALTERA_SPI_TXDATA);
 -
 -              while (1) {
 +              while (hw->count < hw->len) {
                        unsigned int rxd;
  
 +                      writel(hw_txbyte(hw, hw->count),
 +                             hw->base + ALTERA_SPI_TXDATA);
 +
                        while (!(readl(hw->base + ALTERA_SPI_STATUS) &
                                 ALTERA_SPI_STATUS_RRDY_MSK))
                                cpu_relax();
                        }
  
                        hw->count++;
 -
 -                      if (hw->count < hw->len)
 -                              writel(hw_txbyte(hw, hw->count),
 -                                     hw->base + ALTERA_SPI_TXDATA);
 -                      else
 -                              break;
                }
 -
        }
  
        return hw->count * hw->bytes_per_word;
@@@ -200,7 -217,7 +200,7 @@@ static irqreturn_t altera_spi_irq(int i
  
  static int altera_spi_probe(struct platform_device *pdev)
  {
 -      struct altera_spi_platform_data *platp = pdev->dev.platform_data;
 +      struct altera_spi_platform_data *platp = dev_get_platdata(&pdev->dev);
        struct altera_spi *hw;
        struct spi_master *master;
        struct resource *res;
        master->bus_num = pdev->id;
        master->num_chipselect = 16;
        master->mode_bits = SPI_CS_HIGH;
 -      master->setup = altera_spi_setup;
  
        hw = spi_master_get_devdata(master);
        platform_set_drvdata(pdev, hw);
        hw->bitbang.master = spi_master_get(master);
        if (!hw->bitbang.master)
                return err;
 -      hw->bitbang.setup_transfer = altera_spi_setupxfer;
        hw->bitbang.chipselect = altera_spi_chipsel;
        hw->bitbang.txrx_bufs = altera_spi_txrx;
  
        /* find and map our resources */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 -      if (!res)
 -              goto exit_busy;
 -      if (!devm_request_mem_region(&pdev->dev, res->start, resource_size(res),
 -                                   pdev->name))
 -              goto exit_busy;
 -      hw->base = devm_ioremap_nocache(&pdev->dev, res->start,
 -                                      resource_size(res));
 -      if (!hw->base)
 -              goto exit_busy;
 +      hw->base = devm_ioremap_resource(&pdev->dev, res);
 +      if (IS_ERR(hw->base)) {
 +              err = PTR_ERR(hw->base);
 +              goto exit;
 +      }
        /* program defaults into the registers */
        hw->imr = 0;            /* disable spi interrupts */
        writel(hw->imr, hw->base + ALTERA_SPI_CONTROL);
        dev_info(&pdev->dev, "base %p, irq %d\n", hw->base, hw->irq);
  
        return 0;
 -
 -exit_busy:
 -      err = -EBUSY;
  exit:
        spi_master_put(master);
        return err;
@@@ -276,6 -302,7 +276,7 @@@ static int altera_spi_remove(struct pla
  #ifdef CONFIG_OF
  static const struct of_device_id altera_spi_match[] = {
        { .compatible = "ALTR,spi-1.0", },
+       { .compatible = "altr,spi-1.0", },
        {},
  };
  MODULE_DEVICE_TABLE(of, altera_spi_match);
index 18e038fbdcdc3331332b0f936e9852d799ef45d8,dbc7f121162f67737a254b02fa71a39efe7d41ad..59b3da9bcc3f031c922ffd16f7321ed727e53ade
@@@ -139,9 -139,7 +139,9 @@@ static void altera_jtaguart_rx_chars(st
                uart_insert_char(port, 0, 0, ch, flag);
        }
  
 +      spin_unlock(&port->lock);
        tty_flip_buffer_push(&port->state->port);
 +      spin_lock(&port->lock);
  }
  
  static void altera_jtaguart_tx_chars(struct altera_jtaguart *pp)
@@@ -410,8 -408,7 +410,8 @@@ static struct uart_driver altera_jtagua
  
  static int altera_jtaguart_probe(struct platform_device *pdev)
  {
 -      struct altera_jtaguart_platform_uart *platp = pdev->dev.platform_data;
 +      struct altera_jtaguart_platform_uart *platp =
 +                      dev_get_platdata(&pdev->dev);
        struct uart_port *port;
        struct resource *res_irq, *res_mem;
        int i = pdev->id;
@@@ -473,6 -470,7 +473,7 @@@ static int altera_jtaguart_remove(struc
  #ifdef CONFIG_OF
  static struct of_device_id altera_jtaguart_match[] = {
        { .compatible = "ALTR,juart-1.0", },
+       { .compatible = "altr,juart-1.0", },
        {},
  };
  MODULE_DEVICE_TABLE(of, altera_jtaguart_match);
index 6431472aeb1f9168f83da944d11802b49b82d49a,8b5a8a2caebc9a6dc95dba5b10a1340f4d5f1e20..501667e3e3f51209647d75ba1a08ea4617ffca11
@@@ -231,9 -231,7 +231,9 @@@ static void altera_uart_rx_chars(struc
                                 flag);
        }
  
 +      spin_unlock(&port->lock);
        tty_flip_buffer_push(&port->state->port);
 +      spin_lock(&port->lock);
  }
  
  static void altera_uart_tx_chars(struct altera_uart *pp)
@@@ -536,7 -534,7 +536,7 @@@ static int altera_uart_get_of_uartclk(s
  
  static int altera_uart_probe(struct platform_device *pdev)
  {
 -      struct altera_uart_platform_uart *platp = pdev->dev.platform_data;
 +      struct altera_uart_platform_uart *platp = dev_get_platdata(&pdev->dev);
        struct uart_port *port;
        struct resource *res_mem;
        struct resource *res_irq;
@@@ -615,6 -613,7 +615,7 @@@ static int altera_uart_remove(struct pl
  #ifdef CONFIG_OF
  static struct of_device_id altera_uart_match[] = {
        { .compatible = "ALTR,uart-1.0", },
+       { .compatible = "altr,uart-1.0", },
        {},
  };
  MODULE_DEVICE_TABLE(of, altera_uart_match);
This page took 0.134849 seconds and 4 git commands to generate.