mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	 26da4bf552
			
		
	
	26da4bf552
	
	
	
		
			
			Airoha AN7581 eMMC RFB board mount 2 Aeonsemi AS21xxx PHY. One is usually connected to GDM4 and the other is optionally connected to GDM2. Add the relevant nodes to support the one connected to GDM4. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
		
			
				
	
	
		
			253 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			253 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 | |
| /dts-v1/;
 | |
| 
 | |
| /* Bootloader installs ATF here */
 | |
| /memreserve/ 0x80000000 0x200000;
 | |
| 
 | |
| #include <dt-bindings/leds/common.h>
 | |
| #include <dt-bindings/gpio/gpio.h>
 | |
| #include "an7581.dtsi"
 | |
| 
 | |
| / {
 | |
| 	model = "Airoha AN7581 Evaluation Board";
 | |
| 	compatible = "airoha,an7581-evb", "airoha,an7581", "airoha,en7581";
 | |
| 
 | |
| 	aliases {
 | |
| 		serial0 = &uart1;
 | |
| 	};
 | |
| 
 | |
| 	chosen {
 | |
| 		bootargs = "console=ttyS0,115200 earlycon";
 | |
| 		stdout-path = "serial0:115200n8";
 | |
| 		linux,usable-memory-range = <0x0 0x80200000 0x0 0x1fe00000>;
 | |
| 	};
 | |
| 
 | |
| 	memory@80000000 {
 | |
| 		device_type = "memory";
 | |
| 		reg = <0x0 0x80000000 0x2 0x00000000>;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &en7581_pinctrl {
 | |
| 	gpio-ranges = <&en7581_pinctrl 0 13 47>;
 | |
| 
 | |
| 	mdio_pins: mdio-pins {
 | |
| 		mux {
 | |
| 			function = "mdio";
 | |
| 			groups = "mdio";
 | |
| 		};
 | |
| 
 | |
| 		conf {
 | |
| 			pins = "gpio2";
 | |
| 			output-high;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pcie0_rst_pins: pcie0-rst-pins {
 | |
| 		conf {
 | |
| 			pins = "pcie_reset0";
 | |
| 			drive-open-drain = <1>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pcie1_rst_pins: pcie1-rst-pins {
 | |
| 		conf {
 | |
| 			pins = "pcie_reset1";
 | |
| 			drive-open-drain = <1>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	gswp1_led0_pins: gswp1-led0-pins {
 | |
| 		mux {
 | |
| 			function = "phy1_led0";
 | |
| 			pins = "gpio33";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	gswp2_led0_pins: gswp2-led0-pins {
 | |
| 		mux {
 | |
| 			function = "phy2_led0";
 | |
| 			pins = "gpio34";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	gswp3_led0_pins: gswp3-led0-pins {
 | |
| 		mux {
 | |
| 			function = "phy3_led0";
 | |
| 			pins = "gpio35";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	gswp4_led0_pins: gswp4-led0-pins {
 | |
| 		mux {
 | |
| 			function = "phy4_led0";
 | |
| 			pins = "gpio42";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	pwm_gpio18_idx10_pins: pwm-gpio18-idx10-pins {
 | |
| 		function = "pwm";
 | |
| 		pins = "gpio18";
 | |
| 		output-enable;
 | |
| 	};
 | |
| 
 | |
| 	mmc_pins: mmc-pins {
 | |
| 		mux {
 | |
| 			function = "emmc";
 | |
| 			groups = "emmc";
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &mmc0 {
 | |
| 	pinctrl-names = "default", "state_uhs";
 | |
| 	pinctrl-0 = <&mmc_pins>;
 | |
| 	pinctrl-1 = <&mmc_pins>;
 | |
| 	status = "okay";
 | |
| 
 | |
| 	#address-cells = <1>;
 | |
| 	#size-cells = <0>;
 | |
| 
 | |
| 	card@0 {
 | |
| 		compatible = "mmc-card";
 | |
| 		reg = <0>;
 | |
| 
 | |
| 		partitions {
 | |
| 			compatible = "fixed-partitions";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <1>;
 | |
| 
 | |
| 			bootloader@0 {
 | |
| 				label = "bootloader";
 | |
| 				reg = <0x00000000 0x00080000>;
 | |
| 			};
 | |
| 
 | |
| 			tclinux@80000 {
 | |
| 				label = "tclinux";
 | |
| 				reg = <0x00080000 0x02800000>;
 | |
| 			};
 | |
| 
 | |
| 			tclinux_slave@2880000 {
 | |
| 				label = "tclinux_slave";
 | |
| 				reg = <0x02880000 0x02800000>;
 | |
| 			};
 | |
| 
 | |
| 			rootfs_data@5080000 {
 | |
| 				label = "rootfs_data";
 | |
| 				reg = <0x5080000 0x00800000>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &i2c0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &pcie0 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pcie0_rst_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &pcie1 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pcie1_rst_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &mdio {
 | |
| 	as21xx_1: ethernet-phy@1d {
 | |
| 		compatible = "ethernet-phy-ieee802.3-c45";
 | |
| 		reg = <0x1d>;
 | |
| 
 | |
| 		firmware-name = "as21x1x_fw.bin";
 | |
| 
 | |
| 		reset-deassert-us = <1000000>;
 | |
| 		reset-assert-us = <1000000>;
 | |
| 		reset-gpios = <&en7581_pinctrl 31 GPIO_ACTIVE_LOW>;
 | |
| 
 | |
| 		leds {
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 
 | |
| 			led@0 {
 | |
| 				reg = <0>;
 | |
| 				color = <LED_COLOR_ID_GREEN>;
 | |
| 				function = LED_FUNCTION_LAN;
 | |
| 				function-enumerator = <0>;
 | |
| 				default-state = "keep";
 | |
| 			};
 | |
| 
 | |
| 			led@1 {
 | |
| 				reg = <1>;
 | |
| 				color = <LED_COLOR_ID_GREEN>;
 | |
| 				function = LED_FUNCTION_LAN;
 | |
| 				function-enumerator = <1>;
 | |
| 				default-state = "keep";
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| ð {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gdm1 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gdm4 {
 | |
| 	status = "okay";
 | |
| 
 | |
| 	phy-handle = <&as21xx_1>;
 | |
| 	phy-mode = "usxgmii";
 | |
| };
 | |
| 
 | |
| &switch {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&mdio_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy1 {
 | |
| 	pinctrl-names = "led";
 | |
| 	pinctrl-0 = <&gswp1_led0_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy1_led0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy2 {
 | |
| 	pinctrl-names = "led";
 | |
| 	pinctrl-0 = <&gswp2_led0_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy2_led0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy3 {
 | |
| 	pinctrl-names = "led";
 | |
| 	pinctrl-0 = <&gswp3_led0_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy3_led0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy4 {
 | |
| 	pinctrl-names = "led";
 | |
| 	pinctrl-0 = <&gswp4_led0_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy4_led0 {
 | |
| 	status = "okay";
 | |
| };
 |