realtek: add support for HPE 1920 series
[openwrt/staging/jow.git] / target / linux / realtek / dts-5.10 / rtl838x.dtsi
index 1751c57e28aa4246b6248a871ec9a59a4de35652..41fdbdae20b2b482670224aa2b0371e04f345395 100644 (file)
                reg = <##n>; \
        };
 
+#define EXTERNAL_SFP_PHY_FULL(n, s) \
+       phy##n: ethernet-phy@##n { \
+               compatible = "ethernet-phy-ieee802.3-c22"; \
+               sfp = <&sfp##s>; \
+               reg = <##n>; \
+       };
+
 #define SWITCH_PORT(n, s, m) \
        port@##n { \
                reg = <##n>; \
        };
 
        chosen {
-               bootargs = "console=ttyS0,38400";
+               bootargs = "console=ttyS0,115200";
+       };
+
+       lx_clk: lx_clk {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <200000000>;
        };
 
        cpuintc: cpuintc {
                interrupt-controller;
        };
 
-       intc: rtlintc {
-               compatible = "realtek,rtl-intc";
-               reg = <0xb8003000 0x20>;
-               #address-cells = <0>;
-               #interrupt-cells = <1>;
-               interrupt-controller;
-               interrupt-map =
-                       <31 &cpuintc 2>, /* UART0 */
-                       <30 &cpuintc 1>, /* UART1 */
-                       <29 &cpuintc 5>, /* TC0 */
-                       <28 &cpuintc 1>, /* TC1 */
-                       <27 &cpuintc 1>, /* OCPTO */
-                       <26 &cpuintc 1>, /* HLXTO */
-                       <25 &cpuintc 1>, /* SLXTO */
-                       <24 &cpuintc 4>, /* NIC */
-                       <23 &cpuintc 4>, /* GPIO_ABCD */
-                       <22 &cpuintc 4>, /* GPIO_EFGH */
-                       <21 &cpuintc 4>, /* RTC */
-                       <20 &cpuintc 3>, /* SWCORE */
-                       <19 &cpuintc 4>, /* WDT_IP1 */
-                       <18 &cpuintc 5>; /* WDT_IP2 */
-       };
+       soc: soc {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges = <0x0 0x18000000 0x10000>;
 
-       spi0: spi@b8001200 {
-               compatible = "realtek,rtl8380-spi";
-               reg = <0xb8001200 0x100>;
+               intc: interrupt-controller@3000 {
+                       compatible = "realtek,rtl8380-intc", "realtek,rtl-intc";
+                       reg = <0x3000 0x18>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
 
-               #address-cells = <1>;
-               #size-cells = <0>;
-       };
+                       interrupt-parent = <&cpuintc>;
+                       interrupts = <2>, <3>, <4>, <5>, <6>;
+               };
 
-       uart0: uart@b8002000 {
-               compatible = "ns16550a";
-               reg = <0xb8002000 0x100>;
+               spi0: spi@1200 {
+                       compatible = "realtek,rtl8380-spi";
+                       reg = <0x1200 0x100>;
 
-               clock-frequency = <200000000>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
 
-               interrupt-parent = <&intc>;
-               interrupts = <31>;
+               uart0: uart@2000 {
+                       compatible = "ns16550a";
+                       reg = <0x2000 0x100>;
 
-               reg-io-width = <1>;
-               reg-shift = <2>;
-               fifo-size = <1>;
-               no-loopback-test;
-       };
+                       clocks = <&lx_clk>;
 
-       uart1: uart@b8002100 {
-               pinctrl-names = "default";
-               pinctrl-0 = <&enable_uart1>;
+                       interrupt-parent = <&intc>;
+                       interrupts = <31 1>;
 
-               compatible = "ns16550a";
-               reg = <0xb8002100 0x100>;
+                       reg-io-width = <1>;
+                       reg-shift = <2>;
+                       fifo-size = <1>;
+                       no-loopback-test;
+               };
 
-               clock-frequency = <200000000>;
+               uart1: uart@2100 {
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&enable_uart1>;
 
-               interrupt-parent = <&intc>;
-               interrupts = <30>;
+                       compatible = "ns16550a";
+                       reg = <0x2100 0x100>;
 
-               reg-io-width = <1>;
-               reg-shift = <2>;
-               fifo-size = <1>;
-               no-loopback-test;
-       };
+                       clocks = <&lx_clk>;
 
-       gpio0: gpio-controller@b8003500 {
-               compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
-               reg = <0xb8003500 0x20>;
-               gpio-controller;
-               #gpio-cells = <2>;
-               ngpios = <24>;
-               interrupt-parent = <&intc>;
-               interrupts = <23>;
-       };
+                       interrupt-parent = <&intc>;
+                       interrupts = <30 0>;
+
+                       reg-io-width = <1>;
+                       reg-shift = <2>;
+                       fifo-size = <1>;
+                       no-loopback-test;
+
+                       status = "disabled";
+               };
+
+               watchdog0: watchdog@3150 {
+                       compatible = "realtek,rtl8380-wdt";
+                       reg = <0x3150 0xc>;
+
+                       realtek,reset-mode = "soc";
+
+                       clocks = <&lx_clk>;
+                       timeout-sec = <30>;
+
+                       interrupt-parent = <&intc>;
+                       interrupt-names = "phase1", "phase2";
+                       interrupts = <19 3>, <18 4>;
+               };
+
+               gpio0: gpio-controller@3500 {
+                       compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
+                       reg = <0x3500 0x20>;
 
-       gpio1: rtl8231-gpio {
-               compatible = "realtek,rtl8231-gpio";
-               #gpio-cells = <2>;
-               indirect-access-bus-id = <0>;
-               gpio-controller;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       ngpios = <24>;
 
-               status = "disabled";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       interrupt-parent = <&intc>;
+                       interrupts = <23 3>;
+               };
        };
 
-       pinmux: pinmux@bb001000 {
+       pinmux: pinmux@1b001000 {
                compatible = "pinctrl-single";
-               reg = <0xbb001000 0x4>;
+               reg = <0x1b001000 0x4>;
 
                pinctrl-single,bit-per-mux;
                pinctrl-single,register-width = <32>;
                };
        };
 
-       ethernet0: ethernet@bb00a300 {
+       /* LED_GLB_CTRL */
+       pinmux_led: pinmux@1b00a000 {
+               compatible = "pinctrl-single";
+               reg = <0x1b00a000 0x4>;
+
+               pinctrl-single,bit-per-mux;
+               pinctrl-single,register-width = <32>;
+               pinctrl-single,function-mask = <0x1>;
+               #pinctrl-cells = <2>;
+
+               /* enable GPIO 0 */
+               pinmux_disable_sys_led: disable_sys_led {
+                       pinctrl-single,bits = <0x0 0x0 0x8000>;
+               };
+       };
+
+       ethernet0: ethernet@1b00a300 {
                compatible = "realtek,rtl838x-eth";
-               reg = <0xbb00a300 0x100>;
+               reg = <0x1b00a300 0x100>;
                interrupt-parent = <&intc>;
-               interrupts = <24>;
+               interrupts = <24 3>;
                #interrupt-cells = <1>;
                phy-mode = "internal";
 
                };
        };
 
-       switch0: switch@bb000000 {
+       switch0: switch@1b000000 {
                compatible = "realtek,rtl83xx-switch";
 
                interrupt-parent = <&intc>;
-               interrupts = <20>;
+               interrupts = <20 2>;
        };
 };