mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	 8758b58f25
			
		
	
	8758b58f25
	
	
	
		
			
			Add relevant nodes for NPU support for Airoha AN7583 and enable the kernel config to enable support in the Airoha Ethernet driver. NPU firmware is scheduled to be upstreamed to linux-firmware and will be added once present upstream. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
		
			
				
	
	
		
			227 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			227 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 | |
| /dts-v1/;
 | |
| 
 | |
| #include <dt-bindings/leds/common.h>
 | |
| #include <dt-bindings/gpio/gpio.h>
 | |
| #include <dt-bindings/input/input.h>
 | |
| #include "an7583.dtsi"
 | |
| 
 | |
| / {
 | |
| 	model = "Airoha AN7583 Evaluation Board";
 | |
| 	compatible = "airoha,an7583-evb", "airoha,an7583", "airoha,en7583";
 | |
| 
 | |
| 	aliases {
 | |
| 		serial0 = &uart1;
 | |
| 	};
 | |
| 
 | |
| 	chosen {
 | |
| 		bootargs = "console=ttyS0,115200 earlycon";
 | |
| 		stdout-path = "serial0:115200n8";
 | |
| 	};
 | |
| 
 | |
| 	memory@80000000 {
 | |
| 		device_type = "memory";
 | |
| 		reg = <0x0 0x80000000 0x2 0x00000000>;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &an7583_pinctrl {
 | |
| 	gpio-ranges = <&an7583_pinctrl 0 2 53>;
 | |
| 
 | |
| 	mdio0_pins: mdio0-pins {
 | |
| 		conf {
 | |
| 			pins = "mdio_0";
 | |
| 			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 = "gpio1";
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &snfi {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| 
 | |
| &spi_nand {
 | |
| 	partitions {
 | |
| 		compatible = "fixed-partitions";
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <1>;
 | |
| 
 | |
| 		bl2@0 {
 | |
| 			label = "bl2";
 | |
| 			reg = <0x0 0x20000>;
 | |
| 		};
 | |
| 
 | |
| 		ubi@20000 {
 | |
| 			label = "ubi";
 | |
| 			reg = <0x20000 0x0>;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &i2c0 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &npu {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| ð {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gdm1 {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &switch {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy1 {
 | |
| 	pinctrl-names = "gbe-led";
 | |
| 	pinctrl-0 = <&gswp1_led0_pins>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gsw_phy1_led0 {
 | |
| 	status = "okay";
 | |
| 	active-low;
 | |
| };
 | |
| 
 | |
| &gsw_port2 {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &gsw_port3 {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &gsw_port4 {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &gsw_phy2 {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &gsw_phy3 {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &gsw_phy4 {
 | |
| 	status = "disabled";
 | |
| };
 | |
| 
 | |
| &mdio_0 {
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&mdio0_pins>;
 | |
| 
 | |
| 	/* Present but not HW connected to GDM port */
 | |
| 	/*
 | |
| 	 * as21xx_0: ethernet-phy@1d {
 | |
| 	 *		reg = <0x1d>;
 | |
| 	 *		compatible = "ethernet-phy-ieee802.3-c45";
 | |
| 	 *		status = "disabled";
 | |
| 	 *
 | |
| 	 *		firmware-name = "as21x1x_fw.bin";
 | |
| 	 *
 | |
| 	 *		reset-deassert-us = <350000>;
 | |
| 	 *		reset-assert-us = <200000>;
 | |
| 	 *		reset-gpios = <&an7583_pinctrl 34 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";
 | |
| 	 *			};
 | |
| 	 *		};
 | |
| 	 * };
 | |
| 	 */
 | |
| 
 | |
| 	as21xx_1: ethernet-phy@1f {
 | |
| 		reg = <0x1f>;
 | |
| 		compatible = "ethernet-phy-ieee802.3-c45";
 | |
| 
 | |
| 		firmware-name = "as21x1x_fw.bin";
 | |
| 
 | |
| 		reset-deassert-us = <350000>;
 | |
| 		reset-assert-us = <200000>;
 | |
| 		reset-gpios = <&an7583_pinctrl 35 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";
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| /* GDM2 seems to be connected to PON */
 | |
| /*
 | |
|  *&gdm2 {
 | |
|  *	status = "disabled";
 | |
|  *
 | |
|  *	phy-handle = <&as21xx_0>;
 | |
|  *	phy-mode = "usxgmii";
 | |
|  *};
 | |
|  */
 | |
| 
 | |
| &gdm3 {
 | |
| 	status = "okay";
 | |
| 
 | |
| 	phy-handle = <&as21xx_1>;
 | |
| 	phy-mode = "usxgmii";
 | |
| };
 |