mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-10 07:34:40 +01:00
After having moved the configuration code and sequences from PHY and DSA drivers to the PCS driver, add the hooks in PCS driver and remove calls in PHY and DSA drivers to let PCS driver setup the SerDes entirely on its own. Also add pcs-handle to device tree definitions for most of the switch ports because, due to the refactoring of the SerDes configuration, this is needed now for all SerDes-attached ports. Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20876 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
205 lines
3.7 KiB
Text
205 lines
3.7 KiB
Text
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "rtl838x.dtsi"
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
aliases {
|
|
led-boot = &led_power;
|
|
led-failsafe = &led_power;
|
|
led-running = &led_power;
|
|
led-upgrade = &led_power;
|
|
label-mac-device = ðernet0;
|
|
};
|
|
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x0 0x10000000>;
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
};
|
|
|
|
gpio-restart {
|
|
compatible = "gpio-restart";
|
|
gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led_power: led-0 {
|
|
function = LED_FUNCTION_POWER;
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
i2c1: i2c-gpio-1 {
|
|
compatible = "i2c-gpio";
|
|
scl-gpios = <&gpio0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
sda-gpios = <&gpio0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
i2c-gpio,delay-us = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
tps23861_20: tps23861@20 {
|
|
compatible = "ti,tps23861";
|
|
reg = <0x20>;
|
|
shunt-resistor-micro-ohms = <255000>;
|
|
};
|
|
|
|
tps23861_28: tps23861@28 {
|
|
compatible = "ti,tps23861";
|
|
reg = <0x28>;
|
|
shunt-resistor-micro-ohms = <255000>;
|
|
};
|
|
};
|
|
|
|
watchdog {
|
|
compatible = "linux,wdt-gpio";
|
|
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
|
|
hw_algo = "toggle";
|
|
/* SGM706 specs: typical 1.6s, but minimum 1.0s. */
|
|
hw_margin_ms = <1000>;
|
|
};
|
|
};
|
|
|
|
&gpio0 {
|
|
watchdog-enable {
|
|
gpio-hog;
|
|
gpios = <14 GPIO_ACTIVE_LOW>;
|
|
output-low;
|
|
line-name = "watchdog-enable";
|
|
};
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
flash@0 {
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <10000000>;
|
|
|
|
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 0x20000>;
|
|
};
|
|
partition@100000 {
|
|
compatible = "denx,uimage";
|
|
label = "firmware";
|
|
reg = <0x100000 0x1a00000>;
|
|
};
|
|
partition@1b00000 {
|
|
label = "usrappfs";
|
|
reg = <0x1b00000 0x400000>;
|
|
};
|
|
partition@1f00000 {
|
|
label = "para";
|
|
reg = <0x1f00000 0x100000>;
|
|
read-only;
|
|
|
|
nvmem-layout {
|
|
compatible = "fixed-layout";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
factory_macaddr: macaddr@fdff4 {
|
|
reg = <0xfdff4 0x6>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&mdio_bus0 {
|
|
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)
|
|
};
|
|
|
|
ðernet0 {
|
|
nvmem-cells = <&factory_macaddr>;
|
|
nvmem-cell-names = "mac-address";
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
SWITCH_PORT(15, 1, internal)
|
|
SWITCH_PORT(14, 2, internal)
|
|
SWITCH_PORT(13, 3, internal)
|
|
SWITCH_PORT(12, 4, internal)
|
|
SWITCH_PORT(11, 5, internal)
|
|
SWITCH_PORT(10, 6, internal)
|
|
SWITCH_PORT(9, 7, internal)
|
|
SWITCH_PORT(8, 8, internal)
|
|
|
|
/* TODO: fixed link SFP is not right */
|
|
port24: port@24 {
|
|
reg = <24>;
|
|
label = SWITCH_PORT_LABEL(9);
|
|
pcs-handle = <&serdes4>;
|
|
phy-handle = <&phy24>;
|
|
phy-mode = "1000base-x";
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
port26: port@26 {
|
|
reg = <26>;
|
|
label = SWITCH_PORT_LABEL(10);
|
|
pcs-handle = <&serdes5>;
|
|
phy-handle = <&phy26>;
|
|
phy-mode = "1000base-x";
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
port@28 {
|
|
ethernet = <ðernet0>;
|
|
reg = <28>;
|
|
phy-mode = "internal";
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
};
|
|
};
|