lantiq: specify console using stdout-path instead of cmdline argument
[openwrt/openwrt.git] / target / linux / lantiq / dts / falcon.dtsi
index ec1b450badbf03f93c7530abc3adf3961f012b1b..30025e0dc278663ae77e63fedc7031decbe27d16 100644 (file)
@@ -9,19 +9,65 @@
                };
        };
 
-       localbus@10000000 {
+       aliases {
+               serial0 = &serial0;
+               serial1 = &serial1;
+               gpio0 = &gpio0;
+               gpio1 = &gpio1;
+               gpio2 = &gpio2;
+               gpio3 = &gpio3;
+               gpio4 = &gpio4;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       clocks {
+               compatible = "simple-bus";
+
+               cpu_clk: cpu {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <400000000>;
+                       clock-output-names = "cpu";
+               };
+
+               io_clk: io {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <200000000>;
+                       clock-output-names = "io";
+               };
+
+               fpi_clk: fpi {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <100000000>;
+                       clock-output-names = "fpi";
+               };
+       };
+
+       ebu_cs0: localbus@10000000 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "lantiq,localbus", "simple-bus";
+               reg = <0x10000000 0x4000000>;
+               ranges = <0x0 0x10000000 0x4000000>;
+       };
+       ebu_cs1: localbus@14000000 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "lantiq,localbus", "simple-bus";
-               reg = <0x10000000 0xC000000>;
-               ranges = <0x0 0x10000000 0xC000000>;
+               reg = <0x14000000 0x4000000>;
+               ranges = <0x0 0x14000000 0x4000000>;
        };
-       
+
        ebu@18000000 {
                compatible = "lantiq,ebu-falcon";
                reg = <0x18000000 0x100>;
        };
