mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
135e107620
The current dts file of dgs-1210-10p doesn't support link states for the sfp ports (they are always up). This patch tries to give better support for this and was run tested on dgs-1210-10p. It was heavily inspired from Paul Fertser, RaylynnKnight and the author of dgs-1210-10mp-f.dts https://forum.openwrt.org/t/dlink-dgs-1210-10p-with-glc-t-co-sfp/170928 Signed-off-by: Michel Thill <jmthill@gmail.com>
155 lines
3.0 KiB
Plaintext
155 lines
3.0 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
|
#include "rtl838x.dtsi"
|
|
#include "rtl83xx_d-link_dgs-1210_common.dtsi"
|
|
|
|
/ {
|
|
compatible = "d-link,dgs-1210-10p", "realtek,rtl838x-soc";
|
|
model = "D-Link DGS-1210-10P";
|
|
|
|
/* i2c of the left SFP cage: port 9 */
|
|
i2c0: i2c-gpio-0 {
|
|
compatible = "i2c-gpio";
|
|
sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
scl-gpios = <&gpio1 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
i2c-gpio,delay-us = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
sfp0: sfp-p9 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c0>;
|
|
los-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpio1 11 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
/* i2c of the right SFP cage: port 10 */
|
|
i2c1: i2c-gpio-1 {
|
|
compatible = "i2c-gpio";
|
|
sda-gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
scl-gpios = <&gpio1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
i2c-gpio,delay-us = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
sfp1: sfp-p10 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c1>;
|
|
los-gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys-polled";
|
|
poll-interval = <20>;
|
|
|
|
mode {
|
|
label = "mode";
|
|
gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_LIGHTS_TOGGLE>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio1 33 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
link_act {
|
|
label = "green:link_act";
|
|
gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
poe {
|
|
label = "green:poe";
|
|
gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
poe_max {
|
|
label = "yellow:poe_max";
|
|
gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
gpio1: rtl8231-gpio {
|
|
compatible = "realtek,rtl8231-gpio";
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
indirect-access-bus-id = <0>;
|
|
};
|
|
};
|
|
|
|
&uart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
ðernet0 {
|
|
mdio: mdio-bus {
|
|
compatible = "realtek,rtl838x-mdio";
|
|
regmap = <ðernet0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
INTERNAL_PHY(8)
|
|
INTERNAL_PHY(9)
|
|
INTERNAL_PHY(10)
|
|
INTERNAL_PHY(11)
|
|
INTERNAL_PHY(12)
|
|
INTERNAL_PHY(13)
|
|
INTERNAL_PHY(14)
|
|
INTERNAL_PHY(15)
|
|
INTERNAL_PHY(24)
|
|
INTERNAL_PHY(26)
|
|
};
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
SWITCH_PORT(8, 1, internal)
|
|
SWITCH_PORT(9, 2, internal)
|
|
SWITCH_PORT(10, 3, internal)
|
|
SWITCH_PORT(11, 4, internal)
|
|
SWITCH_PORT(12, 5, internal)
|
|
SWITCH_PORT(13, 6, internal)
|
|
SWITCH_PORT(14, 7, internal)
|
|
SWITCH_PORT(15, 8, internal)
|
|
|
|
port@24 {
|
|
reg = <24>;
|
|
label = "lan9";
|
|
phy-handle = <&phy24>;
|
|
phy-mode = "1000base-x";
|
|
managed = "in-band-status";
|
|
sfp = <&sfp0>;
|
|
};
|
|
|
|
port@26 {
|
|
reg = <26>;
|
|
label = "lan10";
|
|
phy-handle = <&phy26>;
|
|
phy-mode = "1000base-x";
|
|
managed = "in-band-status";
|
|
sfp = <&sfp1>;
|
|
};
|
|
|
|
port@28 {
|
|
ethernet = <ðernet0>;
|
|
reg = <28>;
|
|
phy-mode = "internal";
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
};
|
|
};
|