Merge tag 'hi6220-dt-for-4.8' of git://github.com/hisilicon/linux-hisi into next...
authorOlof Johansson <olof@lixom.net>
Wed, 6 Jul 2016 04:47:46 +0000 (21:47 -0700)
committerOlof Johansson <olof@lixom.net>
Wed, 6 Jul 2016 04:47:46 +0000 (21:47 -0700)
ARM64: DT: Hisilicon Hi6220 hikey board updates for 4.8

- name the GPIO lines

* tag 'hi6220-dt-for-4.8' of git://github.com/hisilicon/linux-hisi:
  arm64: dts: hikey: name the GPIO lines

Signed-off-by: Olof Johansson <olof@lixom.net>
24 files changed:
Documentation/devicetree/bindings/ata/ahci-platform.txt
Documentation/devicetree/bindings/net/apm-xgene-enet.txt
Documentation/devicetree/bindings/pci/layerscape-pci.txt
Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
arch/arm64/boot/dts/apm/apm-shadowcat.dtsi
arch/arm64/boot/dts/apm/apm-storm.dtsi
arch/arm64/boot/dts/broadcom/ns2-svk.dts
arch/arm64/boot/dts/broadcom/ns2.dtsi
arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi
arch/arm64/boot/dts/lg/Makefile
arch/arm64/boot/dts/lg/lg1313-ref.dts [new file with mode: 0644]
arch/arm64/boot/dts/lg/lg1313.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
arch/arm64/boot/dts/qcom/msm8916.dtsi
arch/arm64/boot/dts/qcom/msm8996-pins.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/qcom/msm8996.dtsi
arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts
arch/arm64/boot/dts/renesas/r8a7795.dtsi
arch/arm64/boot/dts/socionext/uniphier-ph1-ld20.dtsi

index 87adfb2..fedc213 100644 (file)
@@ -10,6 +10,7 @@ PHYs.
 Required properties:
 - compatible        : compatible string, one of:
   - "allwinner,sun4i-a10-ahci"
+  - "brcm,iproc-ahci"
   - "hisilicon,hisi-ahci"
   - "cavium,octeon-7130-ahci"
   - "ibm,476gtr-ahci"
index 05f705e..e41b2d5 100644 (file)
@@ -59,8 +59,8 @@ Example:
                compatible = "apm,xgene-enet";
                status = "disabled";
                reg = <0x0 0x17020000 0x0 0xd100>,
-                     <0x0 0X17030000 0x0 0X400>,
-                     <0x0 0X10000000 0x0 0X200>;
+                     <0x0 0x17030000 0x0 0x400>,
+                     <0x0 0x10000000 0x0 0x200>;
                reg-names = "enet_csr", "ring_csr", "ring_cmd";
                interrupts = <0x0 0x3c 0x4>;
                port-id = <0>;
index ef683b2..41e9f55 100644 (file)
@@ -24,6 +24,9 @@ Required properties:
   The first entry must be a link to the SCFG device node
   The second entry must be '0' or '1' based on physical PCIe controller index.
   This is used to get SCFG PEXN registers
+- dma-coherent: Indicates that the hardware IP block can ensure the coherency
+  of the data transferred from/to the IP block. This can avoid the software
+  cache flush/invalid actions, and improve the performance significantly.
 
 Example:
 
@@ -38,6 +41,7 @@ Example:
                #address-cells = <3>;
                #size-cells = <2>;
                device_type = "pci";
+               dma-coherent;
                num-lanes = <4>;
                bus-range = <0x0 0xff>;
                ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
index 32f4a2d..fe7fe0b 100644 (file)
@@ -5,6 +5,8 @@ Required properties for the root node:
                      "amlogic,meson8b-cbus-pinctrl"
                      "amlogic,meson8-aobus-pinctrl"
                      "amlogic,meson8b-aobus-pinctrl"
+                     "amlogic,meson-gxbb-periphs-pinctrl"
+                     "amlogic,meson-gxbb-aobus-pinctrl"
  - reg: address and size of registers controlling irq functionality
 
 === GPIO sub-nodes ===
index 7f2c674..90a84c5 100644 (file)
@@ -45,6 +45,7 @@
 /dts-v1/;
 
 #include "meson-gxbb.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        compatible = "hardkernel,odroid-c2", "amlogic,meson-gxbb";
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
+
+       leds {
+               compatible = "gpio-leds";
+               blue {
+                       label = "c2:blue:alive";
+                       gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "heartbeat";
+                       default-state = "off";
+               };
+       };
 };
 
 &uart_AO {
        status = "okay";
+       pinctrl-0 = <&uart_ao_a_pins>;
+       pinctrl-names = "default";
+};
+
+&ethmac {
+       status = "okay";
+       pinctrl-0 = <&eth_pins>;
+       pinctrl-names = "default";
 };
+
index bf7ff1d..f4f30f6 100644 (file)
 /* This UART is brought out to the DB9 connector */
 &uart_AO {
        status = "okay";
+       pinctrl-0 = <&uart_ao_a_pins>;
+       pinctrl-names = "default";
 };
+
+&ethmac {
+       status = "okay";
+       pinctrl-0 = <&eth_pins>;
+       pinctrl-names = "default";
+};
+
index 012cdcc..54bb7c7 100644 (file)
@@ -56,4 +56,7 @@
 
 &uart_AO {
        status = "okay";
+       pinctrl-0 = <&uart_ao_a_pins>;
+       pinctrl-names = "default";
+
 };
