/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,115200";
+ bootargs = "console=ttyS0,38400";
};
cpuintc: cpuintc {
#size-cells = <1>;
ranges = <0x0 0x18000000 0x10000>;
- intc: rtlintc@3000 {
- compatible = "realtek,rtl-intc";
- reg = <0x3000 0x20>;
- #address-cells = <0>;
- #interrupt-cells = <1>;
+ intc: interrupt-controller@3000 {
+ compatible = "realtek,rtl9300-intc", "realtek,rtl-intc";
+ reg = <0x3000 0x18>, <0x3018 0x18>;
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 */
- <6 &cpuintc 5>, /* WDT_IP2 */
- <5 &cpuintc 4>; /* WDT_IP1 */
+ #interrupt-cells = <2>;
+
+ interrupt-parent = <&cpuintc>;
+ interrupts = <2>, <3>, <4>, <5>, <6>, <7>;
};
- timer: timer@3200 {
- compatible = "realtek,rtl9300-timer";
- reg = <0x3200 0x60>;
+ rtl9300clock: rtl9300clock@3200 {
+ compatible = "realtek,rtl9300clock";
+ reg = <0xb8003200 0x10>;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+
interrupt-parent = <&intc>;
- interrupts = <8>;
- interrupt-names = "ostimer";
- clocks = <&lx_clk>;
+ interrupts = <7 1>, <8 2>;
};
spi0: spi@1200 {
clocks = <&lx_clk>;
interrupt-parent = <&intc>;
- interrupts = <30>;
+ interrupts = <30 1>;
reg-io-width = <1>;
reg-shift = <2>;
clocks = <&lx_clk>;
interrupt-parent = <&intc>;
- interrupts = <31>;
+ interrupts = <31 0>;
reg-io-width = <1>;
reg-shift = <2>;
interrupt-parent = <&intc>;
interrupt-names = "phase1", "phase2";
- interrupts = <5>, <6>;
+ interrupts = <5 4>, <6 4>;
};
- gpio0: gpio-controller@3500 {
- compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
- reg = <0x3500 0x20>;
+ gpio0: gpio-controller@3300 {
+ compatible = "realtek,rtl9300-gpio", "realtek,otto-gpio";
+ reg = <0x3300 0x1c>, <0x3338 0x8>;
+
gpio-controller;
#gpio-cells = <2>;
- ngpios = <32>;
- interrupt-parent = <&intc>;
- interrupts = <31>;
+ ngpios = <24>;
- /*
- * currently, RTL930x GPIO is not supported in
- * upstreamed driver (gpio-realtek-otto)
- */
- status = "disabled";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&intc>;
+ interrupts = <13 1>;
};
+
};
ethernet0: ethernet@1b00a300 {
compatible = "realtek,rtl838x-eth";
reg = <0x1b00a300 0x100>;
+
interrupt-parent = <&intc>;
- interrupts = <24>;
- #interrupt-cells = <1>;
+ interrupts = <24 3>;
+
phy-mode = "internal";
fixed-link {
switch0: switch@1b000000 {
compatible = "realtek,rtl83xx-switch";
+ status = "okay";
interrupt-parent = <&intc>;
- interrupts = <20>;
+ interrupts = <23 2>;
};
};