-       
+
        sbs2@1D000000 {
                #address-cells = <1>;
                #size-cells = <1>;
                reg = <0x1D000000 0x1000000>;
                ranges = <0x0 0x1D000000 0x1000000>;
 
-               sysgpe@700000 {
+               clock_sysgpe: clock-controller@700000 {
                        compatible = "lantiq,sysgpe-falcon";
                        reg = <0x700000 0x100>;
+                       #clock-cells = <1>;
+               };
+
+               mps@4000 {
+                       compatible = "lantiq,mps-falcon", "lantiq,mps-xrx100";
+                       reg = <0x4000 0x1000>;
+                       interrupt-parent = <&icu0>;
+                       interrupts = <154 155>;
+                       lantiq,mbx = <&mpsmbx>;
                };
-       
+
                gpio0: gpio@810000 {
-                       #gpio-cells = <2>;
-                       compatible = "lantiq,gpio-falcon";
+                       compatible = "lantiq,falcon-gpio";
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                        interrupt-parent = <&icu0>;
                        interrupts = <44>;
                        reg = <0x810000 0x80>;
-                       lantiq,bank = <0>;
+                       clocks = <&clock_syseth 16>;
                };
-       
+
                gpio2: gpio@810100 {
-                       #gpio-cells = <2>;
-                       compatible = "lantiq,gpio-falcon";
+                       compatible = "lantiq,falcon-gpio";
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                        interrupt-parent = <&icu0>;
                        interrupts = <46>;
                        reg = <0x810100 0x80>;
-                       lantiq,bank = <2>;
+                       clocks = <&clock_syseth 17>;
                };
-       
-               syseth@B00000 {
+
+               clock_syseth: clock-controller@B00000 {
                        compatible = "lantiq,syseth-falcon";
                        reg = <0xB00000 0x100>;
+                       #clock-cells = <1>;
                };
-       
+
                pad@B01000 {
                        compatible = "lantiq,pad-falcon";
                        reg = <0xB01000 0x100>;
                        lantiq,bank = <0>;
+                       clocks = <&clock_syseth 20>;
                };
-       
+
                pad@B02000 {
                        compatible = "lantiq,pad-falcon";
                        reg = <0xB02000 0x100>;
                        lantiq,bank = <2>;
+                       clocks = <&clock_syseth 21>;
                };
        };
 
                reg = <0x1E000000 0x1000000>;
                ranges = <0x0 0x1E000000 0x1000000>;
 
-               serial@100B00 {
+               serial1: serial@100B00 {
                        status = "disabled";
                        compatible = "lantiq,asc";
                        reg = <0x100B00 0x100>;
                        interrupt-parent = <&icu0>;
-                       interrupts = <104 105 106>;
+                       interrupts = <112 113 114>;
                        line = <1>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&asc1_pins>;
+                       clocks = <&clock_sys1 11>;
                };
 
-               serial@100C00 {
+               serial0: serial@100C00 {
                        compatible = "lantiq,asc";
                        reg = <0x100C00 0x100>;
                        interrupt-parent = <&icu0>;
                        interrupts = <104 105 106>;
                        line = <0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&asc0_pins>;
+                       clocks = <&clock_sys1 12>;
+               };
+
+               spi: spi@100D00 {
+                       status = "disabled";
+                       compatible = "intel,falcon-spi", "intel,xrx100-spi", "lantiq,spi-lantiq-ssc";
+                       interrupts = <22 23 24 25>;
+                       interrupt-names = "spi_tx", "spi_rx", "spi_err", "spi_frm";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0x100D00 0x100>;
+                       interrupt-parent = <&icu0>;
+                       clocks = <&clock_sys1 13>;
+                       base_cs = <1>;
+                       num_cs = <2>;
+               };
+
+               gptc@100E00 {
+                       compatible = "lantiq,gptc-falcon";
+                       reg = <0x100E00 0x100>;
                };
 
-               i2c@200000 {
+               i2c: i2c@200000 {
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
                        compatible = "lantiq,lantiq-i2c";
                        reg = <0x200000 0x10000>;
                        interrupt-parent = <&icu0>;
                        interrupts = <18 19 20 21>;
                        gpios = <&gpio1 7 0 &gpio1 8 0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&i2c_pins>;
+                       clocks = <&clock_sys1 14>;
                };
 
                gpio1: gpio@800100 {
-                       #gpio-cells = <2>;
-                       compatible = "lantiq,gpio-falcon";
+                       compatible = "lantiq,falcon-gpio";
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                        interrupt-parent = <&icu0>;
                        interrupts = <45>;
                        reg = <0x800100 0x100>;
-                       lantiq,bank = <1>;
+                       clocks = <&clock_sys1 16>;
                };
 
                gpio3: gpio@800200 {
-                       status = "disabled";
-                       #gpio-cells = <2>;
-                       compatible = "lantiq,gpio-falcon";
+                       compatible = "lantiq,falcon-gpio";
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                        interrupt-parent = <&icu0>;
                        interrupts = <47>;
                        reg = <0x800200 0x100>;
-                       lantiq,bank = <3>;
+                       clocks = <&clock_sys1 17>;
                };
 
                gpio4: gpio@800300 {
-                       status = "disabled";
-                       #gpio-cells = <2>;
-                       compatible = "lantiq,gpio-falcon";
+                       compatible = "lantiq,falcon-gpio";
                        gpio-controller;
+                       #gpio-cells = <2>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                        interrupt-parent = <&icu0>;
                        interrupts = <48>;
                        reg = <0x800300 0x100>;
-                       lantiq,bank = <4>;
+                       clocks = <&clock_sys1 18>;
                };
 
                pad@800400 {
                        compatible = "lantiq,pad-falcon";
                        reg = <0x800400 0x100>;
                        lantiq,bank = <1>;
+                       clocks = <&clock_sys1 20>;
                };
 
                pad@800500 {
-                       status = "disabled";
                        compatible = "lantiq,pad-falcon";
                        reg = <0x800500 0x100>;
-                       bank = <3>;
+                       lantiq,bank = <3>;
+                       clocks = <&clock_sys1 21>;
                };
 
-               pad4@800600 {
-                       status = "disabled";
+               pad@800600 {
                        compatible = "lantiq,pad-falcon";
                        reg = <0x800600 0x100>;
-                       bank = <4>;
+                       lantiq,bank = <4>;
+                       clocks = <&clock_sys1 22>;
                };
 
                status@802000 {
                        reg = <0x802000 0x80>;
                };
 
-               sys1@F00000 {
+               clock_sys1: clock-controller@F00000 {
                        compatible = "lantiq,sys1-falcon";
                        reg = <0xF00000 0x100>;
+                       #clock-cells = <1>;
                };
        };
 
        sbs0@1F000000 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "simple-bus";
+               reg = <0x1F000000 0x400000>;
+               ranges = <0x0 0x1F000000 0x400000>;
 
+               mpsmbx: mpsmbx@200000 {
+                       reg = <0x200000 0x200>;
+               };
        };
 
        sbs1@1F700000 {
        biu@1F800000 {
                #address-cells = <1>;
                #size-cells = <1>;
-               compatible = "lantiq,falcon";
+               compatible = "lantiq,biu", "simple-bus";
                reg = <0x1F800000 0x800000>;
-               ranges = <0x0 0x1F800000 0x7FFFFF>;
+               ranges = <0x0 0x1F800000 0x800000>;
 
                icu0: icu@80200 {
                        #interrupt-cells = <1>;
                watchdog@803F0 {
                        compatible = "lantiq,wdt";
                        reg = <0x803F0 0x10>;
+                       clocks = <&io_clk>; /* currently no effect */
+               };
+       };
+
+       pinctrl {
+               compatible = "lantiq,pinctrl-falcon";
+               pinctrl-names = "default";
+               pinctrl-0 = <&state_default>;
+
+               state_default: pinctrl0 {
+                       /*ntr {
+                               lantiq,groups = "ntr8k";
+                               lantiq,function = "ntr";
+                       };*/
+                       hrst {
+                               lantiq,groups = "hrst";
+                               lantiq,function = "rst";
+                       };
+               };
+
+               asc0_pins: asc0 {
+                       asc0 {
+                               lantiq,groups = "asc0";
+                               lantiq,function = "asc";
+                       };
+               };
+               asc1_pins: asc1 {
+                       asc1 {
+                               lantiq,groups = "asc1";
+                               lantiq,function = "asc";
+                       };
+               };
+               i2c_pins: i2c {
+                       i2c {
+                               lantiq,groups = "i2c";
+                               lantiq,function = "i2c";
+                       };
+               };
+               bootled_pins: bootled {
+                       bootled {
+                               lantiq,groups = "bootled";
+                               lantiq,function = "led";
+                       };
+               };
+               ntr_ntr8k: ntr8k {
+                       ntr8k {
+                               lantiq,groups = "ntr8k";
+                               lantiq,function = "ntr";
+                       };
+               };
+               ntr_pps: pps {
+                       pps {
+                               lantiq,groups = "pps";
+                               lantiq,function = "ntr";
+                       };
+               };
+               ntr_gpio: gpio {
+                       gpio {
+                               lantiq,pins = "io5";
+                               lantiq,mux = <1>;
+                               lantiq,output = <0>;
+                       };
+               };
+               slic_pins: slic {
+                       slic {
+                               lantiq,groups = "slic";
+                               lantiq,function = "slic";
+                       };
                };
        };
+
+       pinselect-ntr {
+               compatible = "lantiq,onu-ntr","lantiq,pinselect-ntr";
+               pinctrl-names = "ntr8k", "pps", "gpio";
+               pinctrl-0 = <&ntr_ntr8k>;
+               pinctrl-1 = <&ntr_pps>;
+               pinctrl-2 = <&ntr_gpio>;
+       };
+
+       pinselect-asc1 {
+               compatible = "lantiq,onu-asc1","lantiq,pinselect-asc1";
+               pinctrl-names = "default", "asc1";
+               pinctrl-0 = <&slic_pins>;
+               pinctrl-1 = <&asc1_pins>;
+       };
+
 };