index 832815d..063e3b6 100644 (file)
@@ -43,6 +43,8 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/gpio/meson-gxbb-gpio.h>
+#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
 
 / {
        compatible = "amlogic,meson-gxbb";
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>;
 
+                       reset: reset-controller@4404 {
+                               compatible = "amlogic,meson-gxbb-reset";
+                               reg = <0x0 0x04404 0x0 0x20>;
+                               #reset-cells = <1>;
+                       };
+
                        uart_A: serial@84c0 {
                                compatible = "amlogic,meson-uart";
-                               reg = <0x0 0x084c0 0x0 0x14>;
+                               reg = <0x0 0x84c0 0x0 0x14>;
                                interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
                                clocks = <&xtal>;
                                status = "disabled";
                        };
+
+                       uart_B: serial@84dc {
+                               compatible = "amlogic,meson-uart";
+                               reg = <0x0 0x84dc 0x0 0x14>;
+                               interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
+                               clocks = <&xtal>;
+                               status = "disabled";
+                       };
+
+                       uart_C: serial@8700 {
+                               compatible = "amlogic,meson-uart";
+                               reg = <0x0 0x8700 0x0 0x14>;
+                               interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
+                               clocks = <&xtal>;
+                               status = "disabled";
+                       };
                };
 
                gic: interrupt-controller@c4301000 {
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>;
 
+                       pinctrl_aobus: pinctrl@14 {
+                               compatible = "amlogic,meson-gxbb-aobus-pinctrl";
+                               #address-cells = <2>;
+                               #size-cells = <2>;
+                               ranges;
+
+                               gpio_ao: bank@14 {
+                                       reg = <0x0 0x00014 0x0 0x8>,
+                                             <0x0 0x0002c 0x0 0x4>,
+                                             <0x0 0x00024 0x0 0x8>;
+                                       reg-names = "mux", "pull", "gpio";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
+
+                               uart_ao_a_pins: uart_ao_a {
+                                       mux {
+                                               groups = "uart_tx_ao_a", "uart_rx_ao_a";
+                                               function = "uart_ao";
+                                       };
+                               };
+                       };
+
                        uart_AO: serial@4c0 {
                                compatible = "amlogic,meson-uart";
                                reg = <0x0 0x004c0 0x0 0x14>;
                        };
                };
 
+               periphs: periphs@c8834000 {
+                       compatible = "simple-bus";
+                       reg = <0x0 0xc8834000 0x0 0x2000>;
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>;
+
+                       pinctrl_periphs: pinctrl@4b0 {
+                               compatible = "amlogic,meson-gxbb-periphs-pinctrl";
+                               #address-cells = <2>;
+                               #size-cells = <2>;
+                               ranges;
+
+                               gpio: bank@4b0 {
+                                       reg = <0x0 0x004b0 0x0 0x28>,
+                                             <0x0 0x004e8 0x0 0x14>,
+                                             <0x0 0x00120 0x0 0x14>,
+                                             <0x0 0x00430 0x0 0x40>;
+                                       reg-names = "mux", "pull", "pull-enable", "gpio";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                               };
+
+                               emmc_pins: emmc {
+                                       mux {
+                                               groups = "emmc_nand_d07",
+                                                      "emmc_cmd",
+                                                      "emmc_clk";
+                                               function = "emmc";
+                                       };
+                               };
+
+                               sdcard_pins: sdcard {
+                                       mux {
+                                               groups = "sdcard_d0",
+                                                      "sdcard_d1",
+                                                      "sdcard_d2",
+                                                      "sdcard_d3",
+                                                      "sdcard_cmd",
+                                                      "sdcard_clk";
+                                               function = "sdcard";
+                                       };
+                               };
+
+                               uart_a_pins: uart_a {
+                                       mux {
+                                               groups = "uart_tx_a",
+                                                      "uart_rx_a";
+                                               function = "uart_a";
+                                       };
+                               };
+
+                               uart_b_pins: uart_b {
+                                       mux {
+                                               groups = "uart_tx_b",
+                                                      "uart_rx_b";
+                                               function = "uart_b";
+                                       };
+                               };
+
+                               uart_c_pins: uart_c {
+                                       mux {
+                                               groups = "uart_tx_c",
+                                                      "uart_rx_c";
+                                               function = "uart_c";
+                                       };
+                               };
+
+                               eth_pins: eth_c {
+                                       mux {
+                                               groups = "eth_mdio",
+                                                      "eth_mdc",
+                                                      "eth_clk_rx_clk",
+                                                      "eth_rx_dv",
+                                                      "eth_rxd0",
+                                                      "eth_rxd1",
+                                                      "eth_rxd2",
+                                                      "eth_rxd3",
+                                                      "eth_rgmii_tx_clk",
+                                                      "eth_tx_en",
+                                                      "eth_txd0",
+                                                      "eth_txd1",
+                                                      "eth_txd2",
+                                                      "eth_txd3";
+                                               function = "eth";
+                                       };
+                               };
+                       };
+               };
+
+               hiubus: hiubus@c883c000 {
+                       compatible = "simple-bus";
+                       reg = <0x0 0xc883c000 0x0 0x2000>;
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>;
+               };
+
                apb: apb@d0000000 {
                        compatible = "simple-bus";
                        reg = <0x0 0xd0000000 0x0 0x200000>;
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xd0000000 0x0 0x200000>;
                };
+
+               ethmac: ethernet@c9410000 {
+                       compatible = "amlogic,meson6-dwmac", "snps,dwmac";
+                       reg = <0x0 0xc9410000 0x0 0x10000
+                              0x0 0xc8834540 0x0 0x4>;
+                       interrupts = <0 8 1>;
+                       interrupt-names = "macirq";
+                       clocks = <&xtal>;
+                       clock-names = "stmmaceth";
+                       phy-mode = "rgmii";
+                       status = "disabled";
+               };
        };
 };
index c569f76..21028b1 100644 (file)
                interrupts = <1 9 0xf04>;       /* GIC Maintenence IRQ */
                ranges = <0 0 0 0x79000000 0x0 0x800000>; /* MSI Range */
                reg = <0x0 0x78090000 0x0 0x10000>,     /* GIC Dist */
-                     <0x0 0x780A0000 0x0 0x20000>,     /* GIC CPU */
-                     <0x0 0x780C0000 0x0 0x10000>,     /* GIC VCPU Control */
-                     <0x0 0x780E0000 0x0 0x20000>;     /* GIC VCPU */
-               v2m0: v2m@0x00000 {
+                     <0x0 0x780a0000 0x0 0x20000>,     /* GIC CPU */
+                     <0x0 0x780c0000 0x0 0x10000>,     /* GIC VCPU Control */
+                     <0x0 0x780e0000 0x0 0x20000>;     /* GIC VCPU */
+               v2m0: v2m@00000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x0 0x0 0x1000>;
                };
-               v2m1: v2m@0x10000 {
+               v2m1: v2m@10000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x10000 0x0 0x1000>;
                };
-               v2m2: v2m@0x20000 {
+               v2m2: v2m@20000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x20000 0x0 0x1000>;
                };
-               v2m3: v2m@0x30000 {
+               v2m3: v2m@30000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x30000 0x0 0x1000>;
                };
-               v2m4: v2m@0x40000 {
+               v2m4: v2m@40000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x40000 0x0 0x1000>;
                };
-               v2m5: v2m@0x50000 {
+               v2m5: v2m@50000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x50000 0x0 0x1000>;
                };
-               v2m6: v2m@0x60000 {
+               v2m6: v2m@60000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x60000 0x0 0x1000>;
                };
-               v2m7: v2m@0x70000 {
+               v2m7: v2m@70000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x70000 0x0 0x1000>;
                };
-               v2m8: v2m@0x80000 {
+               v2m8: v2m@80000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x80000 0x0 0x1000>;
                };
-               v2m9: v2m@0x90000 {
+               v2m9: v2m@90000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
                        reg = <0x0 0x90000 0x0 0x1000>;
                };
-               v2m10: v2m@0xA0000 {
+               v2m10: v2m@a0000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
-                       reg = <0x0 0xA0000 0x0 0x1000>;
+                       reg = <0x0 0xa0000 0x0 0x1000>;
                };
-               v2m11: v2m@0xB0000 {
+               v2m11: v2m@b0000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
-                       reg = <0x0 0xB0000 0x0 0x1000>;
+                       reg = <0x0 0xb0000 0x0 0x1000>;
                };
-               v2m12: v2m@0xC0000 {
+               v2m12: v2m@c0000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
-                       reg = <0x0 0xC0000 0x0 0x1000>;
+                       reg = <0x0 0xc0000 0x0 0x1000>;
                };
-               v2m13: v2m@0xD0000 {
+               v2m13: v2m@d0000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
-                       reg = <0x0 0xD0000 0x0 0x1000>;
+                       reg = <0x0 0xd0000 0x0 0x1000>;
                };
-               v2m14: v2m@0xE0000 {
+               v2m14: v2m@e0000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
-                       reg = <0x0 0xE0000 0x0 0x1000>;
+                       reg = <0x0 0xe0000 0x0 0x1000>;
                };
-               v2m15: v2m@0xF0000 {
+               v2m15: v2m@f0000 {
                        compatible = "arm,gic-v2m-frame";
                        msi-controller;
-                       reg = <0x0 0xF0000 0x0 0x1000>;
+                       reg = <0x0 0xf0000 0x0 0x1000>;
                };
        };
 
 
        timer {
                compatible = "arm,armv8-timer";
-               interrupts = <1 0 0xff04>,      /* Secure Phys IRQ */
-                            <1 13 0xff04>,     /* Non-secure Phys IRQ */
-                            <1 14 0xff04>,     /* Virt IRQ */
-                            <1 15 0xff04>;     /* Hyp IRQ */
+               interrupts = <1 0 0xff08>,      /* Secure Phys IRQ */
+                            <1 13 0xff08>,     /* Non-secure Phys IRQ */
+                            <1 14 0xff08>,     /* Virt IRQ */
+                            <1 15 0xff08>;     /* Hyp IRQ */
                clock-frequency = <50000000>;
        };
 
                        compatible = "apm,xgene2-sgenet";
                        status = "disabled";
                        reg = <0x0 0x1f610000 0x0 0x10000>,
