mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-01 09:13:37 +00:00
Variscite has updated the Ethernet PHY on the VAR-SOM-MX93 from the ADIN1300BCPZ to the MaxLinear MXL86110, as documented in the August 2023 revision changelog. Link: https://variwiki.com/index.php?title=VAR-SOM-MX93_rev_changelog Update the device tree accordingly: - Drop the regulator node used to power the previously PHY. - Add support for the reset line using GPIO1_IO07 with proper timings. - Configure the PHY LEDs via the LED subsystem under /sys/class/leds/, leveraging the support implemented in the mxl86110 PHY driver (drivers/net/phy/mxl-86110.c). Two LEDs are defined to match the LED configuration on the Variscite VAR-SOM Carrier Boards: * LED@0: Yellow, netdev trigger. * LED@1: Green, netdev trigger. - Adjust the RGMII clock pad control settings to match the updated PHY requirements. These changes ensure proper PHY initialization and LED status indication for the new MaxLinear MXL86110, improving board compatibility with the latest hardware revision. Signed-off-by: Stefano Radaelli <stefano.radaelli21@gmail.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
126 lines
3.2 KiB
Text
126 lines
3.2 KiB
Text
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Copyright 2022 NXP
|
|
* Copyright 2023 Variscite Ltd.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "imx93.dtsi"
|
|
|
|
/{
|
|
model = "Variscite VAR-SOM-MX93 module";
|
|
compatible = "variscite,var-som-mx93", "fsl,imx93";
|
|
|
|
mmc_pwrseq: mmc-pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
post-power-on-delay-ms = <100>;
|
|
power-off-delay-us = <10000>;
|
|
reset-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>, /* WIFI_RESET */
|
|
<&gpio3 7 GPIO_ACTIVE_LOW>; /* WIFI_PWR_EN */
|
|
};
|
|
};
|
|
|
|
&eqos {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_eqos>;
|
|
/*
|
|
* The required RGMII TX and RX 2ns delays are implemented directly
|
|
* in hardware via passive delay elements on the SOM PCB.
|
|
* No delay configuration is needed in software via PHY driver.
|
|
*/
|
|
phy-mode = "rgmii";
|
|
phy-handle = <ðphy0>;
|
|
snps,clk-csr = <5>;
|
|
status = "okay";
|
|
|
|
mdio {
|
|
compatible = "snps,dwmac-mdio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <1000000>;
|
|
|
|
ethphy0: ethernet-phy@0 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <0>;
|
|
eee-broken-1000t;
|
|
reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
|
|
reset-assert-us = <10000>;
|
|
reset-deassert-us = <100000>;
|
|
|
|
leds {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
led@0 {
|
|
reg = <0>;
|
|
color = <LED_COLOR_ID_YELLOW>;
|
|
function = LED_FUNCTION_LAN;
|
|
linux,default-trigger = "netdev";
|
|
};
|
|
|
|
led@1 {
|
|
reg = <1>;
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
function = LED_FUNCTION_LAN;
|
|
linux,default-trigger = "netdev";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* eMMC */
|
|
&usdhc1 {
|
|
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
|
pinctrl-0 = <&pinctrl_usdhc1>;
|
|
pinctrl-1 = <&pinctrl_usdhc1>;
|
|
pinctrl-2 = <&pinctrl_usdhc1>;
|
|
bus-width = <8>;
|
|
non-removable;
|
|
status = "okay";
|
|
};
|
|
|
|
&iomuxc {
|
|
pinctrl_eqos: eqosgrp {
|
|
fsl,pins = <
|
|
MX93_PAD_ENET1_MDC__ENET_QOS_MDC 0x57e
|
|
MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO 0x57e
|
|
MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0 0x57e
|
|
MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1 0x57e
|
|
MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2 0x57e
|
|
MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3 0x57e
|
|
MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x58e
|
|
MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x57e
|
|
MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0 0x57e
|
|
MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1 0x57e
|
|
MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2 0x57e
|
|
MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3 0x57e
|
|
MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x58e
|
|
MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x57e
|
|
MX93_PAD_UART2_TXD__GPIO1_IO07 0x51e
|
|
>;
|
|
};
|
|
|
|
pinctrl_reg_eqos_phy: regeqosgrp {
|
|
fsl,pins = <
|
|
MX93_PAD_UART2_TXD__GPIO1_IO07 0x51e
|
|
>;
|
|
};
|
|
|
|
pinctrl_usdhc1: usdhc1grp {
|
|
fsl,pins = <
|
|
MX93_PAD_SD1_CLK__USDHC1_CLK 0x15fe
|
|
MX93_PAD_SD1_CMD__USDHC1_CMD 0x13fe
|
|
MX93_PAD_SD1_DATA0__USDHC1_DATA0 0x13fe
|
|
MX93_PAD_SD1_DATA1__USDHC1_DATA1 0x13fe
|
|
MX93_PAD_SD1_DATA2__USDHC1_DATA2 0x13fe
|
|
MX93_PAD_SD1_DATA3__USDHC1_DATA3 0x13fe
|
|
MX93_PAD_SD1_DATA4__USDHC1_DATA4 0x13fe
|
|
MX93_PAD_SD1_DATA5__USDHC1_DATA5 0x13fe
|
|
MX93_PAD_SD1_DATA6__USDHC1_DATA6 0x13fe
|
|
MX93_PAD_SD1_DATA7__USDHC1_DATA7 0x13fe
|
|
MX93_PAD_SD1_STROBE__USDHC1_STROBE 0x15fe
|
|
>;
|
|
};
|
|
};
|