Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. For this device it is only a substitution of the existing DTS configuration. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/18851 Signed-off-by: Robert Marko <robimarko@gmail.com>
399 lines
7.4 KiB
Text
399 lines
7.4 KiB
Text
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "rtl930x.dtsi"
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
/ {
|
|
compatible = "tplink,tl-st1008f,v2", "realtek,rtl930x-soc";
|
|
model = "TP-Link TL-ST1008F v2.0";
|
|
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x10000000>, /* first 256 MiB */
|
|
<0x20000000 0x10000000>; /* remaining 256 MiB */
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
m1 {
|
|
label = "M1";
|
|
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <50>;
|
|
linux,code = <BTN_0>;
|
|
linux,input-type = <EV_SW>;
|
|
};
|
|
|
|
m2 {
|
|
label = "M2";
|
|
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <50>;
|
|
linux,code = <BTN_1>;
|
|
linux,input-type = <EV_SW>;
|
|
};
|
|
|
|
m3 {
|
|
label = "M3";
|
|
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
|
|
debounce-interval = <50>;
|
|
linux,code = <BTN_2>;
|
|
linux,input-type = <EV_SW>;
|
|
};
|
|
};
|
|
|
|
led_set {
|
|
compatible = "realtek,rtl9300-leds";
|
|
active-high;
|
|
|
|
led_set0 = <0x0ba0 0x0a08 0x0a01>;
|
|
};
|
|
|
|
i2c_gpio {
|
|
compatible = "i2c-gpio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
i2c-gpio,delay-us = <2>;
|
|
scl-gpios = <&gpio0 22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
sda-gpios = <&gpio0 23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
|
|
gpioexp0: i2c@38 {
|
|
reg = <0x38>;
|
|
compatible = "nxp,pca9534";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|
|
|
|
i2c_main: i2c@1b00036c {
|
|
compatible = "realtek,rtl9300-i2c";
|
|
reg = <0x1b00036c 0x3c>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
scl-pin = <8>;
|
|
sda-pin = <9>;
|
|
clock-frequency = <100000>;
|
|
};
|
|
|
|
i2c-mux {
|
|
compatible = "realtek,i2c-mux-rtl9300";
|
|
i2c-parent = <&i2c_main>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
i2c0: i2c@0 {
|
|
reg = <0>;
|
|
scl-pin = <8>;
|
|
sda-pin = <9>;
|
|
};
|
|
|
|
i2c1: i2c@1 {
|
|
reg = <1>;
|
|
scl-pin = <8>;
|
|
sda-pin = <10>;
|
|
};
|
|
|
|
i2c2: i2c@2 {
|
|
reg = <2>;
|
|
scl-pin = <8>;
|
|
sda-pin = <11>;
|
|
};
|
|
|
|
i2c3: i2c@3 {
|
|
reg = <3>;
|
|
scl-pin = <8>;
|
|
sda-pin = <12>;
|
|
};
|
|
|
|
i2c4: i2c@4 {
|
|
reg = <4>;
|
|
scl-pin = <8>;
|
|
sda-pin = <13>;
|
|
};
|
|
|
|
i2c5: i2c@5 {
|
|
reg = <5>;
|
|
scl-pin = <8>;
|
|
sda-pin = <14>;
|
|
};
|
|
|
|
i2c6: i2c@6 {
|
|
reg = <6>;
|
|
scl-pin = <8>;
|
|
sda-pin = <15>;
|
|
};
|
|
|
|
i2c7: i2c@7 {
|
|
reg = <7>;
|
|
scl-pin = <8>;
|
|
sda-pin = <16>;
|
|
};
|
|
};
|
|
|
|
sfp0: sfp-p1 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c0>;
|
|
mod-def0-gpio = <&gpio0 0 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 0 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <2900>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp1: sfp-p2 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c1>;
|
|
mod-def0-gpio = <&gpio0 1 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 1 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <1500>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp2: sfp-p3 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c2>;
|
|
mod-def0-gpio = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 2 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <1500>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp3: sfp-p4 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c3>;
|
|
mod-def0-gpio = <&gpio0 3 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 3 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <2000>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp4: sfp-p5 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c4>;
|
|
mod-def0-gpio = <&gpio0 4 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 4 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <2000>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp5: sfp-p6 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c5>;
|
|
mod-def0-gpio = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 5 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <1500>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp6: sfp-p7 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c6>;
|
|
mod-def0-gpio = <&gpio0 6 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 6 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <1500>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
sfp7: sfp-p8 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c7>;
|
|
mod-def0-gpio = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpioexp0 7 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <2900>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
watchdog {
|
|
compatible = "linux,wdt-gpio";
|
|
gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
|
|
hw_algo = "toggle";
|
|
hw_margin_ms = <1200>;
|
|
always-running;
|
|
};
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <100000000>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x0 0xe0000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@e0000 {
|
|
label = "u-boot-env";
|
|
reg = <0xe0000 0x10000>;
|
|
};
|
|
|
|
partition@f0000 {
|
|
label = "u-boot-env2";
|
|
reg = <0xf0000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@100000 {
|
|
label = "jffs2-cfg";
|
|
reg = <0x100000 0x100000>;
|
|
};
|
|
|
|
partition@200000 {
|
|
label = "jffs2-log";
|
|
reg = <0x200000 0x100000>;
|
|
};
|
|
|
|
partition@300000 {
|
|
compatible = "openwrt,uimage", "denx,uimage";
|
|
reg = <0x300000 0x1d00000>;
|
|
label = "firmware";
|
|
openwrt,ih-magic = <0x93030000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
ðernet0 {
|
|
mdio: mdio-bus {
|
|
compatible = "realtek,rtl838x-mdio";
|
|
regmap = <ðernet0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
INTERNAL_PHY_SDS(0, 2)
|
|
INTERNAL_PHY_SDS(8, 3)
|
|
INTERNAL_PHY_SDS(16, 4)
|
|
INTERNAL_PHY_SDS(20, 5)
|
|
INTERNAL_PHY_SDS(24, 6)
|
|
INTERNAL_PHY_SDS(25, 7)
|
|
INTERNAL_PHY_SDS(26, 8)
|
|
INTERNAL_PHY_SDS(27, 9)
|
|
};
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
label = "lan1";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy0>;
|
|
sfp = <&sfp0>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@8 {
|
|
reg = <8>;
|
|
label = "lan2";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy8>;
|
|
sfp = <&sfp1>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@10 {
|
|
reg = <16>;
|
|
label = "lan3";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy16>;
|
|
sfp = <&sfp2>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@14 {
|
|
reg = <20>;
|
|
label = "lan4";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy20>;
|
|
sfp = <&sfp3>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@18 {
|
|
reg = <24>;
|
|
label = "lan5";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy24>;
|
|
sfp = <&sfp4>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@19 {
|
|
reg = <25>;
|
|
label = "lan6";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy25>;
|
|
sfp = <&sfp5>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@1a {
|
|
reg = <26>;
|
|
label = "lan7";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy26>;
|
|
sfp = <&sfp6>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@1b {
|
|
reg = <27>;
|
|
label = "lan8";
|
|
phy-mode = "10gbase-r";
|
|
pseudo-phy-handle = <&phy27>;
|
|
sfp = <&sfp7>;
|
|
managed = "in-band-status";
|
|
led-set = <0>;
|
|
};
|
|
|
|
port@1c {
|
|
ethernet = <ðernet0>;
|
|
reg = <28>;
|
|
phy-mode = "internal";
|
|
|
|
fixed-link {
|
|
speed = <10000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&thermal_zones {
|
|
sfp-thermal {
|
|
polling-delay-passive = <10000>;
|
|
polling-delay = <10000>;
|
|
thermal-sensors = <&sfp0>, <&sfp1>, <&sfp2>, <&sfp3>, <&sfp4>, <&sfp5>, <&sfp6>, <&sfp7>;
|
|
trips {
|
|
sfp-crit {
|
|
temperature = <110000>;
|
|
hysteresis = <1000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
};
|