-                             <0x0 0x1f600000 0x0 0Xd100>,
-                             <0x0 0x20000000 0x0 0X20000>;
+                             <0x0 0x1f600000 0x0 0xd100>,
+                             <0x0 0x20000000 0x0 0x20000>;
                        interrupts = <0 96 4>,
                                     <0 97 4>;
                        dma-coherent;
                        compatible = "apm,xgene2-xgenet";
                        status = "disabled";
                        reg = <0x0 0x1f620000 0x0 0x10000>,
-                             <0x0 0x1f600000 0x0 0Xd100>,
-                             <0x0 0x20000000 0x0 0X220000>;
+                             <0x0 0x1f600000 0x0 0xd100>,
+                             <0x0 0x20000000 0x0 0x220000>;
                        interrupts = <0 108 4>,
                                     <0 109 4>,
                                     <0 110 4>,
                        #size-cells = <0>;
                        compatible = "snps,designware-i2c";
                        reg = <0x0 0x10640000 0x0 0x1000>;
-                       interrupts = <0 0x3A 0x4>;
+                       interrupts = <0 0x3a 0x4>;
                        clocks = <&i2c4clk 0>;
                        bus_num = <4>;
                };
index 5147d76..91c73b8 100644 (file)
                                clock-output-names = "sdioclk";
                        };
 
-                       qmlclk: qmlclk {
-                               compatible = "apm,xgene-device-clock";
-                               #clock-cells = <1>;
-                               clocks = <&socplldiv2 0>;
-                               clock-names = "qmlclk";
-                               reg = <0x0 0x1703C000 0x0 0x1000>;
-                               reg-names = "csr-reg";
-                               clock-output-names = "qmlclk";
-                       };
-
                        ethclk: ethclk {
                                compatible = "apm,xgene-device-clock";
                                #clock-cells = <1>;
                                compatible = "apm,xgene-device-clock";
                                #clock-cells = <1>;
                                clocks = <&ethclk 0>;
-                               reg = <0x0 0x1702C000 0x0 0x1000>;
+                               reg = <0x0 0x1702c000 0x0 0x1000>;
                                reg-names = "csr-reg";
                                clock-output-names = "menetclk";
                        };
                        compatible = "apm,xgene-enet";
                        status = "disabled";
                        reg = <0x0 0x17020000 0x0 0xd100>,
-                             <0x0 0X17030000 0x0 0Xc300>,
-                             <0x0 0X10000000 0x0 0X200>;
+                             <0x0 0x17030000 0x0 0xc300>,
+                             <0x0 0x10000000 0x0 0x200>;
                        reg-names = "enet_csr", "ring_csr", "ring_cmd";
                        interrupts = <0x0 0x3c 0x4>;
                        dma-coherent;
                        compatible = "apm,xgene1-sgenet";
                        status = "disabled";
                        reg = <0x0 0x1f210000 0x0 0xd100>,
-                             <0x0 0x1f200000 0x0 0Xc300>,
-                             <0x0 0x1B000000 0x0 0X200>;
+                             <0x0 0x1f200000 0x0 0xc300>,
+                             <0x0 0x1b000000 0x0 0x200>;
                        reg-names = "enet_csr", "ring_csr", "ring_cmd";
-                       interrupts = <0x0 0xA0 0x4>,
-                                    <0x0 0xA1 0x4>;
+                       interrupts = <0x0 0xa0 0x4>,
+                                    <0x0 0xa1 0x4>;
                        dma-coherent;
                        clocks = <&sge0clk 0>;
                        local-mac-address = [00 00 00 00 00 00];
                        compatible = "apm,xgene1-sgenet";
                        status = "disabled";
                        reg = <0x0 0x1f210030 0x0 0xd100>,
-                             <0x0 0x1f200000 0x0 0Xc300>,
-                             <0x0 0x1B000000 0x0 0X8000>;
+                             <0x0 0x1f200000 0x0 0xc300>,
+                             <0x0 0x1b000000 0x0 0x8000>;
                        reg-names = "enet_csr", "ring_csr", "ring_cmd";
-                       interrupts = <0x0 0xAC 0x4>,
-                                    <0x0 0xAD 0x4>;
+                       interrupts = <0x0 0xac 0x4>,
+                                    <0x0 0xad 0x4>;
                        port-id = <1>;
                        dma-coherent;
                        clocks = <&sge1clk 0>;
                        compatible = "apm,xgene1-xgenet";
                        status = "disabled";
                        reg = <0x0 0x1f610000 0x0 0xd100>,
-                             <0x0 0x1f600000 0x0 0Xc300>,
-                             <0x0 0x18000000 0x0 0X200>;
+                             <0x0 0x1f600000 0x0 0xc300>,
+                             <0x0 0x18000000 0x0 0x200>;
                        reg-names = "enet_csr", "ring_csr", "ring_cmd";
                        interrupts = <0x0 0x60 0x4>,
                                     <0x0 0x61 0x4>,
                        compatible = "apm,xgene1-xgenet";
                        status = "disabled";
                        reg = <0x0 0x1f620000 0x0 0xd100>,
-                             <0x0 0x1f600000 0x0 0Xc300>,
-                             <0x0 0x18000000 0x0 0X8000>;
+                             <0x0 0x1f600000 0x0 0xc300>,
+                             <0x0 0x18000000 0x0 0x8000>;
                        reg-names = "enet_csr", "ring_csr", "ring_cmd";
-                       interrupts = <0x0 0x6C 0x4>,
-                                    <0x0 0x6D 0x4>;
+                       interrupts = <0x0 0x6c 0x4>,
+                                    <0x0 0x6d 0x4>;
                        port-id = <1>;
                        dma-coherent;
                        clocks = <&xge1clk 0>;
index 54ca40c..b062a44 100644 (file)
 
        aliases {
                serial0 = &uart3;
+               serial1 = &uart0;
+               serial2 = &uart1;
+               serial3 = &uart2;
        };
 
        chosen {
                stdout-path = "serial0:115200n8";
+               bootargs = "earlycon=uart8250,mmio32,0x66130000";
        };
 
        memory {
        status = "ok";
 };
 
+&uart0 {
+       status = "ok";
+};
+
+&uart1 {
+       status = "ok";
+};
+
+&uart2 {
+       status = "ok";
+};
+
 &uart3 {
        status = "ok";
 };
        };
 };
 
+&sata_phy0 {
+       status = "ok";
+};
+
+&sata_phy1 {
+       status = "ok";
+};
+
+&sata {
+       status = "ok";
+};
+
 &sdio0 {
        status = "ok";
 };
                #size-cells = <1>;
        };
 };
+
+&pinctrl {
+       pinctrl-names = "default";
+       pinctrl-0 = <&nand_sel>;
+       nand_sel: nand_sel {
+               function = "nand";
+               groups = "nand_grp";
+       };
+};
index ec68ec1..d1dc812 100644 (file)
                        mmu-masters;
                };
 
+               pinctrl: pinctrl@6501d130 {
+                       compatible = "brcm,ns2-pinmux";
+                       reg = <0x6501d130 0x08>,
+                             <0x660a0028 0x04>,
+                             <0x660009b0 0x40>;
+               };
+
+               gpio_aon: gpio@65024800 {
+                       compatible = "brcm,iproc-gpio";
+                       reg = <0x65024800 0x50>,
+                             <0x65024008 0x18>;
+                       ngpios = <6>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+               };
+
                gic: interrupt-controller@65210000 {
                        compatible = "arm,gic-400";
                        #interrupt-cells = <3>;
                                      IRQ_TYPE_LEVEL_HIGH)>;
                };
 
