535 lines
9.2 KiB
Plaintext
535 lines
9.2 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Device Tree file for Freescale Layerscape-1046A family SoC.
|
|
*
|
|
* Copyright 2025 Mono Technologies Inc.
|
|
*
|
|
* Author: Tomaz Zaman <tomaz@mono.si>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
#include <dt-bindings/pwm/pwm.h>
|
|
#include "fsl-ls1046a.dtsi"
|
|
|
|
/ {
|
|
model = "Mono Gateway Development Kit";
|
|
compatible = "mono,gateway-dk", "fsl,ls1046a";
|
|
|
|
aliases {
|
|
serial0 = &duart0;
|
|
serial1 = &duart1;
|
|
|
|
/* Physical port order: left to right */
|
|
ethernet0 = &enet4; /* MAC5 - 1G leftmost */
|
|
ethernet1 = &enet5; /* MAC6 - 1G middle */
|
|
ethernet2 = &enet1; /* MAC2 - 1G rightmost */
|
|
ethernet3 = &enet6; /* MAC9 - 10G left */
|
|
ethernet4 = &enet7; /* MAC10 - 10G right */
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
/* SFP+ Port 0 LEDs - Activity/Link */
|
|
led_sfp0_link: sfp0_link {
|
|
label = "sfp0:link";
|
|
gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led_sfp0_activity: sfp0_activity {
|
|
label = "sfp0:activity";
|
|
gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
/* SFP+ Port 1 LEDs - Activity/Link */
|
|
led_sfp1_link: sfp1_link {
|
|
label = "sfp1:link";
|
|
gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
|
|
led_sfp1_activity: sfp1_activity {
|
|
label = "sfp1:activity";
|
|
gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
/* SFP 1 */
|
|
sfp_xfi0: sfp-xfi0 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&sfp0_i2c>;
|
|
tx-disable-gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
|
los-gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <3000>;
|
|
leds = <&led_sfp0_link>, <&led_sfp0_activity>;
|
|
};
|
|
|
|
/* SFP 2 */
|
|
sfp_xfi1: sfp-xfi1 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&sfp1_i2c>;
|
|
tx-disable-gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
|
los-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>;
|
|
maximum-power-milliwatt = <3000>;
|
|
leds = <&led_sfp1_link>, <&led_sfp1_activity>;
|
|
};
|
|
|
|
/* SFP LED Controller */
|
|
sfp_led_controller: sfp-led-controller {
|
|
compatible = "mono,sfp-led";
|
|
sfp-ports = <&sfp_xfi0>, <&sfp_xfi1>;
|
|
};
|
|
|
|
};
|
|
|
|
&pcie3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpio2 {
|
|
2R-enable {
|
|
gpio-hog;
|
|
gpios = <6 GPIO_ACTIVE_LOW>;
|
|
output-high;
|
|
line-name = "2r-enable";
|
|
};
|
|
|
|
3R-enable {
|
|
gpio-hog;
|
|
gpios = <2 GPIO_ACTIVE_LOW>;
|
|
output-low;
|
|
line-name = "3r-enable";
|
|
};
|
|
|
|
uart-mux {
|
|
gpio-hog;
|
|
gpios = <26 GPIO_ACTIVE_HIGH>;
|
|
output-high; /* "output-high" for 2R, "output-low" for 3R */
|
|
line-name = "uart-mux";
|
|
};
|
|
};
|
|
|
|
&duart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&duart1 {
|
|
status = "okay";
|
|
uart-has-rtscts;
|
|
|
|
bluetooth {
|
|
compatible = "nxp,88w8987-bt";
|
|
fw-init-baudrate = <3000000>;
|
|
};
|
|
};
|
|
|
|
&usb0 {
|
|
status = "okay";
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&usb1 {
|
|
status = "disabled";
|
|
disable-over-current;
|
|
};
|
|
|
|
&usb2 {
|
|
status = "disabled";
|
|
disable-over-current;
|
|
};
|
|
|
|
&dspi {
|
|
status = "okay";
|
|
};
|
|
|
|
&esdhc {
|
|
status = "okay";
|
|
mmc-hs200-1_8v;
|
|
bus-width = <4>;
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
|
|
/* Thermal sensors, retimer, clock genenerator, PWM fan */
|
|
i2c-mux@70 {
|
|
compatible = "nxp,pca9545";
|
|
reg = <0x70>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
i2c@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0>;
|
|
|
|
retimer: retimer@18 {
|
|
compatible = "ti,ds100df410";
|
|
reg = <0x18>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
i2c@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>;
|
|
|
|
temp-sensor@4c {
|
|
compatible = "ti,tmp431";
|
|
reg = <0x4c>;
|
|
};
|
|
};
|
|
|
|
i2c@2 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <2>;
|
|
|
|
temp-sensor@4c {
|
|
compatible = "ti,tmp431";
|
|
reg = <0x4c>;
|
|
};
|
|
};
|
|
|
|
i2c@3 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <3>;
|
|
|
|
fan_controller: fan-controller@2e {
|
|
compatible = "microchip,emc2305";
|
|
reg = <0x2e>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
#pwm-cells = <3>;
|
|
|
|
fan0: fan@0 {
|
|
reg = <0>;
|
|
label = "System Fan 1";
|
|
pwms = <&fan_controller 26000 1 1>;
|
|
#cooling-cells = <2>;
|
|
};
|
|
|
|
fan1: fan@1 {
|
|
reg = <1>;
|
|
label = "System Fan 2";
|
|
pwms = <&fan_controller 26000 1 1>;
|
|
#cooling-cells = <2>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
|
|
/* SFP+ modules */
|
|
sfpmux: i2c-mux@70 {
|
|
compatible = "nxp,pca9545";
|
|
reg = <0x70>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
sfp0_i2c: i2c@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0>;
|
|
};
|
|
|
|
sfp1_i2c: i2c@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
status = "okay";
|
|
|
|
i2c-mux@70 {
|
|
compatible = "nxp,pca9545";
|
|
reg = <0x70>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
i2c@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0>;
|
|
|
|
power_sensor@40 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x40>;
|
|
label = "USB Power Delivery";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <1000>;
|
|
};
|
|
power_sensor@41 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x41>;
|
|
label = "5V PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <1000>;
|
|
};
|
|
power_sensor@42 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x42>;
|
|
label = "1V Core PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <1000>;
|
|
};
|
|
power_sensor@43 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x43>;
|
|
label = "1.2V DDR PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <5000>;
|
|
};
|
|
};
|
|
|
|
i2c@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>;
|
|
|
|
power_sensor@40 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x40>;
|
|
label = "1.35V SerDes PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <5000>;
|
|
};
|
|
power_sensor@41 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x41>;
|
|
label = "1.8V PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <5000>;
|
|
};
|
|
power_sensor@42 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x42>;
|
|
label = "2.5V DDR PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <5000>;
|
|
};
|
|
power_sensor@43 {
|
|
compatible = "ti,ina234";
|
|
reg = <0x43>;
|
|
label = "3.3V PSU";
|
|
#io-channel-cells = <1>;
|
|
shunt-resistor = <1000>;
|
|
};
|
|
};
|
|
|
|
i2c@2 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <2>;
|
|
|
|
rtc@53 {
|
|
compatible = "nxp,pcf2131";
|
|
reg = <0x53>;
|
|
status = "okay";
|
|
};
|
|
|
|
typec: hd3ss3220@47 {
|
|
compatible = "ti,hd3ss3220";
|
|
reg = <0x47>;
|
|
};
|
|
};
|
|
|
|
i2c@3 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <3>;
|
|
|
|
lp5810@6c {
|
|
compatible = "ti,lp5812";
|
|
reg = <0x6c>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
led@0 {
|
|
reg = <0>;
|
|
color = <LED_COLOR_ID_WHITE>;
|
|
label = "status:white";
|
|
led-max-microamp = <25500>;
|
|
};
|
|
|
|
led@1 {
|
|
reg = <1>;
|
|
color = <LED_COLOR_ID_BLUE>;
|
|
label = "status:blue";
|
|
led-max-microamp = <25500>;
|
|
};
|
|
|
|
led@2 {
|
|
reg = <2>;
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
label = "status:green";
|
|
led-max-microamp = <25500>;
|
|
};
|
|
|
|
led@3 {
|
|
reg = <3>;
|
|
color = <LED_COLOR_ID_RED>;
|
|
label = "status:red";
|
|
led-max-microamp = <25500>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&qspi {
|
|
status = "okay";
|
|
|
|
mt25qu512a0: flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
spi-max-frequency = <50000000>;
|
|
reg = <0>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@flash {
|
|
label = "flash";
|
|
reg = <0x0 0x4000000>;
|
|
};
|
|
|
|
partition@0 {
|
|
label = "rcw-bl2";
|
|
reg = <0x0 0x100000>;
|
|
};
|
|
|
|
partition@100000 {
|
|
label = "uboot";
|
|
reg = <0x100000 0x200000>;
|
|
};
|
|
|
|
partition@300000 {
|
|
label = "uboot-env";
|
|
reg = <0x300000 0x100000>;
|
|
};
|
|
|
|
partition@400000 {
|
|
label = "fman-ucode";
|
|
reg = <0x400000 0x100000>;
|
|
};
|
|
|
|
partition@500000 {
|
|
label = "recovery-dtb";
|
|
reg = <0x500000 0x100000>;
|
|
};
|
|
|
|
partition@600000 {
|
|
label = "backup";
|
|
reg = <0x600000 0x400000>;
|
|
};
|
|
|
|
partition@a00000 {
|
|
label = "kernel-initramfs";
|
|
reg = <0xa00000 0x1600000>;
|
|
};
|
|
|
|
partition@2000000 {
|
|
label = "unallocated";
|
|
reg = <0x2000000 0x2000000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
#include "fsl-ls1046-post.dtsi"
|
|
|
|
&fman0 {
|
|
ethernet@e0000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
ethernet@e4000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
ethernet@e6000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
ethernet@e8000 {
|
|
phy-handle = <&sgmii_phy0>;
|
|
phy-connection-type = "sgmii";
|
|
managed = "in-band-status";
|
|
status = "okay";
|
|
};
|
|
|
|
ethernet@ea000 {
|
|
phy-handle = <&sgmii_phy1>;
|
|
phy-connection-type = "sgmii";
|
|
managed = "in-band-status";
|
|
status = "okay";
|
|
};
|
|
|
|
ethernet@e2000 {
|
|
phy-handle = <&sgmii_phy2>;
|
|
phy-connection-type = "sgmii";
|
|
managed = "in-band-status";
|
|
status = "okay";
|
|
};
|
|
|
|
fm1_mac9: ethernet@f0000 { /* 10GEC1 */
|
|
sfp = <&sfp_xfi0>;
|
|
phy-connection-type = "10gbase-r";
|
|
managed = "in-band-status";
|
|
pcs-handle-names = "xfi"; /* Match enet7 for consistency */
|
|
};
|
|
|
|
fm1_mac10: ethernet@f2000 { /* 10GEC2 */
|
|
sfp = <&sfp_xfi1>;
|
|
phy-connection-type = "10gbase-r";
|
|
managed = "in-band-status";
|
|
};
|
|
|
|
mdio@fc000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
mdio@fd000 {
|
|
sgmii_phy0: ethernet-phy@0 {
|
|
reg = <0x0>;
|
|
};
|
|
|
|
sgmii_phy1: ethernet-phy@1 {
|
|
reg = <0x1>;
|
|
};
|
|
|
|
sgmii_phy2: ethernet-phy@2 {
|
|
reg = <0x2>;
|
|
};
|
|
};
|
|
};
|
|
|