// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; #define INTERNAL_PHY_SDS(n, s) \ phy##n: ethernet-phy@##n { \ reg = <##n>; \ compatible = "ethernet-phy-ieee802.3-c22"; \ phy-is-integrated; \ sds = <##s>; \ }; / { #address-cells = <1>; #size-cells = <1>; compatible = "realtek,rtl838x-soc"; cpus { #address-cells = <1>; #size-cells = <0>; frequency = <800000000>; cpu@0 { compatible = "mips,mips34Kc"; reg = <0>; }; }; memory@0 { device_type = "memory"; reg = <0x0 0x8000000>; }; aliases { serial0 = &uart0; serial1 = &uart1; }; chosen { bootargs = "earlycon"; stdout-path = "serial0:115200n8"; }; cpuintc: cpuintc { compatible = "mti,cpu-interrupt-controller"; #address-cells = <0>; #interrupt-cells = <1>; interrupt-controller; }; lx_clk: lx_clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <175000000>; }; soc: soc { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x18000000 0x10000>; intc: interrupt-controller@3000 { compatible = "realtek,rtl9300-intc", "realtek,rtl-intc"; reg = <0x3000 0x18>, <0x3018 0x18>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&cpuintc>; interrupts = <2>, <3>, <4>, <5>, <6>, <7>; }; spi0: spi@1200 { compatible = "realtek,rtl8380-spi"; reg = <0x1200 0x100>; #address-cells = <1>; #size-cells = <0>; }; timer0: timer@3200 { compatible = "realtek,rtl930x-timer", "realtek,otto-timer"; reg = <0x3200 0x10>, <0x3210 0x10>, <0x3220 0x10>, <0x3230 0x10>, <0x3240 0x10>; interrupt-parent = <&intc>; interrupts = <7 4>, <8 4>, <9 4>, <10 4>, <11 4>; clocks = <&lx_clk>; }; uart0: uart@2000 { compatible = "ns16550a"; reg = <0x2000 0x100>; clocks = <&lx_clk>; interrupt-parent = <&intc>; interrupts = <30 1>; reg-io-width = <1>; reg-shift = <2>; fifo-size = <1>; no-loopback-test; }; uart1: uart@2100 { compatible = "ns16550a"; reg = <0x2100 0x100>; clocks = <&lx_clk>; interrupt-parent = <&intc>; interrupts = <31 0>; reg-io-width = <1>; reg-shift = <2>; fifo-size = <1>; no-loopback-test; status = "disabled"; }; watchdog0: watchdog@3260 { compatible = "realtek,rtl9300-wdt"; reg = <0x3260 0xc>; realtek,reset-mode = "soc"; clocks = <&lx_clk>; timeout-sec = <30>; interrupt-parent = <&intc>; interrupt-names = "phase1", "phase2"; interrupts = <5 4>, <6 4>; }; gpio0: gpio-controller@3300 { compatible = "realtek,rtl9300-gpio", "realtek,otto-gpio"; reg = <0x3300 0x1c>, <0x3338 0x8>; gpio-controller; #gpio-cells = <2>; ngpios = <24>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&intc>; interrupts = <13 1>; }; }; switchcore@1b000000 { compatible = "syscon", "simple-mfd"; reg = <0x1b000000 0x10000>; mdio_aux: mdio-aux { compatible = "realtek,rtl9300-aux-mdio"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&pinmux_gpio_mdio_en>; pinctrl-names = "default"; status = "disabled"; }; soc_thermal: thermal { compatible = "realtek,rtl9300-thermal"; #thermal-sensor-cells = <0>; }; }; pinmux@1b00c600 { compatible = "pinctrl-single"; reg = <0x1b00c600 0x4>; pinctrl-single,bit-per-mux; pinctrl-single,register-width = <32>; pinctrl-single,function-mask = <0x1>; #pinctrl-cells = <2>; pinmux_gpio_mdio_en: gpio-mdio-en { pinctrl-single,bits = <0x0 0x100 0x100>; }; }; pinmux_led: pinmux@1b00cc00 { compatible = "pinctrl-single"; reg = <0x1b00cc00 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 0x1000>; }; }; ethernet0: ethernet@1b00a300 { compatible = "realtek,rtl838x-eth"; reg = <0x1b00a300 0x100>; interrupt-parent = <&intc>; interrupts = <24 3>; phy-mode = "internal"; fixed-link { speed = <1000>; full-duplex; }; }; switch0: switch@1b000000 { compatible = "realtek,rtl83xx-switch"; status = "okay"; interrupt-parent = <&intc>; interrupts = <23 2>; }; thermal_zones: thermal-zones { cpu-thermal { polling-delay-passive = <1000>; polling-delay = <1000>; coefficients = <1000 0>; thermal-sensors = <&soc_thermal>; trips { critical { temperature = <105000>; hysteresis = <2000>; type = "critical"; }; }; }; }; };