/dts-v1/;
-#define STRINGIZE(s) #s
-#define LAN_LABEL(p, s) STRINGIZE(p ## s)
-#define SWITCH_PORT_LABEL(n) LAN_LABEL(lan, n)
-
-#define INTERNAL_PHY(n) \
- phy##n: ethernet-phy@##n { \
- reg = <##n>; \
- compatible = "ethernet-phy-ieee802.3-c22"; \
- phy-is-integrated; \
- };
-
-#define EXTERNAL_PHY(n) \
- phy##n: ethernet-phy@##n { \
- reg = <##n>; \
- compatible = "ethernet-phy-ieee802.3-c22"; \
- };
-
-#define EXTERNAL_SFP_PHY(n) \
- phy##n: ethernet-phy@##n { \
- compatible = "ethernet-phy-ieee802.3-c22"; \
- sfp; \
- media = "fibre"; \
- reg = <##n>; \
- };
-
-#define SWITCH_PORT(n, s, m) \
- port@##n { \
- reg = <##n>; \
- label = SWITCH_PORT_LABEL(s) ; \
- phy-handle = <&phy##n>; \
- phy-mode = #m ; \
- };
-
-#define SWITCH_SFP_PORT(n, s, m) \
- port@##n { \
- reg = <##n>; \
- label = SWITCH_PORT_LABEL(s) ; \
- phy-handle = <&phy##n>; \
- phy-mode = #m ; \
- fixed-link { \
- speed = <1000>; \
- full-duplex; \
- }; \
- };
-
/ {
#address-cells = <1>;
#size-cells = <1>;
};
chosen {
- bootargs = "console=ttyS0,38400";
+ bootargs = "console=ttyS0,115200";
};
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 1>, /* UART1 */
- <30 &cpuintc 2>, /* UART0 */
- <28 &cpuintc 1>, /* USB_H2 */
- <24 &cpuintc 4>, /* NIC */
- <23 &cpuintc 3>, /* SWCORE */
- <13 &cpuintc 4>, /* GPIO_ABCD */
- <11 &cpuintc 1>, /* TC4 */
- <10 &cpuintc 1>, /* TC3 */
- <9 &cpuintc 1>, /* TC2 */
- <8 &cpuintc 1>, /* TC1 */
- <7 &cpuintc 5>; /* TC0 */
- };
-
- osc: oscillator {
+ lx_clk: lx_clk {
compatible = "fixed-clock";
- #clock-cells = <1>;
+ #clock-cells = <0>;
clock-frequency = <175000000>;
- clock-output-names = "osc";
};
- timer: timer@b8003200 {
- compatible = "realtek,rtl9300-timer";
- reg = <0xb8003200 0x60>;
- interrupt-parent = <&intc>;
- interrupts = <8>;
- interrupt-names = "ostimer";
- clocks = <&osc 0>;
- };
+ 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,rtl9300-intc", "realtek,rtl-intc";
+ reg = <0x3000 0x18>, <0x3018 0x18>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
- };
+ interrupt-parent = <&cpuintc>;
+ interrupts = <2>, <3>, <4>, <5>, <6>, <7>;
+ };
- uart0: uart@b8002000 {
- compatible = "ns16550a";
- reg = <0xb8002000 0x100>;
+ rtl9300clock: rtl9300clock@3200 {
+ compatible = "realtek,rtl9300clock";
+ reg = <0xb8003200 0x10>;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
- clock-frequency = <175000000>;
+ interrupt-parent = <&intc>;
+ interrupts = <7 5>, <8 5>;
+ };
- interrupt-parent = <&intc>;
- interrupts = <30>;
+ spi0: spi@1200 {
+ compatible = "realtek,rtl8380-spi";
+ reg = <0x1200 0x100>;
- reg-io-width = <1>;
- reg-shift = <2>;
- fifo-size = <1>;
- no-loopback-test;
- };
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
- uart1: uart@b8002100 {
- compatible = "ns16550a";
- reg = <0xb8002100 0x100>;
+ uart0: uart@2000 {
+ compatible = "ns16550a";
+ reg = <0x2000 0x100>;
- clock-frequency = <175000000>;
+ clocks = <&lx_clk>;
- interrupt-parent = <&intc>;
- interrupts = <31>;
+ interrupt-parent = <&intc>;
+ interrupts = <30 1>;
- reg-io-width = <1>;
- reg-shift = <2>;
- fifo-size = <1>;
- no-loopback-test;
- };
+ reg-io-width = <1>;
+ reg-shift = <2>;
+ fifo-size = <1>;
+ no-loopback-test;
+ };
- gpio0: gpio-controller@b8003500 {
- compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
- reg = <0xb8003500 0x20>;
- gpio-controller;
- #gpio-cells = <2>;
- ngpios = <32>;
- interrupt-parent = <&intc>;
- interrupts = <31>;
+ 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>;
+ };
- /*
- * currently, RTL930x GPIO is not supported in
- * upstreamed driver (gpio-realtek-otto)
- */
- status = "disabled";
};
- ethernet0: ethernet@bb00a300 {
+ ethernet0: ethernet@1b00a300 {
compatible = "realtek,rtl838x-eth";
- reg = <0xbb00a300 0x100>;
+ reg = <0x1b00a300 0x100>;
+
interrupt-parent = <&intc>;
- interrupts = <24>;
- #interrupt-cells = <1>;
+ interrupts = <24 3>;
+
phy-mode = "internal";
fixed-link {
};
};
- switch0: switch@bb000000 {
+ switch0: switch@1b000000 {
compatible = "realtek,rtl83xx-switch";
+ status = "okay";
interrupt-parent = <&intc>;
- interrupts = <20>;
+ interrupts = <23 2>;
};
};