206 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: ISC
 | |
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved.
 | |
|  * Copyright (c) 2017, Sven Eckelmann <sven.eckelmann@openmesh.com>
 | |
|  */
 | |
| 
 | |
| #include "qcom-ipq4019.dtsi"
 | |
| #include <dt-bindings/gpio/gpio.h>
 | |
| #include <dt-bindings/input/input.h>
 | |
| #include <dt-bindings/soc/qcom,tcsr.h>
 | |
| 
 | |
| / {
 | |
| 	model = "OpenMesh A42";
 | |
| 	compatible = "openmesh,a42";
 | |
| 
 | |
| 	soc {
 | |
| 		rng@22000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		mdio@90000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		ess-psgmii@98000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		tcsr@194b000 {
 | |
| 			/* select hostmode */
 | |
| 			compatible = "qcom,tcsr";
 | |
| 			reg = <0x194b000 0x100>;
 | |
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		tcsr@1949000 {
 | |
| 			compatible = "qcom,tcsr";
 | |
| 			reg = <0x1949000 0x100>;
 | |
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
 | |
| 		};
 | |
| 
 | |
| 		ess_tcsr@1953000 {
 | |
| 			compatible = "qcom,tcsr";
 | |
| 			reg = <0x1953000 0x1000>;
 | |
| 			qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
 | |
| 		};
 | |
| 
 | |
| 		tcsr@1957000 {
 | |
| 			compatible = "qcom,tcsr";
 | |
| 			reg = <0x1957000 0x100>;
 | |
| 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
 | |
| 		};
 | |
| 
 | |
| 		usb2: usb2@60f8800 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		crypto@8e3a000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		watchdog@b017000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		ess-switch@c000000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 
 | |
| 		edma@c080000 {
 | |
| 			status = "okay";
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	keys {
 | |
| 		compatible = "gpio-keys";
 | |
| 
 | |
| 		reset {
 | |
| 			label = "reset";
 | |
| 			gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
 | |
| 			linux,code = <KEY_RESTART>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	aliases {
 | |
| 		led-boot = &led_status_green;
 | |
| 		led-failsafe = &led_status_green;
 | |
| 		led-running = &led_status_green;
 | |
| 		led-upgrade = &led_status_green;
 | |
| 	};
 | |
| 
 | |
| 	leds {
 | |
| 		compatible = "gpio-leds";
 | |
| 
 | |
| 		status_red {
 | |
| 			label = "red:status";
 | |
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
 | |
| 		};
 | |
| 
 | |
| 		led_status_green: status_green {
 | |
| 			label = "green:status";
 | |
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
 | |
| 		};
 | |
| 
 | |
| 		status_blue {
 | |
| 			label = "blue:status";
 | |
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	watchdog {
 | |
| 		compatible = "linux,wdt-gpio";
 | |
| 		gpios = <&tlmm 5 GPIO_ACTIVE_LOW>;
 | |
| 		hw_algo = "toggle";
 | |
| 		/* hw_margin_ms is actually 300s but driver limits it to 60s */
 | |
| 		hw_margin_ms = <60000>;
 | |
| 		always-running;
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &tlmm {
 | |
| 	serial_pins: serial_pinmux {
 | |
| 		mux {
 | |
| 			pins = "gpio60", "gpio61";
 | |
| 			function = "blsp_uart0";
 | |
| 			bias-disable;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	spi_0_pins: spi_0_pinmux {
 | |
| 		pin {
 | |
| 			function = "blsp_spi0";
 | |
| 			pins = "gpio55", "gpio56", "gpio57";
 | |
| 			drive-strength = <12>;
 | |
| 			bias-disable;
 | |
| 		};
 | |
| 		pin_cs {
 | |
| 			function = "gpio";
 | |
| 			pins = "gpio54";
 | |
| 			drive-strength = <2>;
 | |
| 			bias-disable;
 | |
| 			output-high;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &blsp_dma {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &blsp1_spi1 {
 | |
| 	pinctrl-0 = <&spi_0_pins>;
 | |
| 	pinctrl-names = "default";
 | |
| 	status = "okay";
 | |
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
 | |
| 
 | |
| 	flash@0 {
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <1>;
 | |
| 		compatible = "jedec,spi-nor";
 | |
| 		reg = <0>;
 | |
| 		spi-max-frequency = <24000000>;
 | |
| 		/* partitions are passed via bootloader */
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &blsp1_uart1 {
 | |
| 	pinctrl-0 = <&serial_pins>;
 | |
| 	pinctrl-names = "default";
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &cryptobam {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &gmac0 {
 | |
| 	qcom,phy_mdio_addr = <4>;
 | |
| 	qcom,poll_required = <1>;
 | |
| 	qcom,forced_speed = <1000>;
 | |
| 	qcom,forced_duplex = <1>;
 | |
| 	vlan_tag = <2 0x20>;
 | |
| };
 | |
| 
 | |
| &gmac1 {
 | |
| 	qcom,phy_mdio_addr = <3>;
 | |
| 	qcom,poll_required = <1>;
 | |
| 	qcom,forced_speed = <1000>;
 | |
| 	qcom,forced_duplex = <1>;
 | |
| 	vlan_tag = <1 0x10>;
 | |
| };
 | |
| 
 | |
| &usb2_hs_phy {
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &wifi0 {
 | |
| 	status = "okay";
 | |
| 	qcom,ath10k-calibration-variant = "OM-A42";
 | |
| };
 | |
| 
 | |
| &wifi1 {
 | |
| 	status = "okay";
 | |
| 	qcom,ath10k-calibration-variant = "OM-A42";
 | |
| };
 | 