+               cci@65590000 {
+                       compatible = "arm,cci-400";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x65590000 0x1000>;
+                       ranges = <0 0x65590000 0x10000>;
+
+                       pmu@9000 {
+                               compatible = "arm,cci-400-pmu,r1",
+                                            "arm,cci-400-pmu";
+                               reg = <0x9000 0x4000>;
+                               interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
+                                            <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+               };
+
                timer0: timer@66030000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x66030000 0x1000>;
                        clock-names = "wdogclk", "apb_pclk";
                };
 
+               gpio_g: gpio@660a0000 {
+                       compatible = "brcm,iproc-gpio";
+                       reg = <0x660a0000 0x50>;
+                       ngpios = <32>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       interrupt-controller;
+                       interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
                i2c1: i2c@660b0000 {
                        compatible = "brcm,iproc-i2c";
                        reg = <0x660b0000 0x100>;
                        status = "disabled";
                };
 
+               uart0: serial@66100000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x66100000 0x100>;
+                       interrupts = <GIC_SPI 390 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&iprocslow>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+
+               uart1: serial@66110000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x66110000 0x100>;
+                       interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&iprocslow>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+
+               uart2: serial@66120000 {
+                       compatible = "snps,dw-apb-uart";
+                       reg = <0x66120000 0x100>;
+                       interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&iprocslow>;
+                       reg-shift = <2>;
+                       reg-io-width = <4>;
+                       status = "disabled";
+               };
+
                uart3: serial@66130000 {
                        compatible = "snps,dw-apb-uart";
                        reg = <0x66130000 0x100>;
                        reg = <0x66220000 0x28>;
                };
 
+               sata_phy: sata_phy@663f0100 {
+                       compatible = "brcm,iproc-ns2-sata-phy";
+                       reg = <0x663f0100 0x1f00>,
+                             <0x663f004c 0x10>;
+                       reg-names = "phy", "phy-ctrl";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       sata_phy0: sata-phy@0 {
+                               reg = <0>;
+                               #phy-cells = <0>;
+                               status = "disabled";
+                       };
+
+                       sata_phy1: sata-phy@1 {
+                               reg = <1>;
+                               #phy-cells = <0>;
+                               status = "disabled";
+                       };
+               };
+
+               sata: ahci@663f2000 {
+                       compatible = "brcm,iproc-ahci", "generic-ahci";
+                       reg = <0x663f2000 0x1000>;
+                       reg-names = "ahci";
+                       interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+
+                       sata0: sata-port@0 {
+                               reg = <0>;
+                               phys = <&sata_phy0>;
+                               phy-names = "sata-phy";
+                       };
+
+                       sata1: sata-port@1 {
+                               reg = <1>;
+                               phys = <&sata_phy1>;
+                               phy-names = "sata-phy";
+                       };
+               };
+
                sdio0: sdhci@66420000 {
                        compatible = "brcm,sdhci-iproc-cygnus";
                        reg = <0x66420000 0x100>;
index de0323b..19572d8 100644 (file)
@@ -51,7 +51,7 @@
        #size-cells = <2>;
 
        cpus {
-               #address-cells = <2>;
+               #address-cells = <1>;
                #size-cells = <0>;
 
                /*
                cpu0: cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a53";
-                       reg = <0x0 0x0>;
+                       reg = <0x0>;
                        clocks = <&clockgen 1 0>;
+                       next-level-cache = <&l2>;
                };
 
                cpu1: cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a53";
-                       reg = <0x0 0x1>;
+                       reg = <0x1>;
                        clocks = <&clockgen 1 0>;
+                       next-level-cache = <&l2>;
                };
 
                cpu2: cpu@2 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a53";
-                       reg = <0x0 0x2>;
+                       reg = <0x2>;
                        clocks = <&clockgen 1 0>;
+                       next-level-cache = <&l2>;
                };
 
                cpu3: cpu@3 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a53";
-                       reg = <0x0 0x3>;
+                       reg = <0x3>;
                        clocks = <&clockgen 1 0>;
+                       next-level-cache = <&l2>;
+               };
+
+               l2: l2-cache {
+                       compatible = "cache";
                };
        };
 
                        interrupts = <0 60 0x4>;
                        dr_mode = "host";
                        snps,quirk-frame-length-adjustment = <0x20>;
+                       snps,dis_rxdet_inp3_quirk;
                };
 
                usb1: usb3@3000000 {
                        interrupts = <0 61 0x4>;
                        dr_mode = "host";
                        snps,quirk-frame-length-adjustment = <0x20>;
+                       snps,dis_rxdet_inp3_quirk;
                };
 
                usb2: usb3@3100000 {
                        interrupts = <0 63 0x4>;
                        dr_mode = "host";
                        snps,quirk-frame-length-adjustment = <0x20>;
+                       snps,dis_rxdet_inp3_quirk;
                };
 
                sata: sata@3200000 {
                        #address-cells = <3>;
                        #size-cells = <2>;
                        device_type = "pci";
+                       dma-coherent;
                        num-lanes = <4>;
                        bus-range = <0x0 0xff>;
                        ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000   /* downstream I/O */
                        #address-cells = <3>;
                        #size-cells = <2>;
                        device_type = "pci";
+                       dma-coherent;
                        num-lanes = <2>;
                        bus-range = <0x0 0xff>;
                        ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000   /* downstream I/O */
                        #address-cells = <3>;
                        #size-cells = <2>;
                        device_type = "pci";
+                       dma-coherent;
                        num-lanes = <2>;
                        bus-range = <0x0 0xff>;
                        ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000   /* downstream I/O */
index 3187c82..21023a3 100644 (file)
@@ -51,7 +51,7 @@
        #size-cells = <2>;
 
        cpus {
-               #address-cells = <2>;
+               #address-cells = <1>;
                #size-cells = <0>;
 
                /*
                cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x0>;
+                       reg = <0x0>;
                        clocks = <&clockgen 1 0>;
+                       next-level-cache = <&cluster0_l2>;
                };
 
                cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x1>;
+                       reg = <0x1>;
                        clocks = <&clockgen 1 0>;
+                       next-level-cache = <&cluster0_l2>;
                };
 
                cpu@100 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x100>;
+                       reg = <0x100>;
                        clocks = <&clockgen 1 1>;
+                       next-level-cache = <&cluster1_l2>;
                };
 
                cpu@101 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x101>;
+                       reg = <0x101>;
                        clocks = <&clockgen 1 1>;
+                       next-level-cache = <&cluster1_l2>;
                };
 
                cpu@200 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x200>;
+                       reg = <0x200>;
                        clocks = <&clockgen 1 2>;
+                       next-level-cache = <&cluster2_l2>;
                };
 
                cpu@201 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x201>;
+                       reg = <0x201>;
                        clocks = <&clockgen 1 2>;
+                       next-level-cache = <&cluster2_l2>;
                };
 
                cpu@300 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x300>;
+                       reg = <0x300>;
                        clocks = <&clockgen 1 3>;
+                       next-level-cache = <&cluster3_l2>;
                };
 
                cpu@301 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a57";
-                       reg = <0x0 0x301>;
+                       reg = <0x301>;
                        clocks = <&clockgen 1 3>;
+                       next-level-cache = <&cluster3_l2>;
+               };
+
+               cluster0_l2: l2-cache0 {
+                       compatible = "cache";
+               };
+
+               cluster1_l2: l2-cache1 {
+                       compatible = "cache";
+               };
+
+               cluster2_l2: l2-cache2 {
+                       compatible = "cache";
+               };
+
+               cluster3_l2: l2-cache3 {
+                       compatible = "cache";
                };
        };
 
                        interrupts = <0 80 0x4>; /* Level high type */
                        dr_mode = "host";
                        snps,quirk-frame-length-adjustment = <0x20>;
+                       snps,dis_rxdet_inp3_quirk;
                };
 
                usb1: usb3@3110000 {
                        interrupts = <0 81 0x4>; /* Level high type */
                        dr_mode = "host";
                        snps,quirk-frame-length-adjustment = <0x20>;
+                       snps,dis_rxdet_inp3_quirk;
                };
 
                ccn@4000000 {
index b0cc649..5c7b54c 100644 (file)
@@ -1,4 +1,5 @@
 dtb-$(CONFIG_ARCH_LG1K) += lg1312-ref.dtb
+dtb-$(CONFIG_ARCH_LG1K) += lg1313-ref.dtb
 
 always         := $(dtb-y)
 subdir-y       := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/lg/lg1313-ref.dts b/arch/arm64/boot/dts/lg/lg1313-ref.dts
new file mode 100644 (file)
index 0000000..df0ece4
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * dts file for lg1313 Reference Board.
+ *
+ * Copyright (C) 2016, LG Electronics
+ */
+
+/dts-v1/;
+
+#include "lg1313.dtsi"
+
+/ {
+       #address-cells = <2>;
+       #size-cells = <1>;
+
+       model = "LG Electronics, DTV SoC LG1313 Reference Board";
+       compatible = "lge,lg1313-ref", "lge,lg1313";
+
+       aliases {
+               serial0 = &uart0;
+               serial1 = &uart1;
+               serial2 = &uart2;
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x0 0x00000000 0x20000000>;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&uart0 {
+       status = "okay";
+};
diff --git a/arch/arm64/boot/dts/lg/lg1313.dtsi b/arch/arm64/boot/dts/lg/lg1313.dtsi
new file mode 100644 (file)
index 0000000..e703e11
--- /dev/null
@@ -0,0 +1,351 @@
+/*
+ * dts file for lg1313 SoC
+ *
+ * Copyright (C) 2016, LG Electronics
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       compatible = "lge,lg1313";
+       interrupt-parent = <&gic>;
+
+       cpus {
+               #address-cells = <2>;
+               #size-cells = <0>;
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x0>;
+                       next-level-cache = <&L2_0>;
+               };
+               cpu1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x1>;
+                       enable-method = "psci";
+                       next-level-cache = <&L2_0>;
+               };
+               cpu2: cpu@2 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x2>;
+                       enable-method = "psci";
+                       next-level-cache = <&L2_0>;
+               };
+               cpu3: cpu@3 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53", "arm,armv8";
+                       reg = <0x0 0x3>;
+                       enable-method = "psci";
+                       next-level-cache = <&L2_0>;
+               };
+               L2_0: l2-cache0 {
+                       compatible = "cache";
+               };
+       };
+
+       psci {
+               compatible  = "arm,psci-0.2", "arm,psci";
+               method = "smc";
+               cpu_suspend = <0x84000001>;
+               cpu_off = <0x84000002>;
+               cpu_on = <0x84000003>;
+       };
+
+       gic: interrupt-controller@c0001000 {
+               #interrupt-cells = <3>;
+               compatible = "arm,gic-400";
+               interrupt-controller;
+               reg = <0x0 0xc0001000 0x1000>,
+                     <0x0 0xc0002000 0x2000>,
+                     <0x0 0xc0004000 0x2000>,
+                     <0x0 0xc0006000 0x2000>;
+       };
+
+       pmu {
+               compatible = "arm,cortex-a53-pmu";
+               interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-affinity = <&cpu0>,
+                                    <&cpu1>,
+                                    <&cpu2>,
+                                    <&cpu3>;
+       };
+
+       timer {
+               compatible = "arm,armv8-timer";
+               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0x0f) |
+                             IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 14 (GIC_CPU_MASK_RAW(0x0f) |
+                             IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 11 (GIC_CPU_MASK_RAW(0x0f) |
+                             IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 10 (GIC_CPU_MASK_RAW(0x0f) |
+                             IRQ_TYPE_LEVEL_LOW)>;
+       };
+
+       clk_bus: clk_bus {
+               #clock-cells = <0>;
+
+               compatible = "fixed-clock";
+               clock-frequency = <198000000>;
+               clock-output-names = "BUSCLK";
+       };
+
+       soc {
+               #address-cells = <2>;
+               #size-cells = <1>;
+
+               compatible = "simple-bus";
+               interrupt-parent = <&gic>;
+               ranges;
+
+               eth0: ethernet@c3700000 {
+                       compatible = "cdns,gem";
+                       reg = <0x0 0xc3700000 0x1000>;
+                       interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>, <&clk_bus>;
+                       clock-names = "hclk", "pclk";
+                       phy-mode = "rmii";
+                       /* Filled in by boot */
+                       mac-address = [ 00 00 00 00 00 00 ];
+               };
+       };
+
+       amba {
+               #address-cells = <2>;
+               #size-cells = <1>;
+               #interrupts-cells = <3>;
+
+               compatible = "simple-bus";
+               interrupt-parent = <&gic>;
+               ranges;
+
+               timers: timer@fd100000 {
+                       compatible = "arm,sp804";
+                       reg = <0x0 0xfd100000 0x1000>;
+                       interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               wdog: watchdog@fd200000 {
+                       compatible = "arm,sp805", "arm,primecell";
+                       reg = <0x0 0xfd200000 0x1000>;
+                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               uart0: serial@fe000000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x0 0xfe000000 0x1000>;
+                       interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               uart1: serial@fe100000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x0 0xfe100000 0x1000>;
+                       interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               uart2: serial@fe200000 {
+                       compatible = "arm,pl011", "arm,primecell";
+                       reg = <0x0 0xfe200000 0x1000>;
+                       interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               spi0: ssp@fe800000 {
+                       compatible = "arm,pl022", "arm,primecell";
+                       reg = <0x0 0xfe800000 0x1000>;
+                       interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               spi1: ssp@fe900000 {
+                       compatible = "arm,pl022", "arm,primecell";
+                       reg = <0x0 0xfe900000 0x1000>;
+                       interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               dmac0: dma@c1128000 {
+                       compatible = "arm,pl330", "arm,primecell";
+                       reg = <0x0 0xc1128000 0x1000>;
+                       interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               gpio0: gpio@fd400000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd400000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio1: gpio@fd410000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd410000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio2: gpio@fd420000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd420000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio3: gpio@fd430000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd430000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               gpio4: gpio@fd440000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd440000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio5: gpio@fd450000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd450000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio6: gpio@fd460000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd460000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio7: gpio@fd470000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd470000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio8: gpio@fd480000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd480000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio9: gpio@fd490000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd490000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio10: gpio@fd4a0000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd4a0000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio11: gpio@fd4b0000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd4b0000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+               gpio12: gpio@fd4c0000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd4c0000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio13: gpio@fd4d0000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd4d0000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio14: gpio@fd4e0000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd4e0000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio15: gpio@fd4f0000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd4f0000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio16: gpio@fd500000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd500000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+                       status="disabled";
+               };
+               gpio17: gpio@fd510000 {
+                       #gpio-cells = <2>;
+                       compatible = "arm,pl061", "arm,primecell";
+                       gpio-controller;
+                       reg = <0x0 0xfd510000 0x1000>;
+                       clocks = <&clk_bus>;
+                       clock-names = "apb_pclk";
+               };
+       };
+};
index 205ef89..18639bc 100644 (file)
        };
 
        soc {
+               dma@7884000 {
+                       status = "okay";
+               };
+
                serial@78af000 {
                        label = "LS-UART0";
                        status = "okay";
                        status = "okay";
                };
 
+               sdhci@07864000 {
+                       vmmc-supply = <&pm8916_l11>;
+                       vqmmc-supply = <&pm8916_l12>;
+
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
+                       pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
+
+                       cd-gpios = <&msmgpio 38 0x1>;
+                       status = "okay";
+               };
+
                usb@78d9000 {
                        extcon = <&usb_id>, <&usb_id>;
                        status = "okay";
index 9681200..11bdc24 100644 (file)
                #size-cells = <2>;
                ranges;
 
-               reserve_aligned@86000000 {
-                       reg = <0x0 0x86000000 0x0 0x0300000>;
+               tz-apps@86000000 {
+                       reg = <0x0 0x86000000 0x0 0x300000>;
                        no-map;
                };
 
                smem_mem: smem_region@86300000 {
-                       reg = <0x0 0x86300000 0x0 0x0100000>;
+                       reg = <0x0 0x86300000 0x0 0x100000>;
+                       no-map;
+               };
+
+               hypervisor@86400000 {
+                       reg = <0x0 0x86400000 0x0 0x100000>;
+                       no-map;
+               };
+
+               tz@86500000 {
+                       reg = <0x0 0x86500000 0x0 0x180000>;
+                       no-map;
+               };
+
+               reserved@8668000 {
+                       reg = <0x0 0x86680000 0x0 0x80000>;
+                       no-map;
+               };
+
+               rmtfs@86700000 {
+                       reg = <0x0 0x86700000 0x0 0xe0000>;
+                       no-map;
+               };
+
+               rfsa@867e00000 {
+                       reg = <0x0 0x867e0000 0x0 0x20000>;
+                       no-map;
+               };
+
+               mpss@86800000 {
+                       reg = <0x0 0x86800000 0x0 0x2b00000>;
+                       no-map;
+               };
+
+               wcnss@89300000 {
+                       reg = <0x0 0x89300000 0x0 0x600000>;
                        no-map;
                };
        };
@@ -62,6 +97,8 @@
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0x0>;
                        next-level-cache = <&L2_0>;
+                       enable-method = "psci";
+                       cpu-idle-states = <&CPU_SPC>;
                };
 
                CPU1: cpu@1 {
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0x1>;
                        next-level-cache = <&L2_0>;
+                       enable-method = "psci";
+                       cpu-idle-states = <&CPU_SPC>;
                };
 
                CPU2: cpu@2 {
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0x2>;
                        next-level-cache = <&L2_0>;
+                       enable-method = "psci";
+                       cpu-idle-states = <&CPU_SPC>;
                };
 
                CPU3: cpu@3 {
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0x3>;
                        next-level-cache = <&L2_0>;
+                       enable-method = "psci";
+                       cpu-idle-states = <&CPU_SPC>;
                };
 
                L2_0: l2-cache {
                      compatible = "cache";
                      cache-level = <2>;
                };
+
+               idle-states {
+                       CPU_SPC: spc {
+                               compatible = "arm,idle-state";
+                               arm,psci-suspend-param = <0x40000002>;
+                               entry-latency-us = <130>;
+                               exit-latency-us = <150>;
+                               min-residency-us = <2000>;
+                               local-timer-stop;
+                       };
+               };
+       };
+
+       psci {
+               compatible = "arm,psci-1.0";
+               method = "smc";
+       };
+
+       pmu {
+               compatible = "arm,armv8-pmuv3";
+               interrupts = <GIC_PPI 7 GIC_CPU_MASK_SIMPLE(4)>;
        };
 
        timer {
                hwlocks = <&tcsr_mutex 3>;
        };
 
+       firmware {
+               scm {
+                       compatible = "qcom,scm";
+                       clocks = <&gcc GCC_CRYPTO_CLK>, <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
+                       clock-names = "core", "bus", "iface";
+               };
+       };
+
        soc: soc {
                #address-cells = <1>;
                #size-cells = <1>;
diff --git a/arch/arm64/boot/dts/qcom/msm8996-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8996-pins.dtsi
new file mode 100644 (file)
index 0000000..6599404
--- /dev/null
@@ -0,0 +1,303 @@
+/*
+ * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&msmgpio {
+
+       blsp1_spi0_default: blsp1_spi0_default {
+               pinmux {
+                       function = "blsp_spi1";
+                       pins = "gpio0", "gpio1", "gpio3";
+               };
+               pinmux_cs {
+                       function = "gpio";
+                       pins = "gpio2";
+               };
+               pinconf {
+                       pins = "gpio0", "gpio1", "gpio3";
+                       drive-strength = <12>;
+                       bias-disable;
+               };
+               pinconf_cs {
+                       pins = "gpio2";
+                       drive-strength = <16>;
+                       bias-disable;
+                       output-high;
+               };
+       };
+
+       blsp1_spi0_sleep: blsp1_spi0_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio0", "gpio1", "gpio2", "gpio3";
+               };
+               pinconf {
+                       pins = "gpio0", "gpio1", "gpio2", "gpio3";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       blsp1_i2c2_default: blsp1_i2c2_default {
+               pinmux {
+                       function = "blsp_i2c3";
+                       pins = "gpio47", "gpio48";
+               };
+               pinconf {
+                       pins = "gpio47", "gpio48";
+                       drive-strength = <16>;
+                       bias-disable = <0>;
+               };
+       };
+
+       blsp1_i2c2_sleep: blsp1_i2c2_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio47", "gpio48";
+               };
+               pinconf {
+                       pins = "gpio47", "gpio48";
+                       drive-strength = <2>;
+                       bias-disable = <0>;
+               };
+       };
+
+       blsp2_i2c0_default: blsp2_i2c0 {
+               pinmux {
+                       function = "blsp_i2c7";
+                       pins = "gpio55", "gpio56";
+               };
+               pinconf {
+                       pins = "gpio55", "gpio56";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_i2c0_sleep: blsp2_i2c0_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio55", "gpio56";
+               };
+               pinconf {
+                       pins = "gpio55", "gpio56";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart1_2pins_default: blsp2_uart1_2pins {
+               pinmux {
+                       function = "blsp_uart8";
+                       pins = "gpio4", "gpio5";
+               };
+               pinconf {
+                       pins = "gpio4", "gpio5";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart1_2pins_sleep: blsp2_uart1_2pins_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio4", "gpio5";
+               };
+               pinconf {
+                       pins = "gpio4", "gpio5";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart1_4pins_default: blsp2_uart1_4pins {
+               pinmux {
+                       function = "blsp_uart8";
+                       pins = "gpio4", "gpio5", "gpio6", "gpio7";
+               };
+
+               pinconf {
+                       pins = "gpio4", "gpio5", "gpio6", "gpio7";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart1_4pins_sleep: blsp2_uart1_4pins_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio4", "gpio5", "gpio6", "gpio7";
+               };
+
+               pinconf {
+                       pins = "gpio4", "gpiio5", "gpio6", "gpio7";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_i2c1_default: blsp2_i2c1 {
+               pinmux {
+                       function = "blsp_i2c8";
+                       pins = "gpio6", "gpio7";
+               };
+               pinconf {
+                       pins = "gpio6", "gpio7";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_i2c1_sleep: blsp2_i2c1_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio6", "gpio7";
+               };
+               pinconf {
+                       pins = "gpio6", "gpio7";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart2_2pins_default: blsp2_uart2_2pins {
+               pinmux {
+                       function = "blsp_uart9";
+                       pins = "gpio49", "gpio50";
+               };
+               pinconf {
+                       pins = "gpio49", "gpio50";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart2_2pins_sleep: blsp2_uart2_2pins_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio49", "gpio50";
+               };
+               pinconf {
+                       pins = "gpio49", "gpio50";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart2_4pins_default: blsp2_uart2_4pins {
+               pinmux {
+                       function = "blsp_uart9";
+                       pins = "gpio49", "gpio50", "gpio51", "gpio52";
+               };
+
+               pinconf {
+                       pins = "gpio49", "gpio50", "gpio51", "gpio52";
+                       drive-strength = <16>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_uart2_4pins_sleep: blsp2_uart2_4pins_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio49", "gpio50", "gpio51", "gpio52";
+               };
+
+               pinconf {
+                       pins = "gpio49", "gpio50", "gpio51", "gpio52";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
+       };
+
+       blsp2_spi5_default: blsp2_spi5_default {
+               pinmux {
+                       function = "blsp_spi12";
+                       pins = "gpio85", "gpio86", "gpio88";
+               };
+               pinmux_cs {
+                       function = "gpio";
+                       pins = "gpio87";
+               };
+               pinconf {
+                       pins = "gpio85", "gpio86", "gpio88";
+                       drive-strength = <12>;
+                       bias-disable;
+               };
+               pinconf_cs {
+                       pins = "gpio87";
+                       drive-strength = <16>;
+                       bias-disable;
+                       output-high;
+               };
+       };
+
+       blsp2_spi5_sleep: blsp2_spi5_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio85", "gpio86", "gpio87", "gpio88";
+               };
+               pinconf {
+                       pins = "gpio85", "gpio86", "gpio87", "gpio88";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       sdc2_clk_on: sdc2_clk_on {
+               config {
+                       pins = "sdc2_clk";
+                       bias-disable;           /* NO pull */
+                       drive-strength = <16>;  /* 16 MA */
+               };
+       };
+
+       sdc2_clk_off: sdc2_clk_off {
+               config {
+                       pins = "sdc2_clk";
+                       bias-disable;           /* NO pull */
+                       drive-strength = <2>;   /* 2 MA */
+               };
+       };
+
+       sdc2_cmd_on: sdc2_cmd_on {
+               config {
+                       pins = "sdc2_cmd";
+                       bias-pull-up;           /* pull up */
+                       drive-strength = <10>;  /* 10 MA */
+               };
+       };
+
+       sdc2_cmd_off: sdc2_cmd_off {
+               config {
+                       pins = "sdc2_cmd";
+                       bias-pull-up;           /* pull up */
+                       drive-strength = <2>;   /* 2 MA */
+               };
+       };
+
+       sdc2_data_on: sdc2_data_on {
+               config {
+                       pins = "sdc2_data";
+                       bias-pull-up;           /* pull up */
+                       drive-strength = <10>;  /* 10 MA */
+               };
+       };
+
+       sdc2_data_off: sdc2_data_off {
+               config {
+                       pins = "sdc2_data";
+                       bias-pull-up;           /* pull up */
+                       drive-strength = <2>;   /* 2 MA */
+               };
+       };
+};
index 0506fb8..55ec3e8 100644 (file)
                        reg = <0x300000 0x90000>;
                };
 
+               blsp1_spi0: spi@07575000 {
+                       compatible = "qcom,spi-qup-v2.2.1";
+                       reg = <0x07575000 0x600>;
+                       interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
+                                <&gcc GCC_BLSP1_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp1_spi0_default>;
+                       pinctrl-1 = <&blsp1_spi0_sleep>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               blsp2_i2c0: i2c@075b5000 {
+                       compatible = "qcom,i2c-qup-v2.2.1";
+                       reg = <0x075b5000 0x1000>;
+                       interrupts = <GIC_SPI 101 0>;
+                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
+                               <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
+                       clock-names = "iface", "core";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp2_i2c0_default>;
+                       pinctrl-1 = <&blsp2_i2c0_sleep>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
                blsp2_uart1: serial@75b0000 {
                        compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
                        reg = <0x75b0000 0x1000>;
                        status = "disabled";
                };
 
-               pinctrl@1010000 {
+               blsp2_i2c1: i2c@075b6000 {
+                       compatible = "qcom,i2c-qup-v2.2.1";
+                       reg = <0x075b6000 0x1000>;
+                       interrupts = <GIC_SPI 102 0>;
+                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
+                               <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>;
+                       clock-names = "iface", "core";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp2_i2c1_default>;
+                       pinctrl-1 = <&blsp2_i2c1_sleep>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               blsp2_uart2: serial@75b1000 {
+                       compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
+                       reg = <0x075b1000 0x1000>;
+                       interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       status = "disabled";
+               };
+
+               blsp1_i2c2: i2c@07577000 {
+                       compatible = "qcom,i2c-qup-v2.2.1";
+                       reg = <0x07577000 0x1000>;
+                       interrupts = <GIC_SPI 97 0>;
+                       clocks = <&gcc GCC_BLSP1_AHB_CLK>,
+                               <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
+                       clock-names = "iface", "core";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp1_i2c2_default>;
+                       pinctrl-1 = <&blsp1_i2c2_sleep>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               blsp2_spi5: spi@075ba000{
+                       compatible = "qcom,spi-qup-v2.2.1";
+                       reg = <0x075ba000 0x600>;
+                       interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp2_spi5_default>;
+                       pinctrl-1 = <&blsp2_spi5_sleep>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+
+               sdhc2: sdhci@74a4900 {
+                        status = "disabled";
+                        compatible = "qcom,sdhci-msm-v4";
+                        reg = <0x74a4900 0x314>, <0x74a4000 0x800>;
+                        reg-names = "hc_mem", "core_mem";
+
+                        interrupts = <0 125 0>, <0 221 0>;
+                        interrupt-names = "hc_irq", "pwr_irq";
+
+                        clock-names = "iface", "core";
+                        clocks = <&gcc GCC_SDCC2_AHB_CLK>,
+                        <&gcc GCC_SDCC2_APPS_CLK>;
+                        bus-width = <4>;
+                };
+
+               msmgpio: pinctrl@1010000 {
                        compatible = "qcom,msm8996-pinctrl";
                        reg = <0x01010000 0x300000>;
                        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
                };
        };
 };
+#include "msm8996-pins.dtsi"
index 9f561c9..98f0263 100644 (file)
@@ -62,7 +62,7 @@
                clock-frequency = <24576000>;
        };
 
-       vcc_sdhi0: regulator@1 {
+       vcc_sdhi0: regulator-vcc-sdhi0 {
                compatible = "regulator-fixed";
 
                regulator-name = "SDHI0 Vcc";
@@ -73,7 +73,7 @@
                enable-active-high;
        };
 
-       vccq_sdhi0: regulator@2 {
+       vccq_sdhi0: regulator-vccq-sdhi0 {
                compatible = "regulator-gpio";
 
                regulator-name = "SDHI0 VccQ";
@@ -86,7 +86,7 @@
                          1800000 0>;
        };
 
-       vcc_sdhi3: regulator@3 {
+       vcc_sdhi3: regulator-vcc-sdhi3 {
                compatible = "regulator-fixed";
 
                regulator-name = "SDHI3 Vcc";
@@ -97,7 +97,7 @@
                enable-active-high;
        };
 
-       vccq_sdhi3: regulator@4 {
+       vccq_sdhi3: regulator-vccq-sdhi3 {
                compatible = "regulator-gpio";
 
                regulator-name = "SDHI3 VccQ";
        pinctrl-0 = <&scif1_pins>;
        pinctrl-names = "default";
 
+       uart-has-rtscts;
        status = "okay";
 };
 
        shared-pin;
 };
 
+&wdt0 {
+       timeout-sec = <60>;
+       status = "okay";
+};
+
 &audio_clk_a {
        clock-frequency = <22579200>;
 };
index 3285a92..04eb0bc 100644 (file)
                        next-level-cache = <&L2_CA57>;
                        enable-method = "psci";
                };
-       };
 
-       L2_CA57: cache-controller@0 {
-               compatible = "cache";
-               power-domains = <&sysc R8A7795_PD_CA57_SCU>;
-               cache-unified;
-               cache-level = <2>;
-       };
+               L2_CA57: cache-controller@0 {
+                       compatible = "cache";
+                       reg = <0>;
+                       power-domains = <&sysc R8A7795_PD_CA57_SCU>;
+                       cache-unified;
+                       cache-level = <2>;
+               };
 
-       L2_CA53: cache-controller@1 {
-               compatible = "cache";
-               power-domains = <&sysc R8A7795_PD_CA53_SCU>;
-               cache-unified;
-               cache-level = <2>;
+               L2_CA53: cache-controller@100 {
+                       compatible = "cache";
+                       reg = <0x100>;
+                       power-domains = <&sysc R8A7795_PD_CA53_SCU>;
+                       cache-unified;
+                       cache-level = <2>;
+               };
        };
 
        extal_clk: extal {
                #size-cells = <2>;
                ranges;
 
-               gic: interrupt-controller@0xf1010000 {
+               gic: interrupt-controller@f1010000 {
                        compatible = "arm,gic-400";
                        #interrupt-cells = <3>;
                        #address-cells = <0>;
                        interrupt-controller;
                        reg = <0x0 0xf1010000 0 0x1000>,
-                             <0x0 0xf1020000 0 0x2000>,
+                             <0x0 0xf1020000 0 0x20000>,
                              <0x0 0xf1040000 0 0x20000>,
-                             <0x0 0xf1060000 0 0x2000>;
+                             <0x0 0xf1060000 0 0x20000>;
                        interrupts = <GIC_PPI 9
                                        (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
                };
 
+               wdt0: watchdog@e6020000 {
+                       compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt";
+                       reg = <0 0xe6020000 0 0x0c>;
+                       clocks = <&cpg CPG_MOD 402>;
+                       power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       status = "disabled";
+               };
+
                gpio0: gpio@e6050000 {
                        compatible = "renesas,gpio-r8a7795",
                                     "renesas,gpio-rcar";
                        interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 931>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac1 0x91>, <&dmac1 0x90>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <110>;
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 930>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac1 0x93>, <&dmac1 0x92>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <6>;
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 929>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac1 0x95>, <&dmac1 0x94>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <6>;
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 928>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac0 0x97>, <&dmac0 0x96>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <110>;
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 927>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac0 0x99>, <&dmac0 0x98>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <110>;
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 919>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac0 0x9b>, <&dmac0 0x9a>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <110>;
                        status = "disabled";
                };
                        interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&cpg CPG_MOD 918>;
                        power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
+                       dmas = <&dmac0 0x9d>, <&dmac0 0x9c>;
+                       dma-names = "tx", "rx";
                        i2c-scl-internal-delay-ns = <6>;
                        status = "disabled";
                };
                        status = "disabled";
 
                        rcar_sound,dvc {
-                               dvc0: dvc@0 {
+                               dvc0: dvc-0 {
                                        dmas = <&audma0 0xbc>;
                                        dma-names = "tx";
                                };
-                               dvc1: dvc@1 {
+                               dvc1: dvc-1 {
                                        dmas = <&audma0 0xbe>;
                                        dma-names = "tx";
                                };
                        };
 
                        rcar_sound,src {
-                               src0: src@0 {
+                               src0: src-0 {
                                        interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x85>, <&audma1 0x9a>;
                                        dma-names = "rx", "tx";
                                };
-                               src1: src@1 {
+                               src1: src-1 {
                                        interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x87>, <&audma1 0x9c>;
                                        dma-names = "rx", "tx";
                                };
-                               src2: src@2 {
+                               src2: src-2 {
                                        interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x89>, <&audma1 0x9e>;
                                        dma-names = "rx", "tx";
                                };
-                               src3: src@3 {
+                               src3: src-3 {
                                        interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x8b>, <&audma1 0xa0>;
                                        dma-names = "rx", "tx";
                                };
-                               src4: src@4 {
+                               src4: src-4 {
                                        interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x8d>, <&audma1 0xb0>;
                                        dma-names = "rx", "tx";
                                };
-                               src5: src@5 {
+                               src5: src-5 {
                                        interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x8f>, <&audma1 0xb2>;
                                        dma-names = "rx", "tx";
                                };
-                               src6: src@6 {
+                               src6: src-6 {
                                        interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x91>, <&audma1 0xb4>;
                                        dma-names = "rx", "tx";
                                };
-                               src7: src@7 {
+                               src7: src-7 {
                                        interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x93>, <&audma1 0xb6>;
                                        dma-names = "rx", "tx";
                                };
-                               src8: src@8 {
+                               src8: src-8 {
                                        interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x95>, <&audma1 0xb8>;
                                        dma-names = "rx", "tx";
                                };
-                               src9: src@9 {
+                               src9: src-9 {
                                        interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x97>, <&audma1 0xba>;
                                        dma-names = "rx", "tx";
                        };
 
                        rcar_sound,ssi {
-                               ssi0: ssi@0 {
+                               ssi0: ssi-0 {
                                        interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi1: ssi@1 {
+                               ssi1: ssi-1 {
                                         interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi2: ssi@2 {
+                               ssi2: ssi-2 {
                                        interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi3: ssi@3 {
+                               ssi3: ssi-3 {
                                        interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi4: ssi@4 {
+                               ssi4: ssi-4 {
                                        interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi5: ssi@5 {
+                               ssi5: ssi-5 {
                                        interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi6: ssi@6 {
+                               ssi6: ssi-6 {
                                        interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi7: ssi@7 {
+                               ssi7: ssi-7 {
                                        interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi8: ssi@8 {
+                               ssi8: ssi-8 {
                                        interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
                                        dma-names = "rx", "tx", "rxu", "txu";
                                };
-                               ssi9: ssi@9 {
+                               ssi9: ssi-9 {
                                        interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
                                        dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
                                        dma-names = "rx", "tx", "rxu", "txu";
index 9532880..c223915 100644 (file)
@@ -42,6 +42,8 @@
  *     OTHER DEALINGS IN THE SOFTWARE.
  */
 
+/memreserve/ 0x80000000 0x00000008;    /* cpu-release-addr */
+
 / {
        compatible = "socionext,ph1-ld20";
        #address-cells = <2>;
@@ -77,7 +79,7 @@
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0 0x000>;
                        enable-method = "spin-table";
-                       cpu-release-addr = <0 0x80000100>;
+                       cpu-release-addr = <0 0x80000000>;
                };
 
                cpu1: cpu@1 {
@@ -85,7 +87,7 @@
                        compatible = "arm,cortex-a72", "arm,armv8";
                        reg = <0 0x001>;
                        enable-method = "spin-table";
-                       cpu-release-addr = <0 0x80000100>;
+                       cpu-release-addr = <0 0x80000000>;
                };
 
                cpu2: cpu@100 {
@@ -93,7 +95,7 @@
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0 0x100>;
                        enable-method = "spin-table";
-                       cpu-release-addr = <0 0x80000100>;
+                       cpu-release-addr = <0 0x80000000>;
                };
 
                cpu3: cpu@101 {
                        compatible = "arm,cortex-a53", "arm,armv8";
                        reg = <0 0x101>;
                        enable-method = "spin-table";
-                       cpu-release-addr = <0 0x80000100>;
+                       cpu-release-addr = <0 0x80000000>;
                };
        };
 
                        reg = <0x59801000 0x400>;
                };
 
-               pinctrl: pinctrl@5f801000 {
-                       compatible = "socionext,ph1-ld20-pinctrl", "syscon";
-                       reg = <0x5f801000 0xe00>;
+               soc-glue@5f800000 {
+                       compatible = "simple-mfd", "syscon";
+                       reg = <0x5f800000 0x2000>;
+
+                       pinctrl: pinctrl {
+                                compatible = "socionext,uniphier-ld20-pinctrl";
+                       };
                };
 
                gic: interrupt-controller@5fe00000 {