arm64: dts: Fix broken architected timer interrupt trigger
[linux-2.6-block.git] / arch / arm64 / boot / dts / amlogic / meson-gxbb.dtsi
index 832815d80462871c0dc96372e2b6194b81f57785..bf6c8d0510028b472efc4e7a34033e8ca0d8f7c8 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";
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <GIC_PPI 13
-                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>,
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
                             <GIC_PPI 14
-                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>,
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
                             <GIC_PPI 11
-                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>,
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
                             <GIC_PPI 10
-                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_EDGE_RISING)>;
+                       (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
        };
 
        xtal: xtal-clk {
                        #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>;
+
+                       rng {
+                               compatible = "amlogic,meson-rng";
+                               reg = <0x0 0x0 0x0 0x4>;
+                       };
+
+                       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>;
+
+                       clkc: clock-controller@0 {
+                               compatible = "amlogic,gxbb-clkc";
+                               #clock-cells = <1>;
+                               reg = <0x0 0x0 0x0 0x3db>;
+                       };
+               };
+
                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";
+               };
        };
 };