mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 18:38:10 +00:00 
			
		
		
		
	Merge pull request #613 from Telecominfraproject/v3.0.0-release
V3.0.0 release
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/build-dev.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/build-dev.yml
									
									
									
									
										vendored
									
									
								
							| @@ -21,7 +21,7 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
|         target: [ 'cig_wf186w', 'cig_wf188n', 'cig_wf196', 'cig_wf660a', 'cybertan_eww622-a1', 'cybertan_eww631-a1', 'cybertan_eww631-b1', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_eap111', 'edgecore_ecw5211', 'edgecore_oap101', 'edgecore_oap101-6e', 'edgecore_oap101e', 'edgecore_oap101e-6e', 'edgecore_oap102', 'hfcl_ion4','hfcl_ion4xi_wp', 'hfcl_ion4xe', 'hfcl_ion4xi', 'hfcl_ion4x', 'hfcl_ion4x_2', 'hfcl_ion4xi_w', 'hfcl_ion4xi_HMR', 'hfcl_ion4x_w', 'indio_um-305ax', 'indio_um-325ac', 'indio_um-510ac-v3', 'indio_um-550ac', 'indio_um-310ax-v1', 'indio_um-510axp-v1', 'indio_um-510axm-v1', 'udaya_a5-id2', 'wallys_dr40x9', 'wallys_dr6018', 'wallys_dr6018_v4', 'yuncore_ax840', 'yuncore_fap640', 'yuncore_fap650', 'yuncore_fap655' ] |         target: [ 'cig_wf186h', 'cig_wf186w', 'cig_wf188n', 'cig_wf196', 'cig_wf660a', 'cybertan_eww622-a1', 'cybertan_eww631-a1', 'cybertan_eww631-b1', 'edgecore_eap101', 'edgecore_eap102', 'edgecore_eap104', 'edgecore_eap111', 'edgecore_ecw5211', 'edgecore_oap101', 'edgecore_oap101-6e', 'edgecore_oap101e', 'edgecore_oap101e-6e', 'edgecore_oap102', 'hfcl_ion4','hfcl_ion4xi_wp', 'hfcl_ion4xe', 'hfcl_ion4xi', 'hfcl_ion4x', 'hfcl_ion4x_2', 'hfcl_ion4xi_w', 'hfcl_ion4xi_HMR', 'hfcl_ion4x_w', 'indio_um-305ax', 'indio_um-325ac', 'indio_um-510ac-v3', 'indio_um-550ac', 'indio_um-310ax-v1', 'indio_um-510axp-v1', 'indio_um-510axm-v1', 'udaya_a5-id2', 'wallys_dr40x9', 'wallys_dr6018', 'wallys_dr6018_v4', 'yuncore_ax820', 'yuncore_ax840', 'yuncore_fap640', 'yuncore_fap650', 'yuncore_fap655' ] | ||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|     - uses: actions/checkout@v3 |     - uses: actions/checkout@v3 | ||||||
|   | |||||||
| @@ -102,6 +102,13 @@ qcom_setup_interfaces() | |||||||
| 		ucidef_add_switch "switch1" \ | 		ucidef_add_switch "switch1" \ | ||||||
| 			"6@eth1" "1:lan" "2:lan" "3:lan" "4:lan" | 			"6@eth1" "1:lan" "2:lan" "3:lan" "4:lan" | ||||||
| 		;;	 | 		;;	 | ||||||
|  | 	optimcloud,d60|\ | ||||||
|  |  	optimcloud,d60-5g|\ | ||||||
|  |  	optimcloud,d50|\ | ||||||
|  |  	optimcloud,d50-5g) | ||||||
|  |         ucidef_set_interface_wan "eth0" | ||||||
|  |         ucidef_set_interface_lan "eth1" | ||||||
|  |         ;;         | ||||||
| 	qcom,ipq5018-mp03.1) | 	qcom,ipq5018-mp03.1) | ||||||
| 		ucidef_set_interface_lan "eth1" | 		ucidef_set_interface_lan "eth1" | ||||||
| 		ucidef_set_interface_wan "eth0" | 		ucidef_set_interface_wan "eth0" | ||||||
|   | |||||||
| @@ -208,6 +208,10 @@ ath11k/IPQ5018/hw1.0/caldata.bin) | |||||||
| 	liteon,wpx8324|\ | 	liteon,wpx8324|\ | ||||||
| 	motorola,q14|\ | 	motorola,q14|\ | ||||||
| 	muxi,ap3220l|\ | 	muxi,ap3220l|\ | ||||||
|  | 	optimcloud,d60|\ | ||||||
|  |  	optimcloud,d60-5g|\ | ||||||
|  |  	optimcloud,d50|\ | ||||||
|  |  	optimcloud,d50-5g|\     | ||||||
| 	qcom,ipq5018-mp03.1) | 	qcom,ipq5018-mp03.1) | ||||||
| 		caldata_extract "0:ART" 0x1000 0x20000 | 		caldata_extract "0:ART" 0x1000 0x20000 | ||||||
| 		;; | 		;; | ||||||
| @@ -249,6 +253,10 @@ ath11k/QCN9074/hw1.0/caldata_1.bin) | |||||||
| 	cig,wf196|\ | 	cig,wf196|\ | ||||||
| 	wallys,dr6018-v4|\ | 	wallys,dr6018-v4|\ | ||||||
| 	cybertan,eww622-a1|\ | 	cybertan,eww622-a1|\ | ||||||
|  |    	optimcloud,d60|\ | ||||||
|  |  	optimcloud,d60-5g|\ | ||||||
|  |  	optimcloud,d50|\ | ||||||
|  |  	optimcloud,d50-5g|\ | ||||||
| 	qcom,ipq5018-mp03.1|\ | 	qcom,ipq5018-mp03.1|\ | ||||||
| 	qcom,ipq807x-hk14) | 	qcom,ipq807x-hk14) | ||||||
| 		caldata_extract "0:ART" 0x26800 0x20000 | 		caldata_extract "0:ART" 0x26800 0x20000 | ||||||
| @@ -287,6 +295,10 @@ ath11k-macs) | |||||||
| 	indio,um-310ax-v1|\ | 	indio,um-310ax-v1|\ | ||||||
| 	indio,um-510axp-v1|\ | 	indio,um-510axp-v1|\ | ||||||
| 	indio,um-510axm-v1|\ | 	indio,um-510axm-v1|\ | ||||||
|  | 	optimcloud,d60|\ | ||||||
|  |  	optimcloud,d60-5g|\ | ||||||
|  |  	optimcloud,d50|\ | ||||||
|  |  	optimcloud,d50-5g|\     | ||||||
| 	cig,wf188n) | 	cig,wf188n) | ||||||
| 		ath11k_generate_macs | 		ath11k_generate_macs | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -38,7 +38,7 @@ do_flash_emmc() { | |||||||
| 	local emmcblock=$(find_mmc_part $2) | 	local emmcblock=$(find_mmc_part $2) | ||||||
| 	local board_dir=$3 | 	local board_dir=$3 | ||||||
| 	local part=$4 | 	local part=$4 | ||||||
| 	 |  | ||||||
| 	[ -b "$emmcblock" ] || emmcblock=$(find_mmc_part $2) | 	[ -b "$emmcblock" ] || emmcblock=$(find_mmc_part $2) | ||||||
|  |  | ||||||
| 	[ -z "$emmcblock" ] && { | 	[ -z "$emmcblock" ] && { | ||||||
| @@ -162,6 +162,10 @@ platform_check_image() { | |||||||
| 	qcom,ipq6018-cp01|\ | 	qcom,ipq6018-cp01|\ | ||||||
| 	qcom,ipq807x-hk01|\ | 	qcom,ipq807x-hk01|\ | ||||||
| 	qcom,ipq807x-hk14|\ | 	qcom,ipq807x-hk14|\ | ||||||
|  |    	optimcloud,d60|\ | ||||||
|  |  	optimcloud,d60-5g|\ | ||||||
|  |  	optimcloud,d50|\ | ||||||
|  |  	optimcloud,d50-5g|\ | ||||||
| 	qcom,ipq5018-mp03.3) | 	qcom,ipq5018-mp03.3) | ||||||
| 		[ "$magic_long" = "73797375" ] && return 0 | 		[ "$magic_long" = "73797375" ] && return 0 | ||||||
| 		;; | 		;; | ||||||
| @@ -200,6 +204,10 @@ platform_do_upgrade() { | |||||||
| 	qcom,ipq6018-cp01|\ | 	qcom,ipq6018-cp01|\ | ||||||
| 	qcom,ipq807x-hk01|\ | 	qcom,ipq807x-hk01|\ | ||||||
| 	qcom,ipq807x-hk14|\ | 	qcom,ipq807x-hk14|\ | ||||||
|  | 	optimcloud,d60|\ | ||||||
|  |  	optimcloud,d60-5g|\ | ||||||
|  |  	optimcloud,d50|\ | ||||||
|  |  	optimcloud,d50-5g|\ | ||||||
| 	qcom,ipq5018-mp03.3|\ | 	qcom,ipq5018-mp03.3|\ | ||||||
| 	wallys,dr5018|\ | 	wallys,dr5018|\ | ||||||
| 	wallys,dr6018|\ | 	wallys,dr6018|\ | ||||||
|   | |||||||
| @@ -0,0 +1,23 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "../../../arm64/boot/dts/qcom/qcom-ipq5018-optimcloud-d50-5g.dts" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	pmuv8: pmu { | ||||||
|  | 		compatible = "arm,cortex-a7-pmu"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,23 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "../../../arm64/boot/dts/qcom/qcom-ipq5018-optimcloud-d50.dts" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	pmuv8: pmu { | ||||||
|  | 		compatible = "arm,cortex-a7-pmu"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,23 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "../../../arm64/boot/dts/qcom/qcom-ipq5018-optimcloud-d50-5g.dts" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	pmuv8: pmu { | ||||||
|  | 		compatible = "arm,cortex-a7-pmu"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,23 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "../../../arm64/boot/dts/qcom/qcom-ipq5018-optimcloud-d50.dts" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	pmuv8: pmu { | ||||||
|  | 		compatible = "arm,cortex-a7-pmu"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -29,6 +29,10 @@ | |||||||
| 		serial1 = &blsp1_uart2; | 		serial1 = &blsp1_uart2; | ||||||
| 		ethernet0 = "/soc/dp1"; | 		ethernet0 = "/soc/dp1"; | ||||||
| 		ethernet1 = "/soc/dp2"; | 		ethernet1 = "/soc/dp2"; | ||||||
|  |                 led-boot = &led_power; | ||||||
|  |                 led-failsafe = &led_power; | ||||||
|  |                 led-running = &led_power; | ||||||
|  |                 led-upgrade = &led_power; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	chosen { | 	chosen { | ||||||
| @@ -682,6 +686,27 @@ | |||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|  |      leds_pins: leds_pins { | ||||||
|  |                 led_pwr_g { | ||||||
|  |                         pins = "gpio0"; | ||||||
|  |                         function = "gpio"; | ||||||
|  |                         drive-strength = <8>; | ||||||
|  |                         bias-pull-down; | ||||||
|  |                 }; | ||||||
|  |                 led_pwr_b { | ||||||
|  |                         pins = "gpio1"; | ||||||
|  |                         function = "gpio"; | ||||||
|  |                         drive-strength = <8>; | ||||||
|  |                         bias-pull-down; | ||||||
|  |                 }; | ||||||
|  |                 led_pwr_r { | ||||||
|  |                         pins = "gpio45"; | ||||||
|  |                         function = "gpio"; | ||||||
|  |                         drive-strength = <8>; | ||||||
|  |                         bias-pull-down; | ||||||
|  |                 }; | ||||||
|  |         }; | ||||||
|  |  | ||||||
| 	i2c_pins: i2c_pins { | 	i2c_pins: i2c_pins { | ||||||
| 		i2c_scl { | 		i2c_scl { | ||||||
| 			pins = "gpio25"; | 			pins = "gpio25"; | ||||||
| @@ -758,14 +783,31 @@ | |||||||
| }; | }; | ||||||
|  |  | ||||||
| &soc { | &soc { | ||||||
|  |         leds { | ||||||
|  |                 compatible = "gpio-leds"; | ||||||
|  |                 pinctrl-0 = <&leds_pins>; | ||||||
|  |                 pinctrl-names = "default"; | ||||||
|  |  | ||||||
| 	 pwm: pwm@0x1941010 { |                 led3 { | ||||||
| 	        pinctrl-0 = <&pwm_pins>; |                         label = "blue:status"; | ||||||
| 	        pinctrl-names = "default"; |                         gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||||
| 	        used-pwm-indices = <1>, <1>, <1>, <1>; |                         linux,default-trigger = "blue-on"; | ||||||
| 		dft-pwm-status = <1>, <0>, <0>, <0>; |                         default-state = "off"; | ||||||
| 	        status = "ok"; |                 }; | ||||||
|  |                 led2 { | ||||||
|  |                         label = "red:status"; | ||||||
|  |                         gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||||
|  |                         linux,default-trigger = "red-on"; | ||||||
|  |                         default-state = "off"; | ||||||
|  |                 }; | ||||||
|  |                 led_power: led1 { | ||||||
|  |                         label = "green:status"; | ||||||
|  |                         gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||||
|  |                         linux,default-trigger = "default-on"; | ||||||
|  |                         default-state = "on"; | ||||||
|  |                 }; | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| &usb3 { | &usb3 { | ||||||
|   | |||||||
| @@ -29,6 +29,10 @@ | |||||||
| 		serial1 = &blsp1_uart2; | 		serial1 = &blsp1_uart2; | ||||||
| 		ethernet0 = "/soc/dp1"; | 		ethernet0 = "/soc/dp1"; | ||||||
| 		ethernet1 = "/soc/dp2"; | 		ethernet1 = "/soc/dp2"; | ||||||
|  |                 led-boot = &led_power; | ||||||
|  |                 led-failsafe = &led_power; | ||||||
|  |                 led-running = &led_power; | ||||||
|  |                 led-upgrade = &led_power; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	chosen { | 	chosen { | ||||||
| @@ -682,6 +686,27 @@ | |||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|  |      leds_pins: leds_pins { | ||||||
|  |                 led_pwr_g { | ||||||
|  |                         pins = "gpio0"; | ||||||
|  |                         function = "gpio"; | ||||||
|  |                         drive-strength = <8>; | ||||||
|  |                         bias-pull-down; | ||||||
|  |                 }; | ||||||
|  |                 led_pwr_b { | ||||||
|  |                         pins = "gpio1"; | ||||||
|  |                         function = "gpio"; | ||||||
|  |                         drive-strength = <8>; | ||||||
|  |                         bias-pull-down; | ||||||
|  |                 }; | ||||||
|  |                 led_pwr_r { | ||||||
|  |                         pins = "gpio45"; | ||||||
|  |                         function = "gpio"; | ||||||
|  |                         drive-strength = <8>; | ||||||
|  |                         bias-pull-down; | ||||||
|  |                 }; | ||||||
|  |         }; | ||||||
|  |  | ||||||
| 	i2c_pins: i2c_pins { | 	i2c_pins: i2c_pins { | ||||||
| 		i2c_scl { | 		i2c_scl { | ||||||
| 			pins = "gpio25"; | 			pins = "gpio25"; | ||||||
| @@ -758,14 +783,31 @@ | |||||||
| }; | }; | ||||||
|  |  | ||||||
| &soc { | &soc { | ||||||
|  |         leds { | ||||||
|  |                 compatible = "gpio-leds"; | ||||||
|  |                 pinctrl-0 = <&leds_pins>; | ||||||
|  |                 pinctrl-names = "default"; | ||||||
|  |  | ||||||
| 	 pwm: pwm@0x1941010 { |                 led3 { | ||||||
| 	        pinctrl-0 = <&pwm_pins>; |                         label = "blue:status"; | ||||||
| 	        pinctrl-names = "default"; |                         gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||||
| 	        used-pwm-indices = <1>, <1>, <1>, <1>; |                         linux,default-trigger = "blue-on"; | ||||||
| 		dft-pwm-status = <1>, <0>, <0>, <0>; |                         default-state = "off"; | ||||||
| 	        status = "ok"; |                 }; | ||||||
|  |                 led2 { | ||||||
|  |                         label = "red:status"; | ||||||
|  |                         gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||||
|  |                         linux,default-trigger = "red-on"; | ||||||
|  |                         default-state = "off"; | ||||||
|  |                 }; | ||||||
|  |                 led_power: led1 { | ||||||
|  |                         label = "green:status"; | ||||||
|  |                         gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||||
|  |                         linux,default-trigger = "default-on"; | ||||||
|  |                         default-state = "on"; | ||||||
|  |                 }; | ||||||
|         }; |         }; | ||||||
|  |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| &usb3 { | &usb3 { | ||||||
|   | |||||||
| @@ -0,0 +1,995 @@ | |||||||
|  | /dts-v1/; | ||||||
|  | /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "qcom-ipq5018.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	#address-cells = <0x2>; | ||||||
|  | 	#size-cells = <0x2>; | ||||||
|  | 	model = "OptimCloud D50-5G"; | ||||||
|  | 	compatible = "optimcloud,d50-5g", "qcom,ipq5018-mp03.1", "qcom,ipq5018"; | ||||||
|  | 	interrupt-parent = <&intc>; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	AUTO_MOUNT; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||||
|  | 		serial0 = &blsp1_uart1; | ||||||
|  | 		serial1 = &blsp1_uart2; | ||||||
|  | 		ethernet0 = "/soc/dp2"; | ||||||
|  | 		ethernet1 = "/soc/dp1"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		bootargs-append = " swiotlb=1"; | ||||||
|  | 	#else | ||||||
|  | 		bootargs-append = " swiotlb=1 coherent_pool=2M"; | ||||||
|  | 	#endif | ||||||
|  | 		stdout-path = "serial0"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	reserved-memory { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	/*            256 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          8MB            | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x40800000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          23MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump| 0x4C700000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | QDSS   | 0x4C800000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4C900000  |          17MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4DA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01700000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c700000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C700000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C900000 0x0 0x01100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4da00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4da00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#elif __IPQ_MEM_PROFILE_512_MB__ | ||||||
|  | 	/*                      512 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          30MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4EA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x01E00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4ea00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ea00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#else | ||||||
|  | 	/*                      1G Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          45MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4F900000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x02D00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4F900000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F900000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  | 	#endif | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		serial@78af000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		blsp1_uart2: serial@78b0000 { | ||||||
|  | 			pinctrl-0 = <&blsp1_uart_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qpic_bam: dma@7984000{ | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		nand: qpic-nand@79b0000 { | ||||||
|  | 			pinctrl-0 = <&qspi_nand_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		spi_0: spi@78b5000 { /* BLSP1 QUP0 */ | ||||||
|  | 			pinctrl-0 = <&blsp0_spi_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			cs-select = <0>; | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			m25p80@0 { | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <1>; | ||||||
|  | 				reg = <0>; | ||||||
|  | 				compatible = "n25q128a11"; | ||||||
|  | 				linux,modalias = "m25p80", "n25q128a11"; | ||||||
|  | 				spi-max-frequency = <50000000>; | ||||||
|  | 				use-default-sizes; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio0: mdio@88000 { | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <7>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio1: mdio@90000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 			pinctrl-0 = <&mdio1_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			phy-reset-gpio = <&tlmm 39 0>; | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-instance { | ||||||
|  | 			num_devices = <0x2>; | ||||||
|  | 			ess-switch@0x39c00000 { | ||||||
|  | 				compatible = "qcom,ess-switch-ipq50xx"; | ||||||
|  | 				device_id = <0>; | ||||||
|  | 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ | ||||||
|  | 				cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <7>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						forced-speed = <1000>; | ||||||
|  | 						forced-duplex = <1>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				led_source@0 { | ||||||
|  | 					source = <0>; | ||||||
|  | 					mode = "normal"; | ||||||
|  | 					speed = "all"; | ||||||
|  | 					blink_en = "enable"; | ||||||
|  | 					active = "high"; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			ess-switch1@1 { | ||||||
|  | 				compatible = "qcom,ess-switch-qca83xx"; | ||||||
|  | 				device_id = <1>; | ||||||
|  | 				switch_access_mode = "mdio"; | ||||||
|  | 				mdio-bus = <&mdio1>; | ||||||
|  | 				reset_gpio = <0x27>; | ||||||
|  | 				switch_cpu_bmp = <0x40>;  /* cpu port bitmap */ | ||||||
|  | 				switch_lan_bmp = <0x1e>; /* lan port bitmap */ | ||||||
|  | 				switch_wan_bmp = <0x0>;  /* wan port bitmap */ | ||||||
|  | 				qca,ar8327-initvals = < | ||||||
|  | 						0x00004 0x7600000   /* PAD0_MODE */ | ||||||
|  | 						0x00008 0x1000000   /* PAD5_MODE */ | ||||||
|  | 						0x0000c 0x80        /* PAD6_MODE */ | ||||||
|  | 						0x00010 0x2613a0    /* PORT6 FORCE MODE*/ | ||||||
|  | 						0x000e4 0xaa545     /* MAC_POWER_SEL */ | ||||||
|  | 						0x000e0 0xc74164de  /* SGMII_CTRL */ | ||||||
|  | 						0x0007c 0x4e        /* PORT0_STATUS */ | ||||||
|  | 						0x00094 0x4e        /* PORT6_STATUS */ | ||||||
|  | 				>; | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <0>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						phy_address = <1>; | ||||||
|  | 					}; | ||||||
|  | 					port@2 { | ||||||
|  | 						port_id = <3>; | ||||||
|  | 						phy_address = <2>; | ||||||
|  | 					}; | ||||||
|  | 					port@3 { | ||||||
|  | 						port_id = <4>; | ||||||
|  | 						phy_address = <3>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wifi0: wifi@c000000 { | ||||||
|  | 			qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x4CA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-size = <0x200000>; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-uniphy@98000 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,sps { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,usbbam@8B04000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,diag@0 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp2 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <1>; | ||||||
|  | 			reg = <0x39C00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <7>; | ||||||
|  | 			mdio-bus = <&mdio0>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp1 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <2>; | ||||||
|  | 			reg = <0x39D00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		rpm_etm0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		lpass: lpass@0xA000000{ | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm: pcm@0xA3C0000{ | ||||||
|  | 			pinctrl-0 = <&audio_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm_lb: pcm_lb@0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	thermal-zones { | ||||||
|  | 		status = "ok"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio_keys { | ||||||
|  | 		compatible = "gpio-keys-polled"; | ||||||
|  | 		pinctrl-0 = <&button_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  | 		poll-interval = <100>; | ||||||
|  |  | ||||||
|  | 		button@0 { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 		button@1 { | ||||||
|  | 			label = "wps"; | ||||||
|  | 			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | 			gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 		 | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 		pinctrl-0 = <&leds_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 		led@35 { | ||||||
|  | 			label = "green:4g"; | ||||||
|  | 			gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_5g_wifi"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@30 { | ||||||
|  | 			label = "green:wifi"; | ||||||
|  | 			gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_2g_wifi"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@1 { | ||||||
|  | 			label = "green:internet"; | ||||||
|  | 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_voice"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@33 { | ||||||
|  | 			label = "green:lte"; | ||||||
|  | 			gpios = <&tlmm 33 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_lte_g"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		};		 | ||||||
|  | 		led@34 { | ||||||
|  | 			label = "red:lte"; | ||||||
|  | 			gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_lte_r"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		};	 | ||||||
|  | 		led@27 { | ||||||
|  | 			label = "green:mesh"; | ||||||
|  | 			gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_nr_g"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@28 { | ||||||
|  | 			label = "red:mesh"; | ||||||
|  | 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_nr_r"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 	blsp0_uart_pins: blsp0_uart_pins { | ||||||
|  | 		blsp0_uart_rx_tx { | ||||||
|  | 			pins = "gpio20", "gpio21"; | ||||||
|  | 			function = "blsp0_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp1_uart_pins: blsp1_uart_pins { | ||||||
|  | 		blsp1_uart_rx_tx { | ||||||
|  | 			pins = "gpio23", "gpio25", "gpio24", "gpio26"; | ||||||
|  | 			function = "blsp1_uart2"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp0_spi_pins: blsp0_spi_pins { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio10", "gpio11", "gpio12", "gpio13"; | ||||||
|  | 			function = "blsp0_spi"; | ||||||
|  | 			drive-strength = <2>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	qspi_nand_pins: qspi_nand_pins { | ||||||
|  | 		qspi_clock { | ||||||
|  | 				pins = "gpio9"; | ||||||
|  | 				function = "qspi_clk"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_cs { | ||||||
|  | 				pins = "gpio8"; | ||||||
|  | 				function = "qspi_cs"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_0 { | ||||||
|  | 				pins = "gpio7"; | ||||||
|  | 				function = "qspi0"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_1 { | ||||||
|  | 				pins = "gpio6"; | ||||||
|  | 				function = "qspi1"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_2 { | ||||||
|  | 				pins = "gpio5"; | ||||||
|  | 				function = "qspi2"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_3 { | ||||||
|  | 				pins = "gpio4"; | ||||||
|  | 				function = "qspi3"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	mdio1_pins: mdio_pinmux { | ||||||
|  | 		mux_0 { | ||||||
|  | 			pins = "gpio36"; | ||||||
|  | 			function = "mdc"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio37"; | ||||||
|  | 			function = "mdio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	phy_led_pins: phy_led_pins { | ||||||
|  | 		gephy_led_pin { | ||||||
|  | 			pins = "gpio46"; | ||||||
|  | 			function = "led0"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	i2c_pins: i2c_pins { | ||||||
|  | 		i2c_scl { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		i2c_sda { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	button_pins: button_pins { | ||||||
|  | 		reset_button{ | ||||||
|  | 			pins = "gpio22"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 		 | ||||||
|  | 		wps_button { | ||||||
|  | 			pins = "gpio38"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 		 | ||||||
|  | 	}; | ||||||
|  | 	 | ||||||
|  | 	leds_pins: leds_pins { | ||||||
|  | 		led_5g_wifi { | ||||||
|  | 			pins = "gpio35"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_2g_wifi { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_lte_g { | ||||||
|  | 			pins = "gpio33"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_lte_r { | ||||||
|  | 			pins = "gpio34"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_nr_g { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_nr_r { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_voice { | ||||||
|  | 			pins = "gpio1"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		};	 | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	audio_pins: audio_pinmux { | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio24"; | ||||||
|  | 			function = "audio_rxbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_2 { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "audio_rxfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_3 { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "audio_rxd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_4 { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "audio_txmclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_5 { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "audio_txbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_6 { | ||||||
|  | 			pins = "gpio29"; | ||||||
|  | 			function = "audio_txfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_7 { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "audio_txd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  | 	qcom,multiplexed-phy; | ||||||
|  | 	qcom,phy-mux-regs = <&tcsr_q6_block 0x2540>; | ||||||
|  | 	device-power-gpio = <&tlmm 24 1>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &eud { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | 	perst-gpio = <&tlmm 18 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2 { | ||||||
|  | 	status = "ok"; | ||||||
|  | 	perst-gpio = <&tlmm 15 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &bt { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wcss { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_wcss { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_m3 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &smem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &apcs_glb { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_q6_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qcom_q6v5_wcss { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>, | ||||||
|  | 				<&q6_caldb_region>; | ||||||
|  | 	#endif | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	q6v5_wcss_userpd1 { | ||||||
|  | 		m3_firmware = "IPQ5018/m3_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 8 0>, | ||||||
|  | 			<&wcss_smp2p_in 9 0>, | ||||||
|  | 			<&wcss_smp2p_in 12 0>, | ||||||
|  | 			<&wcss_smp2p_in 11 0>; | ||||||
|  | 		interrupt-names ="fatal", | ||||||
|  | 			"ready", | ||||||
|  | 			"spawn_ack", | ||||||
|  | 			"stop-ack"; | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 8>, | ||||||
|  | 			<&wcss_smp2p_out 9>, | ||||||
|  | 			<&wcss_smp2p_out 10>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 			"stop", | ||||||
|  | 			"spawn"; | ||||||
|  | 		qca,asid = <1>; | ||||||
|  | 		qca,auto-restart; | ||||||
|  | 		qca,int_radio; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &i2c_0 { | ||||||
|  | 	pinctrl-0 = <&i2c_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &dbm_1p5 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &msm_imem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp1_uart1 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &ssuniphy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &hs_m31phy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1phy { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2phy { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1_rp { | ||||||
|  | 	status = "disabled"; | ||||||
|  |  | ||||||
|  | 	mhi_0: qcom,mhi@0 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2_rp { | ||||||
|  | 	status = "ok"; | ||||||
|  |  | ||||||
|  | 	mhi_1: qcom,mhi@1 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 		qrtr_instance_id = <0x20>; | ||||||
|  | 		#address-cells = <0x2>; | ||||||
|  | 		#size-cells = <0x2>; | ||||||
|  | 		memory-region = <&mhi_region1>; | ||||||
|  | #if !defined(__CNSS2__) | ||||||
|  | 		base-addr = <0x4CC00000>; | ||||||
|  | 		m3-dump-addr = <0x4E000000>; | ||||||
|  | 		etr-addr = <0x4E100000>; | ||||||
|  | 		qcom,caldb-addr = <0x4E200000>; | ||||||
|  | 		qcom,tgt-mem-mode = <0x1>; | ||||||
|  | 		mhi,max-channels = <30>; | ||||||
|  | 		mhi,timeout = <10000>; | ||||||
|  | #endif | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	qcom,board_id = <0x24>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi3 { | ||||||
|  | 	/* QCN9000 5G */ | ||||||
|  | 	board_id = <0xa0>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qfprom { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tsens { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,884 @@ | |||||||
|  | /dts-v1/; | ||||||
|  | /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "qcom-ipq5018.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	#address-cells = <0x2>; | ||||||
|  | 	#size-cells = <0x2>; | ||||||
|  | 	model = "OptimCloud D50"; | ||||||
|  | 	compatible = "optimcloud,d50", "qcom,ipq5018-mp03.1", "qcom,ipq5018"; | ||||||
|  | 	interrupt-parent = <&intc>; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	AUTO_MOUNT; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||||
|  | 		serial0 = &blsp1_uart1; | ||||||
|  | 		serial1 = &blsp1_uart2; | ||||||
|  | 		ethernet0 = "/soc/dp1"; | ||||||
|  | 		ethernet1 = "/soc/dp2"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		bootargs-append = " swiotlb=1"; | ||||||
|  | 	#else | ||||||
|  | 		bootargs-append = " swiotlb=1 coherent_pool=2M"; | ||||||
|  | 	#endif | ||||||
|  | 		stdout-path = "serial0"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	reserved-memory { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	/*            256 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          8MB            | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x40800000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          23MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump| 0x4C700000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | QDSS   | 0x4C800000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4C900000  |          17MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4DA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01700000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c700000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C700000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C900000 0x0 0x01100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4da00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4da00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#elif __IPQ_MEM_PROFILE_512_MB__ | ||||||
|  | 	/*                      512 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          30MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4EA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x01E00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4ea00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ea00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#else | ||||||
|  | 	/*                      1G Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          45MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4F900000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x02D00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4F900000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F900000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  | 	#endif | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		serial@78af000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		blsp1_uart2: serial@78b0000 { | ||||||
|  | 			pinctrl-0 = <&blsp1_uart_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qpic_bam: dma@7984000{ | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		nand: qpic-nand@79b0000 { | ||||||
|  | 			pinctrl-0 = <&qspi_nand_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		spi_0: spi@78b5000 { /* BLSP1 QUP0 */ | ||||||
|  | 			pinctrl-0 = <&blsp0_spi_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			cs-select = <0>; | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			m25p80@0 { | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <1>; | ||||||
|  | 				reg = <0>; | ||||||
|  | 				compatible = "n25q128a11"; | ||||||
|  | 				linux,modalias = "m25p80", "n25q128a11"; | ||||||
|  | 				spi-max-frequency = <50000000>; | ||||||
|  | 				use-default-sizes; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio0: mdio@88000 { | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <7>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio1: mdio@90000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 			pinctrl-0 = <&mdio1_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			phy-reset-gpio = <&tlmm 39 0>; | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-instance { | ||||||
|  | 			num_devices = <0x2>; | ||||||
|  | 			ess-switch@0x39c00000 { | ||||||
|  | 				compatible = "qcom,ess-switch-ipq50xx"; | ||||||
|  | 				device_id = <0>; | ||||||
|  | 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ | ||||||
|  | 				cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <7>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						forced-speed = <1000>; | ||||||
|  | 						forced-duplex = <1>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				led_source@0 { | ||||||
|  | 					source = <0>; | ||||||
|  | 					mode = "normal"; | ||||||
|  | 					speed = "all"; | ||||||
|  | 					blink_en = "enable"; | ||||||
|  | 					active = "high"; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			ess-switch1@1 { | ||||||
|  | 				compatible = "qcom,ess-switch-qca83xx"; | ||||||
|  | 				device_id = <1>; | ||||||
|  | 				switch_access_mode = "mdio"; | ||||||
|  | 				mdio-bus = <&mdio1>; | ||||||
|  | 				reset_gpio = <0x27>; | ||||||
|  | 				switch_cpu_bmp = <0x40>;  /* cpu port bitmap */ | ||||||
|  | 				switch_lan_bmp = <0x1e>; /* lan port bitmap */ | ||||||
|  | 				switch_wan_bmp = <0x0>;  /* wan port bitmap */ | ||||||
|  | 				qca,ar8327-initvals = < | ||||||
|  | 						0x00004 0x7600000   /* PAD0_MODE */ | ||||||
|  | 						0x00008 0x1000000   /* PAD5_MODE */ | ||||||
|  | 						0x0000c 0x80        /* PAD6_MODE */ | ||||||
|  | 						0x00010 0x2613a0    /* PORT6 FORCE MODE*/ | ||||||
|  | 						0x000e4 0xaa545     /* MAC_POWER_SEL */ | ||||||
|  | 						0x000e0 0xc74164de  /* SGMII_CTRL */ | ||||||
|  | 						0x0007c 0x4e        /* PORT0_STATUS */ | ||||||
|  | 						0x00094 0x4e        /* PORT6_STATUS */ | ||||||
|  | 				>; | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <0>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						phy_address = <1>; | ||||||
|  | 					}; | ||||||
|  | 					port@2 { | ||||||
|  | 						port_id = <3>; | ||||||
|  | 						phy_address = <2>; | ||||||
|  | 					}; | ||||||
|  | 					port@3 { | ||||||
|  | 						port_id = <4>; | ||||||
|  | 						phy_address = <3>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wifi0: wifi@c000000 { | ||||||
|  | 			qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x4CA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-size = <0x200000>; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-uniphy@98000 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,sps { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,usbbam@8B04000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,diag@0 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp1 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <1>; | ||||||
|  | 			reg = <0x39C00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <7>; | ||||||
|  | 			mdio-bus = <&mdio0>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp2 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <2>; | ||||||
|  | 			reg = <0x39D00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		rpm_etm0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		lpass: lpass@0xA000000{ | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm: pcm@0xA3C0000{ | ||||||
|  | 			pinctrl-0 = <&audio_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm_lb: pcm_lb@0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	thermal-zones { | ||||||
|  | 		status = "ok"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 	blsp0_uart_pins: blsp0_uart_pins { | ||||||
|  | 		blsp0_uart_rx_tx { | ||||||
|  | 			pins = "gpio20", "gpio21"; | ||||||
|  | 			function = "blsp0_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp1_uart_pins: blsp1_uart_pins { | ||||||
|  | 		blsp1_uart_rx_tx { | ||||||
|  | 			pins = "gpio23", "gpio25", "gpio24", "gpio26"; | ||||||
|  | 			function = "blsp1_uart2"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp0_spi_pins: blsp0_spi_pins { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio10", "gpio11", "gpio12", "gpio13"; | ||||||
|  | 			function = "blsp0_spi"; | ||||||
|  | 			drive-strength = <2>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	qspi_nand_pins: qspi_nand_pins { | ||||||
|  | 		qspi_clock { | ||||||
|  | 				pins = "gpio9"; | ||||||
|  | 				function = "qspi_clk"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_cs { | ||||||
|  | 				pins = "gpio8"; | ||||||
|  | 				function = "qspi_cs"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_0 { | ||||||
|  | 				pins = "gpio7"; | ||||||
|  | 				function = "qspi0"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_1 { | ||||||
|  | 				pins = "gpio6"; | ||||||
|  | 				function = "qspi1"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_2 { | ||||||
|  | 				pins = "gpio5"; | ||||||
|  | 				function = "qspi2"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_3 { | ||||||
|  | 				pins = "gpio4"; | ||||||
|  | 				function = "qspi3"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	mdio1_pins: mdio_pinmux { | ||||||
|  | 		mux_0 { | ||||||
|  | 			pins = "gpio36"; | ||||||
|  | 			function = "mdc"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio37"; | ||||||
|  | 			function = "mdio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	phy_led_pins: phy_led_pins { | ||||||
|  | 		gephy_led_pin { | ||||||
|  | 			pins = "gpio46"; | ||||||
|  | 			function = "led0"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	i2c_pins: i2c_pins { | ||||||
|  | 		i2c_scl { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		i2c_sda { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	button_pins: button_pins { | ||||||
|  | 		wps_button { | ||||||
|  | 			pins = "gpio38"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	audio_pins: audio_pinmux { | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio24"; | ||||||
|  | 			function = "audio_rxbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_2 { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "audio_rxfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_3 { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "audio_rxd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_4 { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "audio_txmclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_5 { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "audio_txbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_6 { | ||||||
|  | 			pins = "gpio29"; | ||||||
|  | 			function = "audio_txfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_7 { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "audio_txd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &soc { | ||||||
|  | 	gpio_keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  | 		pinctrl-0 = <&button_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 		button@1 { | ||||||
|  | 			label = "wps"; | ||||||
|  | 			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | 			gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  | 	qcom,multiplexed-phy; | ||||||
|  | 	qcom,phy-mux-regs = <&tcsr_q6_block 0x2540>; | ||||||
|  | 	device-power-gpio = <&tlmm 24 1>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &eud { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | 	perst-gpio = <&tlmm 18 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2 { | ||||||
|  | 	status = "ok"; | ||||||
|  | 	perst-gpio = <&tlmm 15 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &bt { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wcss { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_wcss { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_m3 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &smem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &apcs_glb { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_q6_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qcom_q6v5_wcss { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>, | ||||||
|  | 				<&q6_caldb_region>; | ||||||
|  | 	#endif | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	q6v5_wcss_userpd1 { | ||||||
|  | 		m3_firmware = "IPQ5018/m3_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 8 0>, | ||||||
|  | 			<&wcss_smp2p_in 9 0>, | ||||||
|  | 			<&wcss_smp2p_in 12 0>, | ||||||
|  | 			<&wcss_smp2p_in 11 0>; | ||||||
|  | 		interrupt-names ="fatal", | ||||||
|  | 			"ready", | ||||||
|  | 			"spawn_ack", | ||||||
|  | 			"stop-ack"; | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 8>, | ||||||
|  | 			<&wcss_smp2p_out 9>, | ||||||
|  | 			<&wcss_smp2p_out 10>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 			"stop", | ||||||
|  | 			"spawn"; | ||||||
|  | 		qca,asid = <1>; | ||||||
|  | 		qca,auto-restart; | ||||||
|  | 		qca,int_radio; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &i2c_0 { | ||||||
|  | 	pinctrl-0 = <&i2c_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &dbm_1p5 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &msm_imem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp1_uart1 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &ssuniphy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &hs_m31phy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1phy { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2phy { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1_rp { | ||||||
|  | 	status = "disabled"; | ||||||
|  |  | ||||||
|  | 	mhi_0: qcom,mhi@0 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2_rp { | ||||||
|  | 	status = "ok"; | ||||||
|  |  | ||||||
|  | 	mhi_1: qcom,mhi@1 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 		qrtr_instance_id = <0x20>; | ||||||
|  | 		#address-cells = <0x2>; | ||||||
|  | 		#size-cells = <0x2>; | ||||||
|  | 		memory-region = <&mhi_region1>; | ||||||
|  | #if !defined(__CNSS2__) | ||||||
|  | 		base-addr = <0x4CC00000>; | ||||||
|  | 		m3-dump-addr = <0x4E000000>; | ||||||
|  | 		etr-addr = <0x4E100000>; | ||||||
|  | 		qcom,caldb-addr = <0x4E200000>; | ||||||
|  | 		qcom,tgt-mem-mode = <0x1>; | ||||||
|  | 		mhi,max-channels = <30>; | ||||||
|  | 		mhi,timeout = <10000>; | ||||||
|  | #endif | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	qcom,board_id = <0x24>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi3 { | ||||||
|  | 	/* QCN9000 5G */ | ||||||
|  | 	board_id = <0xa0>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qfprom { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tsens { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,995 @@ | |||||||
|  | /dts-v1/; | ||||||
|  | /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "qcom-ipq5018.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	#address-cells = <0x2>; | ||||||
|  | 	#size-cells = <0x2>; | ||||||
|  | 	model = "OptimCloud D60-5G"; | ||||||
|  | 	compatible = "optimcloud,d60-5g", "qcom,ipq5018-mp03.1", "qcom,ipq5018"; | ||||||
|  | 	interrupt-parent = <&intc>; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	AUTO_MOUNT; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||||
|  | 		serial0 = &blsp1_uart1; | ||||||
|  | 		serial1 = &blsp1_uart2; | ||||||
|  | 		ethernet0 = "/soc/dp2"; | ||||||
|  | 		ethernet1 = "/soc/dp1"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		bootargs-append = " swiotlb=1"; | ||||||
|  | 	#else | ||||||
|  | 		bootargs-append = " swiotlb=1 coherent_pool=2M"; | ||||||
|  | 	#endif | ||||||
|  | 		stdout-path = "serial0"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	reserved-memory { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	/*            256 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          8MB            | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x40800000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          23MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump| 0x4C700000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | QDSS   | 0x4C800000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4C900000  |          17MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4DA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01700000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c700000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C700000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C900000 0x0 0x01100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4da00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4da00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#elif __IPQ_MEM_PROFILE_512_MB__ | ||||||
|  | 	/*                      512 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          30MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4EA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x01E00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4ea00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ea00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#else | ||||||
|  | 	/*                      1G Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          45MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4F900000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x02D00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4F900000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F900000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  | 	#endif | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		serial@78af000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		blsp1_uart2: serial@78b0000 { | ||||||
|  | 			pinctrl-0 = <&blsp1_uart_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qpic_bam: dma@7984000{ | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		nand: qpic-nand@79b0000 { | ||||||
|  | 			pinctrl-0 = <&qspi_nand_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		spi_0: spi@78b5000 { /* BLSP1 QUP0 */ | ||||||
|  | 			pinctrl-0 = <&blsp0_spi_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			cs-select = <0>; | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			m25p80@0 { | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <1>; | ||||||
|  | 				reg = <0>; | ||||||
|  | 				compatible = "n25q128a11"; | ||||||
|  | 				linux,modalias = "m25p80", "n25q128a11"; | ||||||
|  | 				spi-max-frequency = <50000000>; | ||||||
|  | 				use-default-sizes; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio0: mdio@88000 { | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <7>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio1: mdio@90000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 			pinctrl-0 = <&mdio1_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			phy-reset-gpio = <&tlmm 39 0>; | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-instance { | ||||||
|  | 			num_devices = <0x2>; | ||||||
|  | 			ess-switch@0x39c00000 { | ||||||
|  | 				compatible = "qcom,ess-switch-ipq50xx"; | ||||||
|  | 				device_id = <0>; | ||||||
|  | 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ | ||||||
|  | 				cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <7>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						forced-speed = <1000>; | ||||||
|  | 						forced-duplex = <1>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				led_source@0 { | ||||||
|  | 					source = <0>; | ||||||
|  | 					mode = "normal"; | ||||||
|  | 					speed = "all"; | ||||||
|  | 					blink_en = "enable"; | ||||||
|  | 					active = "high"; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			ess-switch1@1 { | ||||||
|  | 				compatible = "qcom,ess-switch-qca83xx"; | ||||||
|  | 				device_id = <1>; | ||||||
|  | 				switch_access_mode = "mdio"; | ||||||
|  | 				mdio-bus = <&mdio1>; | ||||||
|  | 				reset_gpio = <0x27>; | ||||||
|  | 				switch_cpu_bmp = <0x40>;  /* cpu port bitmap */ | ||||||
|  | 				switch_lan_bmp = <0x1e>; /* lan port bitmap */ | ||||||
|  | 				switch_wan_bmp = <0x0>;  /* wan port bitmap */ | ||||||
|  | 				qca,ar8327-initvals = < | ||||||
|  | 						0x00004 0x7600000   /* PAD0_MODE */ | ||||||
|  | 						0x00008 0x1000000   /* PAD5_MODE */ | ||||||
|  | 						0x0000c 0x80        /* PAD6_MODE */ | ||||||
|  | 						0x00010 0x2613a0    /* PORT6 FORCE MODE*/ | ||||||
|  | 						0x000e4 0xaa545     /* MAC_POWER_SEL */ | ||||||
|  | 						0x000e0 0xc74164de  /* SGMII_CTRL */ | ||||||
|  | 						0x0007c 0x4e        /* PORT0_STATUS */ | ||||||
|  | 						0x00094 0x4e        /* PORT6_STATUS */ | ||||||
|  | 				>; | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <0>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						phy_address = <1>; | ||||||
|  | 					}; | ||||||
|  | 					port@2 { | ||||||
|  | 						port_id = <3>; | ||||||
|  | 						phy_address = <2>; | ||||||
|  | 					}; | ||||||
|  | 					port@3 { | ||||||
|  | 						port_id = <4>; | ||||||
|  | 						phy_address = <3>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wifi0: wifi@c000000 { | ||||||
|  | 			qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x4CA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-size = <0x200000>; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-uniphy@98000 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,sps { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,usbbam@8B04000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,diag@0 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp2 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <1>; | ||||||
|  | 			reg = <0x39C00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <7>; | ||||||
|  | 			mdio-bus = <&mdio0>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp1 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <2>; | ||||||
|  | 			reg = <0x39D00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		rpm_etm0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		lpass: lpass@0xA000000{ | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm: pcm@0xA3C0000{ | ||||||
|  | 			pinctrl-0 = <&audio_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm_lb: pcm_lb@0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	thermal-zones { | ||||||
|  | 		status = "ok"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio_keys { | ||||||
|  | 		compatible = "gpio-keys-polled"; | ||||||
|  | 		pinctrl-0 = <&button_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  | 		poll-interval = <100>; | ||||||
|  |  | ||||||
|  | 		button@0 { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 		button@1 { | ||||||
|  | 			label = "wps"; | ||||||
|  | 			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | 			gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 		 | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 		pinctrl-0 = <&leds_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 		led@35 { | ||||||
|  | 			label = "green:4g"; | ||||||
|  | 			gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_5g_wifi"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@30 { | ||||||
|  | 			label = "green:wifi"; | ||||||
|  | 			gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_2g_wifi"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@1 { | ||||||
|  | 			label = "green:internet"; | ||||||
|  | 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_voice"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@33 { | ||||||
|  | 			label = "green:lte"; | ||||||
|  | 			gpios = <&tlmm 33 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_lte_g"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		};		 | ||||||
|  | 		led@34 { | ||||||
|  | 			label = "red:lte"; | ||||||
|  | 			gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_lte_r"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		};	 | ||||||
|  | 		led@27 { | ||||||
|  | 			label = "green:mesh"; | ||||||
|  | 			gpios = <&tlmm 27 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_nr_g"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led@28 { | ||||||
|  | 			label = "red:mesh"; | ||||||
|  | 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "led_nr_r"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 	blsp0_uart_pins: blsp0_uart_pins { | ||||||
|  | 		blsp0_uart_rx_tx { | ||||||
|  | 			pins = "gpio20", "gpio21"; | ||||||
|  | 			function = "blsp0_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp1_uart_pins: blsp1_uart_pins { | ||||||
|  | 		blsp1_uart_rx_tx { | ||||||
|  | 			pins = "gpio23", "gpio25", "gpio24", "gpio26"; | ||||||
|  | 			function = "blsp1_uart2"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp0_spi_pins: blsp0_spi_pins { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio10", "gpio11", "gpio12", "gpio13"; | ||||||
|  | 			function = "blsp0_spi"; | ||||||
|  | 			drive-strength = <2>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	qspi_nand_pins: qspi_nand_pins { | ||||||
|  | 		qspi_clock { | ||||||
|  | 				pins = "gpio9"; | ||||||
|  | 				function = "qspi_clk"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_cs { | ||||||
|  | 				pins = "gpio8"; | ||||||
|  | 				function = "qspi_cs"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_0 { | ||||||
|  | 				pins = "gpio7"; | ||||||
|  | 				function = "qspi0"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_1 { | ||||||
|  | 				pins = "gpio6"; | ||||||
|  | 				function = "qspi1"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_2 { | ||||||
|  | 				pins = "gpio5"; | ||||||
|  | 				function = "qspi2"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_3 { | ||||||
|  | 				pins = "gpio4"; | ||||||
|  | 				function = "qspi3"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	mdio1_pins: mdio_pinmux { | ||||||
|  | 		mux_0 { | ||||||
|  | 			pins = "gpio36"; | ||||||
|  | 			function = "mdc"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio37"; | ||||||
|  | 			function = "mdio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	phy_led_pins: phy_led_pins { | ||||||
|  | 		gephy_led_pin { | ||||||
|  | 			pins = "gpio46"; | ||||||
|  | 			function = "led0"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	i2c_pins: i2c_pins { | ||||||
|  | 		i2c_scl { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		i2c_sda { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	button_pins: button_pins { | ||||||
|  | 		reset_button{ | ||||||
|  | 			pins = "gpio22"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 		 | ||||||
|  | 		wps_button { | ||||||
|  | 			pins = "gpio38"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 		 | ||||||
|  | 	}; | ||||||
|  | 	 | ||||||
|  | 	leds_pins: leds_pins { | ||||||
|  | 		led_5g_wifi { | ||||||
|  | 			pins = "gpio35"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_2g_wifi { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_lte_g { | ||||||
|  | 			pins = "gpio33"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_lte_r { | ||||||
|  | 			pins = "gpio34"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_nr_g { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_nr_r { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_voice { | ||||||
|  | 			pins = "gpio1"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		};	 | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	audio_pins: audio_pinmux { | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio24"; | ||||||
|  | 			function = "audio_rxbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_2 { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "audio_rxfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_3 { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "audio_rxd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_4 { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "audio_txmclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_5 { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "audio_txbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_6 { | ||||||
|  | 			pins = "gpio29"; | ||||||
|  | 			function = "audio_txfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_7 { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "audio_txd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  | 	qcom,multiplexed-phy; | ||||||
|  | 	qcom,phy-mux-regs = <&tcsr_q6_block 0x2540>; | ||||||
|  | 	device-power-gpio = <&tlmm 24 1>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &eud { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | 	perst-gpio = <&tlmm 18 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2 { | ||||||
|  | 	status = "ok"; | ||||||
|  | 	perst-gpio = <&tlmm 15 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &bt { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wcss { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_wcss { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_m3 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &smem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &apcs_glb { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_q6_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qcom_q6v5_wcss { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>, | ||||||
|  | 				<&q6_caldb_region>; | ||||||
|  | 	#endif | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	q6v5_wcss_userpd1 { | ||||||
|  | 		m3_firmware = "IPQ5018/m3_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 8 0>, | ||||||
|  | 			<&wcss_smp2p_in 9 0>, | ||||||
|  | 			<&wcss_smp2p_in 12 0>, | ||||||
|  | 			<&wcss_smp2p_in 11 0>; | ||||||
|  | 		interrupt-names ="fatal", | ||||||
|  | 			"ready", | ||||||
|  | 			"spawn_ack", | ||||||
|  | 			"stop-ack"; | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 8>, | ||||||
|  | 			<&wcss_smp2p_out 9>, | ||||||
|  | 			<&wcss_smp2p_out 10>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 			"stop", | ||||||
|  | 			"spawn"; | ||||||
|  | 		qca,asid = <1>; | ||||||
|  | 		qca,auto-restart; | ||||||
|  | 		qca,int_radio; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &i2c_0 { | ||||||
|  | 	pinctrl-0 = <&i2c_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &dbm_1p5 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &msm_imem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp1_uart1 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &ssuniphy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &hs_m31phy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1phy { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2phy { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1_rp { | ||||||
|  | 	status = "disabled"; | ||||||
|  |  | ||||||
|  | 	mhi_0: qcom,mhi@0 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2_rp { | ||||||
|  | 	status = "ok"; | ||||||
|  |  | ||||||
|  | 	mhi_1: qcom,mhi@1 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 		qrtr_instance_id = <0x20>; | ||||||
|  | 		#address-cells = <0x2>; | ||||||
|  | 		#size-cells = <0x2>; | ||||||
|  | 		memory-region = <&mhi_region1>; | ||||||
|  | #if !defined(__CNSS2__) | ||||||
|  | 		base-addr = <0x4CC00000>; | ||||||
|  | 		m3-dump-addr = <0x4E000000>; | ||||||
|  | 		etr-addr = <0x4E100000>; | ||||||
|  | 		qcom,caldb-addr = <0x4E200000>; | ||||||
|  | 		qcom,tgt-mem-mode = <0x1>; | ||||||
|  | 		mhi,max-channels = <30>; | ||||||
|  | 		mhi,timeout = <10000>; | ||||||
|  | #endif | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	qcom,board_id = <0x24>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi3 { | ||||||
|  | 	/* QCN9000 5G */ | ||||||
|  | 	board_id = <0xa0>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qfprom { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tsens { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
| @@ -0,0 +1,884 @@ | |||||||
|  | /dts-v1/; | ||||||
|  | /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "qcom-ipq5018.dtsi" | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	#address-cells = <0x2>; | ||||||
|  | 	#size-cells = <0x2>; | ||||||
|  | 	model = "OptimCloud D60"; | ||||||
|  | 	compatible = "optimcloud,d60", "qcom,ipq5018-mp03.1", "qcom,ipq5018"; | ||||||
|  | 	interrupt-parent = <&intc>; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	AUTO_MOUNT; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||||
|  | 		serial0 = &blsp1_uart1; | ||||||
|  | 		serial1 = &blsp1_uart2; | ||||||
|  | 		ethernet0 = "/soc/dp1"; | ||||||
|  | 		ethernet1 = "/soc/dp2"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		bootargs-append = " swiotlb=1"; | ||||||
|  | 	#else | ||||||
|  | 		bootargs-append = " swiotlb=1 coherent_pool=2M"; | ||||||
|  | 	#endif | ||||||
|  | 		stdout-path = "serial0"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	reserved-memory { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	/*            256 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          8MB            | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x40800000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          23MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump| 0x4C700000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | QDSS   | 0x4C800000   |          1MB            | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4C900000  |          17MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4DA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01700000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c700000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C700000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C900000 0x0 0x01100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4da00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4da00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#elif __IPQ_MEM_PROFILE_512_MB__ | ||||||
|  | 	/*                      512 MB Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          30MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4EA00000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x01E00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4ea00000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ea00000 0x0 0x01000000>; | ||||||
|  | 		}; | ||||||
|  | 	#else | ||||||
|  | 	/*                      1G Profile | ||||||
|  | 	 * +=========+==============+========================+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Region | Start Offset |          Size           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  NSS   |  0x40000000  |          16MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * | uboot  |  0x4A600000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  SBL   |  0x4AA00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  smem  |  0x4AB00000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   TZ   |  0x4AC00000  |           4MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |   Q6   |  0x4B000000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | M3 Dump|  0x4C800000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |  QDSS  |  0x4C900000  |           1MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * | caldb  |  0x4CA00000  |           2MB           | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |QCN9000 |  0x4CC00000  |          45MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * |  MHI1  |  0x4F900000  |          24MB           | | ||||||
|  | 	 * |        |              |                         | | ||||||
|  | 	 * +--------+--------------+-------------------------+ | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * |      Rest of the memory for Linux               | | ||||||
|  | 	 * |                                                 | | ||||||
|  | 	 * +=================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_region: wcnss@4b000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4b000000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump@4c800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c800000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region:q6_etr_dump@4c900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4c900000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region:q6_caldb_region@4ca00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4ca00000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcn9000_pcie0@4cc00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4CC00000 0x0 0x02D00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mhi_region1: dma_pool1@4F900000 { | ||||||
|  | 			compatible = "shared-dma-pool"; | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F900000 0x0 0x01800000>; | ||||||
|  | 		}; | ||||||
|  | 	#endif | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		serial@78af000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		blsp1_uart2: serial@78b0000 { | ||||||
|  | 			pinctrl-0 = <&blsp1_uart_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qpic_bam: dma@7984000{ | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		nand: qpic-nand@79b0000 { | ||||||
|  | 			pinctrl-0 = <&qspi_nand_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		spi_0: spi@78b5000 { /* BLSP1 QUP0 */ | ||||||
|  | 			pinctrl-0 = <&blsp0_spi_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			cs-select = <0>; | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			m25p80@0 { | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <1>; | ||||||
|  | 				reg = <0>; | ||||||
|  | 				compatible = "n25q128a11"; | ||||||
|  | 				linux,modalias = "m25p80", "n25q128a11"; | ||||||
|  | 				spi-max-frequency = <50000000>; | ||||||
|  | 				use-default-sizes; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio0: mdio@88000 { | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <7>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio1: mdio@90000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 			pinctrl-0 = <&mdio1_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			phy-reset-gpio = <&tlmm 39 0>; | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <0>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@1 { | ||||||
|  | 				reg = <1>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@2 { | ||||||
|  | 				reg = <2>; | ||||||
|  | 			}; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@3 { | ||||||
|  | 				reg = <3>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-instance { | ||||||
|  | 			num_devices = <0x2>; | ||||||
|  | 			ess-switch@0x39c00000 { | ||||||
|  | 				compatible = "qcom,ess-switch-ipq50xx"; | ||||||
|  | 				device_id = <0>; | ||||||
|  | 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ | ||||||
|  | 				cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <7>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						forced-speed = <1000>; | ||||||
|  | 						forced-duplex = <1>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				led_source@0 { | ||||||
|  | 					source = <0>; | ||||||
|  | 					mode = "normal"; | ||||||
|  | 					speed = "all"; | ||||||
|  | 					blink_en = "enable"; | ||||||
|  | 					active = "high"; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 			ess-switch1@1 { | ||||||
|  | 				compatible = "qcom,ess-switch-qca83xx"; | ||||||
|  | 				device_id = <1>; | ||||||
|  | 				switch_access_mode = "mdio"; | ||||||
|  | 				mdio-bus = <&mdio1>; | ||||||
|  | 				reset_gpio = <0x27>; | ||||||
|  | 				switch_cpu_bmp = <0x40>;  /* cpu port bitmap */ | ||||||
|  | 				switch_lan_bmp = <0x1e>; /* lan port bitmap */ | ||||||
|  | 				switch_wan_bmp = <0x0>;  /* wan port bitmap */ | ||||||
|  | 				qca,ar8327-initvals = < | ||||||
|  | 						0x00004 0x7600000   /* PAD0_MODE */ | ||||||
|  | 						0x00008 0x1000000   /* PAD5_MODE */ | ||||||
|  | 						0x0000c 0x80        /* PAD6_MODE */ | ||||||
|  | 						0x00010 0x2613a0    /* PORT6 FORCE MODE*/ | ||||||
|  | 						0x000e4 0xaa545     /* MAC_POWER_SEL */ | ||||||
|  | 						0x000e0 0xc74164de  /* SGMII_CTRL */ | ||||||
|  | 						0x0007c 0x4e        /* PORT0_STATUS */ | ||||||
|  | 						0x00094 0x4e        /* PORT6_STATUS */ | ||||||
|  | 				>; | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <0>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						phy_address = <1>; | ||||||
|  | 					}; | ||||||
|  | 					port@2 { | ||||||
|  | 						port_id = <3>; | ||||||
|  | 						phy_address = <2>; | ||||||
|  | 					}; | ||||||
|  | 					port@3 { | ||||||
|  | 						port_id = <4>; | ||||||
|  | 						phy_address = <3>; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		wifi0: wifi@c000000 { | ||||||
|  | 			qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x4CA00000 | ||||||
|  | 						0x0 0x0>; | ||||||
|  | 			qcom,caldb-size = <0x200000>; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-uniphy@98000 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,sps { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,usbbam@8B04000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qcom,diag@0 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp1 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <1>; | ||||||
|  | 			reg = <0x39C00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <7>; | ||||||
|  | 			mdio-bus = <&mdio0>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp2 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <2>; | ||||||
|  | 			reg = <0x39D00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		rpm_etm0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		lpass: lpass@0xA000000{ | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm: pcm@0xA3C0000{ | ||||||
|  | 			pinctrl-0 = <&audio_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		pcm_lb: pcm_lb@0 { | ||||||
|  | 			status = "disabled"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	thermal-zones { | ||||||
|  | 		status = "ok"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 	blsp0_uart_pins: blsp0_uart_pins { | ||||||
|  | 		blsp0_uart_rx_tx { | ||||||
|  | 			pins = "gpio20", "gpio21"; | ||||||
|  | 			function = "blsp0_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp1_uart_pins: blsp1_uart_pins { | ||||||
|  | 		blsp1_uart_rx_tx { | ||||||
|  | 			pins = "gpio23", "gpio25", "gpio24", "gpio26"; | ||||||
|  | 			function = "blsp1_uart2"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp0_spi_pins: blsp0_spi_pins { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio10", "gpio11", "gpio12", "gpio13"; | ||||||
|  | 			function = "blsp0_spi"; | ||||||
|  | 			drive-strength = <2>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	qspi_nand_pins: qspi_nand_pins { | ||||||
|  | 		qspi_clock { | ||||||
|  | 				pins = "gpio9"; | ||||||
|  | 				function = "qspi_clk"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_cs { | ||||||
|  | 				pins = "gpio8"; | ||||||
|  | 				function = "qspi_cs"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_0 { | ||||||
|  | 				pins = "gpio7"; | ||||||
|  | 				function = "qspi0"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_1 { | ||||||
|  | 				pins = "gpio6"; | ||||||
|  | 				function = "qspi1"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_2 { | ||||||
|  | 				pins = "gpio5"; | ||||||
|  | 				function = "qspi2"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 		qspi_data_3 { | ||||||
|  | 				pins = "gpio4"; | ||||||
|  | 				function = "qspi3"; | ||||||
|  | 				drive-strength = <8>; | ||||||
|  | 				bias-disable; | ||||||
|  | 			}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	mdio1_pins: mdio_pinmux { | ||||||
|  | 		mux_0 { | ||||||
|  | 			pins = "gpio36"; | ||||||
|  | 			function = "mdc"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio37"; | ||||||
|  | 			function = "mdio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	phy_led_pins: phy_led_pins { | ||||||
|  | 		gephy_led_pin { | ||||||
|  | 			pins = "gpio46"; | ||||||
|  | 			function = "led0"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	i2c_pins: i2c_pins { | ||||||
|  | 		i2c_scl { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		i2c_sda { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	button_pins: button_pins { | ||||||
|  | 		wps_button { | ||||||
|  | 			pins = "gpio38"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	audio_pins: audio_pinmux { | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio24"; | ||||||
|  | 			function = "audio_rxbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_2 { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "audio_rxfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_3 { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "audio_rxd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_4 { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "audio_txmclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_5 { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "audio_txbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_6 { | ||||||
|  | 			pins = "gpio29"; | ||||||
|  | 			function = "audio_txfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_7 { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "audio_txd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &soc { | ||||||
|  | 	gpio_keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  | 		pinctrl-0 = <&button_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 		button@1 { | ||||||
|  | 			label = "wps"; | ||||||
|  | 			linux,code = <KEY_WPS_BUTTON>; | ||||||
|  | 			gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  | 	qcom,multiplexed-phy; | ||||||
|  | 	qcom,phy-mux-regs = <&tcsr_q6_block 0x2540>; | ||||||
|  | 	device-power-gpio = <&tlmm 24 1>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &eud { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | 	perst-gpio = <&tlmm 18 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2 { | ||||||
|  | 	status = "ok"; | ||||||
|  | 	perst-gpio = <&tlmm 15 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &bt { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wcss { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_wcss { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_m3 { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_mutex { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &smem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &apcs_glb { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tcsr_q6_block { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qcom_q6v5_wcss { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_region>, <&q6_etr_region>, | ||||||
|  | 				<&q6_caldb_region>; | ||||||
|  | 	#endif | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	q6v5_wcss_userpd1 { | ||||||
|  | 		m3_firmware = "IPQ5018/m3_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 8 0>, | ||||||
|  | 			<&wcss_smp2p_in 9 0>, | ||||||
|  | 			<&wcss_smp2p_in 12 0>, | ||||||
|  | 			<&wcss_smp2p_in 11 0>; | ||||||
|  | 		interrupt-names ="fatal", | ||||||
|  | 			"ready", | ||||||
|  | 			"spawn_ack", | ||||||
|  | 			"stop-ack"; | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 8>, | ||||||
|  | 			<&wcss_smp2p_out 9>, | ||||||
|  | 			<&wcss_smp2p_out 10>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 			"stop", | ||||||
|  | 			"spawn"; | ||||||
|  | 		qca,asid = <1>; | ||||||
|  | 		qca,auto-restart; | ||||||
|  | 		qca,int_radio; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &i2c_0 { | ||||||
|  | 	pinctrl-0 = <&i2c_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &dbm_1p5 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &msm_imem { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp1_uart1 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &ssuniphy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &hs_m31phy_0 { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1phy { | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2phy { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1_rp { | ||||||
|  | 	status = "disabled"; | ||||||
|  |  | ||||||
|  | 	mhi_0: qcom,mhi@0 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2_rp { | ||||||
|  | 	status = "ok"; | ||||||
|  |  | ||||||
|  | 	mhi_1: qcom,mhi@1 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 		qrtr_instance_id = <0x20>; | ||||||
|  | 		#address-cells = <0x2>; | ||||||
|  | 		#size-cells = <0x2>; | ||||||
|  | 		memory-region = <&mhi_region1>; | ||||||
|  | #if !defined(__CNSS2__) | ||||||
|  | 		base-addr = <0x4CC00000>; | ||||||
|  | 		m3-dump-addr = <0x4E000000>; | ||||||
|  | 		etr-addr = <0x4E100000>; | ||||||
|  | 		qcom,caldb-addr = <0x4E200000>; | ||||||
|  | 		qcom,tgt-mem-mode = <0x1>; | ||||||
|  | 		mhi,max-channels = <30>; | ||||||
|  | 		mhi,timeout = <10000>; | ||||||
|  | #endif | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	qcom,board_id = <0x24>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi3 { | ||||||
|  | 	/* QCN9000 5G */ | ||||||
|  | 	board_id = <0xa0>; | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &qfprom { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tsens { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -165,3 +165,56 @@ define Device/yuncore_fap655 | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += yuncore_fap655 | TARGET_DEVICES += yuncore_fap655 | ||||||
|  |  | ||||||
|  | define Device/optimcloud_d50-5g | ||||||
|  |    DEVICE_TITLE := OptimCloud D50-5G | ||||||
|  |    DEVICE_DTS := qcom-ipq5018-optimcloud-d50-5g | ||||||
|  |    SUPPORTED_DEVICES := optimcloud,d50-5g | ||||||
|  |    DEVICE_PACKAGES := ath11k-wifi-optimcloud-d50 ath11k-firmware-ipq50xx ath11k-firmware-qcn9000  | ||||||
|  |    DEVICE_DTS_CONFIG := config@mp03.1 | ||||||
|  |    IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi | ||||||
|  |    IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata | ||||||
|  |    IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |    IMAGE/nand-factory.ubi := append-ubi | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += optimcloud_d50-5g | ||||||
|  |   | ||||||
|  | define Device/optimcloud_d50 | ||||||
|  |    DEVICE_TITLE := OptimCloud D50 | ||||||
|  |    DEVICE_DTS := qcom-ipq5018-optimcloud-d50 | ||||||
|  |    SUPPORTED_DEVICES := optimcloud,d50 | ||||||
|  |    DEVICE_PACKAGES := ath11k-wifi-optimcloud-d50 ath11k-firmware-ipq50xx ath11k-firmware-qcn9000 ath11k-firmware-qcn6122 | ||||||
|  |    DEVICE_DTS_CONFIG := config@mp03.1 | ||||||
|  |    IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi | ||||||
|  |    IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata | ||||||
|  |    IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |    IMAGE/factory.ubi := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |    IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += optimcloud_d50 | ||||||
|  |   | ||||||
|  | define Device/optimcloud_d60-5g | ||||||
|  |    DEVICE_TITLE := OptimCloud D60-5G | ||||||
|  |    DEVICE_DTS := qcom-ipq5018-optimcloud-d60-5g | ||||||
|  |    SUPPORTED_DEVICES := optimcloud,d60-5g | ||||||
|  |    DEVICE_PACKAGES := ath11k-wifi-optimcloud-d60 ath11k-firmware-ipq50xx ath11k-firmware-qcn9000 | ||||||
|  |    DEVICE_DTS_CONFIG := config@mp03.1 | ||||||
|  |    IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi | ||||||
|  |    IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata | ||||||
|  |    IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |    IMAGE/nand-factory.ubi := append-ubi | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += optimcloud_d60-5g | ||||||
|  |   | ||||||
|  | define Device/optimcloud_d60 | ||||||
|  |    DEVICE_TITLE := OptimCloud D60 | ||||||
|  |    DEVICE_DTS := qcom-ipq5018-optimcloud-d60 | ||||||
|  |    SUPPORTED_DEVICES := optimcloud,d60 | ||||||
|  |    DEVICE_PACKAGES := ath11k-wifi-optimcloud-d60 ath11k-firmware-ipq50xx ath11k-firmware-qcn9000 ath11k-firmware-qcn6122 | ||||||
|  |    DEVICE_DTS_CONFIG := config@mp03.1 | ||||||
|  |    IMAGES := sysupgrade.tar nand-factory.bin nand-factory.ubi | ||||||
|  |    IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata | ||||||
|  |    IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |    IMAGE/factory.ubi := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |    IMAGE/nand-factory.ubi := append-ubi | qsdk-ipq-factory-nand | ||||||
|  |  endef | ||||||
|  |  TARGET_DEVICES += optimcloud_d60 | ||||||
|   | |||||||
| @@ -745,11 +745,11 @@ hostapd_set_bss_options() { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	case "$auth_type" in | 	case "$auth_type" in | ||||||
| 		sae|owe|eap192|eap256) | 		sae|owe|eap192|eap2) | ||||||
| 			set_default ieee80211w 2 | 			set_default ieee80211w 2 | ||||||
| 			set_default sae_require_mfp 1 | 			set_default sae_require_mfp 1 | ||||||
| 		;; | 		;; | ||||||
| 		psk-sae|psk2-radius|eap-eap256) | 		psk-sae|psk2-radius|eap-eap2) | ||||||
| 			set_default ieee80211w 1 | 			set_default ieee80211w 1 | ||||||
| 			set_default sae_require_mfp 1 | 			set_default sae_require_mfp 1 | ||||||
| 		;; | 		;; | ||||||
| @@ -796,7 +796,7 @@ hostapd_set_bss_options() { | |||||||
| 			vlan_possible=1 | 			vlan_possible=1 | ||||||
| 			wps_possible=1 | 			wps_possible=1 | ||||||
| 		;; | 		;; | ||||||
| 		eap|eap192|eap-eap256|eap256) | 		eap|eap192|eap-eap2|eap2) | ||||||
| 			append_radius_server | 			append_radius_server | ||||||
| 			# radius can provide VLAN ID for clients | 			# radius can provide VLAN ID for clients | ||||||
| 			vlan_possible=1 | 			vlan_possible=1 | ||||||
| @@ -1342,10 +1342,10 @@ wpa_supplicant_add_network() { | |||||||
| 		default_disabled | 		default_disabled | ||||||
|  |  | ||||||
| 	case "$auth_type" in | 	case "$auth_type" in | ||||||
| 		sae|owe|eap-eap256) | 		sae|owe|eap-eap2) | ||||||
| 			set_default ieee80211w 2 | 			set_default ieee80211w 2 | ||||||
| 		;; | 		;; | ||||||
| 		psk-sae|eap192|eap256) | 		psk-sae|eap192|eap2) | ||||||
| 			set_default ieee80211w 1 | 			set_default ieee80211w 1 | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
| @@ -1423,7 +1423,7 @@ wpa_supplicant_add_network() { | |||||||
| 			fi | 			fi | ||||||
| 			append network_data "$passphrase" "$N$T" | 			append network_data "$passphrase" "$N$T" | ||||||
| 		;; | 		;; | ||||||
| 		eap|eap192|eap-eap256|eap256) | 		eap|eap192|eap-eap2|eap2) | ||||||
| 			hostapd_append_wpa_key_mgmt | 			hostapd_append_wpa_key_mgmt | ||||||
| 			key_mgmt="$wpa_key_mgmt" | 			key_mgmt="$wpa_key_mgmt" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -18,6 +18,7 @@ edgecore,oap101e|\ | |||||||
| edgecore,oap101e-6e) | edgecore,oap101e-6e) | ||||||
| 	ucidef_set_led_netdev "wan" "wan" "red:ethernet" "eth1" | 	ucidef_set_led_netdev "wan" "wan" "red:ethernet" "eth1" | ||||||
| 	;; | 	;; | ||||||
|  | hfcl,ion4x_w|\ | ||||||
| hfcl,ion4xi_w) | hfcl,ion4xi_w) | ||||||
| 	ucidef_set_led_wlan "wlan5g" "WLAN5G" "blue:wifi5" "phy0tpt" | 	ucidef_set_led_wlan "wlan5g" "WLAN5G" "blue:wifi5" "phy0tpt" | ||||||
| 	ucidef_set_led_wlan "wlan2g" "WLAN2G" "blue:wifi2" "phy1tpt" | 	ucidef_set_led_wlan "wlan2g" "WLAN2G" "blue:wifi2" "phy1tpt" | ||||||
|   | |||||||
| @@ -30,6 +30,7 @@ qcom_setup_interfaces() | |||||||
| 		ucidef_add_switch "switch1" \ | 		ucidef_add_switch "switch1" \ | ||||||
| 			"6@eth1" "1:lan" "2:lan" "3:lan" "4:lan" | 			"6@eth1" "1:lan" "2:lan" "3:lan" "4:lan" | ||||||
| 		;; | 		;; | ||||||
|  | 	hfcl,ion4x_w|\ | ||||||
| 	hfcl,ion4xi_w) | 	hfcl,ion4xi_w) | ||||||
| 		ucidef_set_interface_wan "eth0" | 		ucidef_set_interface_wan "eth0" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -69,6 +69,7 @@ ath11k/IPQ5018/hw1.0/caldata.bin) | |||||||
| 	edgecore,oap101-6e|\ | 	edgecore,oap101-6e|\ | ||||||
| 	edgecore,oap101e|\ | 	edgecore,oap101e|\ | ||||||
| 	edgecore,oap101e-6e|\ | 	edgecore,oap101e-6e|\ | ||||||
|  | 	hfcl,ion4x_w|\ | ||||||
| 	hfcl,ion4xi_w|\ | 	hfcl,ion4xi_w|\ | ||||||
| 	optimcloud,d60|\ | 	optimcloud,d60|\ | ||||||
| 	optimcloud,d60-5g|\ | 	optimcloud,d60-5g|\ | ||||||
| @@ -126,6 +127,7 @@ ath11k-macs) | |||||||
| 	yuncore,fap655) | 	yuncore,fap655) | ||||||
| 		ath11k_generate_macs | 		ath11k_generate_macs | ||||||
| 		;; | 		;; | ||||||
|  | 	hfcl,ion4x_w|\ | ||||||
| 	hfcl,ion4xi_w) | 	hfcl,ion4xi_w) | ||||||
| 		ath11k_generate_macs_ion4x | 		ath11k_generate_macs_ion4x | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -71,6 +71,7 @@ platform_check_image() { | |||||||
| 	cig,wf186w|\ | 	cig,wf186w|\ | ||||||
| 	cig,wf186h|\ | 	cig,wf186h|\ | ||||||
| 	edgecore,eap104|\ | 	edgecore,eap104|\ | ||||||
|  | 	hfcl,ion4x_w|\ | ||||||
| 	hfcl,ion4xi_w|\ | 	hfcl,ion4xi_w|\ | ||||||
| 	optimcloud,d60|\ | 	optimcloud,d60|\ | ||||||
| 	optimcloud,d60-5g|\ | 	optimcloud,d60-5g|\ | ||||||
| @@ -103,7 +104,8 @@ platform_do_upgrade() { | |||||||
| 		[ "$(find_mtd_chardev rootfs)" ] && CI_UBIPART="rootfs" | 		[ "$(find_mtd_chardev rootfs)" ] && CI_UBIPART="rootfs" | ||||||
| 		nand_upgrade_tar "$1" | 		nand_upgrade_tar "$1" | ||||||
| 		;; | 		;; | ||||||
|         hfcl,ion4xi_w) |         hfcl,ion4x_w|\ | ||||||
|  | 	hfcl,ion4xi_w) | ||||||
|                 wp_part=$(fw_printenv primary | cut  -d = -f2) |                 wp_part=$(fw_printenv primary | cut  -d = -f2) | ||||||
|                 echo "Current Primary is $wp_part" |                 echo "Current Primary is $wp_part" | ||||||
|                 if [[ $wp_part == 1 ]]; then |                 if [[ $wp_part == 1 ]]; then | ||||||
|   | |||||||
| @@ -31,6 +31,10 @@ | |||||||
| 		serial1 = &blsp1_uart2; | 		serial1 = &blsp1_uart2; | ||||||
| 		ethernet0 = "/soc/dp1"; | 		ethernet0 = "/soc/dp1"; | ||||||
| 		ethernet1 = "/soc/dp2"; | 		ethernet1 = "/soc/dp2"; | ||||||
|  | 		led-boot = &led_power; | ||||||
|  | 		led-failsafe = &led_power; | ||||||
|  | 		led-running = &led_power; | ||||||
|  | 		led-upgrade = &led_power; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	chosen { | 	chosen { | ||||||
| @@ -568,15 +572,31 @@ | |||||||
| }; | }; | ||||||
|  |  | ||||||
| &soc { | &soc { | ||||||
|          pwm: pwm@0x1941010 { | 	leds { | ||||||
|                 pinctrl-0 = <&pwm_pins>; | 		compatible = "gpio-leds"; | ||||||
|                 pinctrl-names = "default"; | 		pinctrl-0 = <&leds_pins>; | ||||||
|                 used-pwm-indices = <1>, <1>, <1>, <1>; | 		pinctrl-names = "default"; | ||||||
|                 dft-pwm-status = <1>, <0>, <0>, <0>; |  | ||||||
|                 status = "ok"; |  | ||||||
|         }; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  | 		led3 { | ||||||
|  | 			label = "blue:status"; | ||||||
|  | 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "blue-on"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led2 { | ||||||
|  | 			label = "red:status"; | ||||||
|  | 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "red-on"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led_power: led1 { | ||||||
|  | 			label = "green:status"; | ||||||
|  | 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "default-on"; | ||||||
|  | 			default-state = "on"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
| &tlmm { | &tlmm { | ||||||
| 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
| @@ -680,6 +700,27 @@ | |||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|  | 	leds_pins: leds_pins { | ||||||
|  | 		led_pwr_g { | ||||||
|  | 			pins = "gpio0"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_pwr_b { | ||||||
|  | 			pins = "gpio1"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_pwr_r { | ||||||
|  | 			pins = "gpio45"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
| 	audio_pins: audio_pinmux { | 	audio_pins: audio_pinmux { | ||||||
| 		mux_1 { | 		mux_1 { | ||||||
| 			pins = "gpio24"; | 			pins = "gpio24"; | ||||||
|   | |||||||
| @@ -31,6 +31,10 @@ | |||||||
| 		serial1 = &blsp1_uart2; | 		serial1 = &blsp1_uart2; | ||||||
| 		ethernet0 = "/soc/dp1"; | 		ethernet0 = "/soc/dp1"; | ||||||
| 		ethernet1 = "/soc/dp2"; | 		ethernet1 = "/soc/dp2"; | ||||||
|  | 		led-boot = &led_power; | ||||||
|  | 		led-failsafe = &led_power; | ||||||
|  | 		led-running = &led_power; | ||||||
|  | 		led-upgrade = &led_power; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
| 	chosen { | 	chosen { | ||||||
| @@ -568,15 +572,31 @@ | |||||||
| }; | }; | ||||||
|  |  | ||||||
| &soc { | &soc { | ||||||
|          pwm: pwm@0x1941010 { | 	leds { | ||||||
|                 pinctrl-0 = <&pwm_pins>; | 		compatible = "gpio-leds"; | ||||||
|                 pinctrl-names = "default"; | 		pinctrl-0 = <&leds_pins>; | ||||||
|                 used-pwm-indices = <1>, <1>, <1>, <1>; | 		pinctrl-names = "default"; | ||||||
|                 dft-pwm-status = <1>, <0>, <0>, <0>; |  | ||||||
|                 status = "ok"; |  | ||||||
|         }; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  | 		led3 { | ||||||
|  | 			label = "blue:status"; | ||||||
|  | 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "blue-on"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led2 { | ||||||
|  | 			label = "red:status"; | ||||||
|  | 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "red-on"; | ||||||
|  | 			default-state = "off"; | ||||||
|  | 		}; | ||||||
|  | 		led_power: led1 { | ||||||
|  | 			label = "green:status"; | ||||||
|  | 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "default-on"; | ||||||
|  | 			default-state = "on"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
| &tlmm { | &tlmm { | ||||||
| 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
| @@ -680,6 +700,27 @@ | |||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|  | 	leds_pins: leds_pins { | ||||||
|  | 		led_pwr_g { | ||||||
|  | 			pins = "gpio0"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_pwr_b { | ||||||
|  | 			pins = "gpio1"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 		led_pwr_r { | ||||||
|  | 			pins = "gpio45"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
| 	audio_pins: audio_pinmux { | 	audio_pins: audio_pinmux { | ||||||
| 		mux_1 { | 		mux_1 { | ||||||
| 			pins = "gpio24"; | 			pins = "gpio24"; | ||||||
|   | |||||||
| @@ -0,0 +1,852 @@ | |||||||
|  | /dts-v1/; | ||||||
|  | /* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Permission to use, copy, modify, and/or distribute this software for any | ||||||
|  |  * purpose with or without fee is hereby granted, provided that the above | ||||||
|  |  * copyright notice and this permission notice appear in all copies. | ||||||
|  |  * | ||||||
|  |  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||||
|  |  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||||
|  |  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||||
|  |  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||||
|  |  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||||
|  |  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||||
|  |  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #include "ipq5018.dtsi" | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	#address-cells = <0x2>; | ||||||
|  | 	#size-cells = <0x2>; | ||||||
|  | 	model = "HFCL ION4x_w"; | ||||||
|  | 	compatible = "hfcl,ion4x_w", "qcom,ipq5018-mp03.3", "qcom,ipq5018"; | ||||||
|  | 	interrupt-parent = <&intc>; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||||
|  | 		serial0 = &blsp1_uart1; | ||||||
|  | 		serial1 = &blsp1_uart2; | ||||||
|  | 		ethernet0 = "/soc/dp1"; | ||||||
|  |  | ||||||
|  | 		led-boot = &led_power; | ||||||
|  | 		led-failsafe = &led_power; | ||||||
|  | 		led-running = &led_power; | ||||||
|  | 		led-upgrade = &led_power; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	chosen { | ||||||
|  | 		bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; | ||||||
|  | 		bootargs-append = " swiotlb=1 coherent_pool=2M"; | ||||||
|  | 		stdout-path = "serial0"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	reserved-memory { | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	/*		   256 MB Profile | ||||||
|  | 	 * +==========+==============+=========================+ | ||||||
|  | 	 * |	  |	      |			 | | ||||||
|  | 	 * |  Region  | Start Offset |	  Size	   | | ||||||
|  | 	 * |	  |	      |			 | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    NSS   |  0x40000000  |	   8MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |   Linux  |  0x40800000  | Depends on total memory | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |   uboot  |  0x4A600000  |	   4MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    SBL   |  0x4AA00000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |   smem   |  0x4AB00000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    TZ    |  0x4AC00000  |	   4MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    Q6    |	      |			 | | ||||||
|  | 	 * |   code/  |  0x4B000000  |	  20MB	   | | ||||||
|  | 	 * |   data   |	      |			 | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |   data   |  0x4C400000  |	  13MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |  M3 Dump |  0x4D100000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |   QDSS   |  0x4D200000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |   data   |  0x4D300000  |	  13MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |  M3 Dump |  0x4E000000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |   QDSS   |  0x4E100000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |   data   |  0x4E200000  |	  13MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |  M3 Dump |  0x4EF00000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |   QDSS   |  0x4F000000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |						   | | ||||||
|  | 	 * |	    Rest of the memory for Linux	   | | ||||||
|  | 	 * |						   | | ||||||
|  | 	 * +===================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_mem_regions: q6_mem_regions@4B000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4B000000 0x0 0x4100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_code_data: q6_code_data@4B000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4B000000 0x0 0x1400000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_ipq5018_data: q6_ipq5018_data@4C400000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C400000 0x0 0xD00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump: m3_dump@4D100000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D100000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region: q6_etr_dump@4D200000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D200000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_data1: q6_qcn6122_data1@4D300000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D300000 0x0 0xD00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E000000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E100000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E100000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_data2: q6_qcn6122_data2@4E200000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E200000 0x0 0xD00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump_qcn6122_2: m3_dump_qcn6122_2@4EF00000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4EF00000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F000000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  | 	#else | ||||||
|  | 	/*		 512MB/1GB Profiles | ||||||
|  | 	 * +==========+==============+=========================+ | ||||||
|  | 	 * |	  |	      |			 | | ||||||
|  | 	 * |  Region  | Start Offset |	  Size	   | | ||||||
|  | 	 * |	  |	      |			 | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    NSS   |  0x40000000  |	  16MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |   Linux  |  0x41000000  | Depends on total memory | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |   uboot  |  0x4A600000  |	   4MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    SBL   |  0x4AA00000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |   smem   |  0x4AB00000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    TZ    |  0x4AC00000  |	   4MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |    Q6    |	      |			 | | ||||||
|  | 	 * |   code/  |  0x4B000000  |	  20MB	   | | ||||||
|  | 	 * |   data   |	      |			 | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |   data   |  0x4C400000  |	  13MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |  M3 Dump |  0x4D100000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |   QDSS   |  0x4D200000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |  IPQ5018 |	      |			 | | ||||||
|  | 	 * |  Caldb   |  0x4D300000  |	   2MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |   data   |  0x4D500000  |	  13MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |  M3 Dump |  0x4E200000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |   QDSS   |  0x4E300000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_1|	      |			 | | ||||||
|  | 	 * |  Caldb   |  0x4E400000  |	   5MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |   data   |  0x4E900000  |	  13MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |  M3 Dump |  0x4F600000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |   QDSS   |  0x4F700000  |	   1MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * | QCN6122_2|	      |			 | | ||||||
|  | 	 * |  Caldb   |  0x4F800000  |	   5MB	   | | ||||||
|  | 	 * +----------+--------------+-------------------------+ | ||||||
|  | 	 * |						   | | ||||||
|  | 	 * |	    Rest of the memory for Linux	   | | ||||||
|  | 	 * |						   | | ||||||
|  | 	 * +===================================================+ | ||||||
|  | 	 */ | ||||||
|  | 		q6_mem_regions: q6_mem_regions@4B000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4B000000 0x0 0x4D00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_code_data: q6_code_data@4B000000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4B000000 0x0 01400000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_ipq5018_data: q6_ipq5018_data@4C400000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4C400000 0x0 0xD00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump: m3_dump@4D100000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D100000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_etr_region: q6_etr_dump@4D200000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D200000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_caldb_region: q6_caldb_region@4D300000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D300000 0x0 0x200000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_data1: q6_qcn6122_data1@4D500000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4D500000 0x0 0xD00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump_qcn6122_1: m3_dump_qcn6122_1@4E200000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E200000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_etr_1: q6_qcn6122_etr_1@4E300000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E300000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_caldb_1: q6_qcn6122_caldb_1@4E400000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E400000 0x0 0x500000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_data2: q6_qcn6122_data2@4E900000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4E900000 0x0 0xD00000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		m3_dump_qcn6122_2: m3_dump_qcn6122_2@4F600000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F600000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_etr_2: q6_qcn6122_etr_2@4F700000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F700000 0x0 0x100000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		q6_qcn6122_caldb_2: q6_qcn6122_caldb_2@4F800000 { | ||||||
|  | 			no-map; | ||||||
|  | 			reg = <0x0 0x4F800000 0x0 0x500000>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 	#endif | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		serial@78af000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		blsp1_uart2: serial@78b0000 { | ||||||
|  | 			pinctrl-0 = <&blsp1_uart_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qpic_bam: dma@7984000{ | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		nand: qpic-nand@79b0000 { | ||||||
|  | 			pinctrl-0 = <&qspi_nand_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "ok"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		spi_0: spi@78b5000 { /* BLSP1 QUP0 */ | ||||||
|  | 			pinctrl-0 = <&blsp0_spi_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			cs-select = <0>; | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			m25p80@0 { | ||||||
|  | 				#address-cells = <1>; | ||||||
|  | 				#size-cells = <1>; | ||||||
|  | 				reg = <0>; | ||||||
|  | 				compatible = "n25q128a11"; | ||||||
|  | 				linux,modalias = "m25p80", "n25q128a11"; | ||||||
|  | 				spi-max-frequency = <50000000>; | ||||||
|  | 				use-default-sizes; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio0: mdio@88000 { | ||||||
|  | 			status = "ok"; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <7>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mdio1: mdio@90000 { | ||||||
|  | 			status = "ok"; | ||||||
|  | 			pinctrl-0 = <&mdio1_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			phy-reset-gpio = <&tlmm 39 0>; | ||||||
|  |  | ||||||
|  | 			ethernet-phy@0 { | ||||||
|  | 				reg = <28>; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-instance { | ||||||
|  | 			num_devices = <0x1>; | ||||||
|  | 			ess-switch@0x39c00000 { | ||||||
|  | 				switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ | ||||||
|  | 				cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ | ||||||
|  | 				qcom,port_phyinfo { | ||||||
|  | 					port@0 { | ||||||
|  | 						port_id = <1>; | ||||||
|  | 						phy_address = <7>; | ||||||
|  | 						mdiobus = <&mdio0>; | ||||||
|  | 					}; | ||||||
|  | 					port@1 { | ||||||
|  | 						port_id = <2>; | ||||||
|  | 						phy_address = <0x1c>; | ||||||
|  | 						mdiobus = <&mdio1>; | ||||||
|  | 						port_mac_sel = "QGMAC_PORT"; | ||||||
|  | 					}; | ||||||
|  | 				}; | ||||||
|  | 				led_source@0 { | ||||||
|  | 					source = <0>; | ||||||
|  | 					mode = "normal"; | ||||||
|  | 					speed = "all"; | ||||||
|  | 					blink_en = "enable"; | ||||||
|  | 					active = "high"; | ||||||
|  | 				}; | ||||||
|  | 			}; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		dp1 { | ||||||
|  | 			device_type = "network"; | ||||||
|  | 			compatible = "qcom,nss-dp"; | ||||||
|  | 			clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; | ||||||
|  | 			clock-names = "nss-snoc-gmac-axi-clk"; | ||||||
|  | 			qcom,id = <2>; | ||||||
|  | 			reg = <0x39D00000 0x10000>; | ||||||
|  | 			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||||||
|  | 			qcom,mactype = <2>; | ||||||
|  | 			qcom,link-poll = <1>; | ||||||
|  | 			qcom,phy-mdio-addr = <28>; | ||||||
|  | 			mdio-bus = <&mdio1>; | ||||||
|  | 			local-mac-address = [000000000000]; | ||||||
|  | 			phy-mode = "sgmii"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	qcom,test@0 { | ||||||
|  | 		status = "ok"; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	thermal-zones { | ||||||
|  | 		status = "ok"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	pinctrl-0 = <&blsp0_uart_pins &phy_led_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 	blsp0_uart_pins: uart_pins { | ||||||
|  | 		blsp0_uart_rx_tx { | ||||||
|  | 			pins = "gpio20", "gpio21"; | ||||||
|  | 			function = "blsp0_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp1_uart_pins: blsp1_uart_pins { | ||||||
|  | 		blsp1_uart_rx_tx { | ||||||
|  | 			pins = "gpio23", "gpio25", "gpio24", "gpio26"; | ||||||
|  | 			function = "blsp1_uart2"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	blsp0_spi_pins: blsp0_spi_pins { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio10", "gpio11", "gpio12", "gpio13"; | ||||||
|  | 			function = "blsp0_spi"; | ||||||
|  | 			drive-strength = <2>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	qspi_nand_pins: qspi_nand_pins { | ||||||
|  | 		qspi_clock { | ||||||
|  | 			pins = "gpio9"; | ||||||
|  | 			function = "qspi_clk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qspi_cs { | ||||||
|  | 			pins = "gpio8"; | ||||||
|  | 			function = "qspi_cs"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		qspi_data { | ||||||
|  | 			pins = "gpio4", "gpio5", "gpio6", "gpio7"; | ||||||
|  | 			function = "qspi_data"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	mdio1_pins: mdio_pinmux { | ||||||
|  | 		mux_0 { | ||||||
|  | 			pins = "gpio36"; | ||||||
|  | 			function = "mdc"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio37"; | ||||||
|  | 			function = "mdio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	phy_led_pins: phy_led_pins { | ||||||
|  | 		gephy_led_pin { | ||||||
|  | 			pins = "gpio46"; | ||||||
|  | 			function = "led0"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	led_pins: led_pinmux { | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio38"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | 	 | ||||||
|  | 	i2c_pins: i2c_pins { | ||||||
|  | 		i2c_scl { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		i2c_sda { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "blsp2_i2c1"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	button_pins: button_pins { | ||||||
|  | 		wps_button { | ||||||
|  | 			pins = "gpio14"; | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-up; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	audio_pins: audio_pinmux { | ||||||
|  | 		mux_1 { | ||||||
|  | 			pins = "gpio24"; | ||||||
|  | 			function = "audio_rxbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_2 { | ||||||
|  | 			pins = "gpio25"; | ||||||
|  | 			function = "audio_rxfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_3 { | ||||||
|  | 			pins = "gpio26"; | ||||||
|  | 			function = "audio_rxd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_4 { | ||||||
|  | 			pins = "gpio27"; | ||||||
|  | 			function = "audio_txmclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_5 { | ||||||
|  | 			pins = "gpio28"; | ||||||
|  | 			function = "audio_txbclk"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_6 { | ||||||
|  | 			pins = "gpio29"; | ||||||
|  | 			function = "audio_txfsync"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		mux_7 { | ||||||
|  | 			pins = "gpio30"; | ||||||
|  | 			function = "audio_txd"; | ||||||
|  | 			drive-strength = <8>; | ||||||
|  | 			bias-pull-down; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &soc { | ||||||
|  |  | ||||||
|  | 	leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  | 		pinctrl-0 = <&led_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 		led_power: led@38 { | ||||||
|  | 			label = "blue:status"; | ||||||
|  | 			gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 			default-state = "on"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 	}; | ||||||
|  | 	gpio_keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  | 		pinctrl-0 = <&button_pins>; | ||||||
|  | 		pinctrl-names = "default"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			linux,code = <KEY_RESTART>; | ||||||
|  | 			gpios = <&tlmm 14 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,input-type = <1>; | ||||||
|  | 			debounce-interval = <60>; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &q6v5_wcss { | ||||||
|  | 	compatible = "qcom,ipq5018-q6-mpd"; | ||||||
|  | 	#address-cells = <1>; | ||||||
|  | 	#size-cells = <1>; | ||||||
|  | 	ranges; | ||||||
|  | 	firmware = "IPQ5018/q6_fw.mdt"; | ||||||
|  | 	reg = <0x0cd00000 0x4040>, | ||||||
|  | 		<0x1938000 0x8>, | ||||||
|  | 		<0x193d204 0x4>; | ||||||
|  | 	reg-names = "qdsp6", | ||||||
|  | 			"tcsr-msip", | ||||||
|  | 			"tcsr-q6"; | ||||||
|  | 	resets = <&gcc GCC_WCSSAON_RESET>, | ||||||
|  | 			<&gcc GCC_WCSS_Q6_BCR>; | ||||||
|  |  | ||||||
|  | 	reset-names = "wcss_aon_reset", | ||||||
|  | 			"wcss_q6_reset"; | ||||||
|  |  | ||||||
|  | 	clocks = <&gcc GCC_Q6_AXIS_CLK>, | ||||||
|  | 		<&gcc GCC_WCSS_ECAHB_CLK>, | ||||||
|  | 		<&gcc GCC_Q6_AXIM_CLK>, | ||||||
|  | 		<&gcc GCC_Q6_AXIM2_CLK>, | ||||||
|  | 		<&gcc GCC_Q6_AHB_CLK>, | ||||||
|  | 		<&gcc GCC_Q6_AHB_S_CLK>, | ||||||
|  | 		<&gcc GCC_WCSS_AXI_S_CLK>; | ||||||
|  | 	clock-names = "gcc_q6_axis_clk", | ||||||
|  | 		"gcc_wcss_ecahb_clk", | ||||||
|  | 		"gcc_q6_axim_clk", | ||||||
|  | 		"gcc_q6_axim2_clk", | ||||||
|  | 		"gcc_q6_ahb_clk", | ||||||
|  | 		"gcc_q6_ahb_s_clk", | ||||||
|  | 		"gcc_wcss_axi_s_clk"; | ||||||
|  |  | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_mem_regions>, <&q6_etr_region>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_mem_regions>, <&q6_etr_region>, | ||||||
|  | 				<&q6_caldb_region>; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	qcom,rproc = <&q6v5_wcss>; | ||||||
|  | 	qcom,bootargs_smem = <507>; | ||||||
|  | 	boot-args = <0x1 0x4 0x3 0x0F 0x0 0x0>, | ||||||
|  | 			<0x2 0x4 0x2 0x12 0x0 0x0>; | ||||||
|  | 	status = "ok"; | ||||||
|  | 	q6_wcss_pd1: remoteproc_pd1@4ab000 { | ||||||
|  | 		compatible = "qcom,ipq5018-wcss-ahb-mpd"; | ||||||
|  | 		reg = <0x4ab000 0x20>; | ||||||
|  | 		reg-names = "rmb"; | ||||||
|  | 		firmware = "IPQ5018/q6_fw.mdt"; | ||||||
|  | 		m3_firmware = "IPQ5018/m3_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 8 0>, | ||||||
|  | 					<&wcss_smp2p_in 9 0>, | ||||||
|  | 					<&wcss_smp2p_in 12 0>, | ||||||
|  | 					<&wcss_smp2p_in 11 0>; | ||||||
|  | 		interrupt-names = "fatal", | ||||||
|  | 					"ready", | ||||||
|  | 					"spawn-ack", | ||||||
|  | 					"stop-ack"; | ||||||
|  |  | ||||||
|  | 		resets = <&gcc GCC_WCSSAON_RESET>, | ||||||
|  | 				<&gcc GCC_WCSS_BCR>, | ||||||
|  | 				<&gcc GCC_CE_BCR>; | ||||||
|  | 		reset-names = "wcss_aon_reset", | ||||||
|  | 				"wcss_reset", | ||||||
|  | 				"ce_reset"; | ||||||
|  |  | ||||||
|  | 		clocks = <&gcc GCC_WCSS_AHB_S_CLK>, | ||||||
|  | 				<&gcc GCC_WCSS_ACMT_CLK>, | ||||||
|  | 				<&gcc GCC_WCSS_AXI_M_CLK>; | ||||||
|  | 		clock-names = "gcc_wcss_ahb_s_clk", | ||||||
|  | 					"gcc_wcss_acmt_clk", | ||||||
|  | 					"gcc_wcss_axi_m_clk"; | ||||||
|  |  | ||||||
|  | 		qcom,halt-regs = <&tcsr_q6_block 0xa000 0xd000 0x0>; | ||||||
|  |  | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 8>, | ||||||
|  | 					<&wcss_smp2p_out 9>, | ||||||
|  | 					<&wcss_smp2p_out 10>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 					"stop", | ||||||
|  | 					"spawn"; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_ipq5018_data>, <&m3_dump>, | ||||||
|  | 				<&q6_etr_region>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_ipq5018_data>, <&m3_dump>, | ||||||
|  | 				<&q6_etr_region>, <&q6_caldb_region>; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	q6_wcss_pd2: remoteproc_pd2 { | ||||||
|  | 		compatible = "qcom,ipq5018-wcss-pcie-mpd"; | ||||||
|  | 		firmware = "IPQ5018/q6_fw.mdt"; | ||||||
|  | 		m3_firmware = "qcn6122/m3_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 16 0>, | ||||||
|  | 					<&wcss_smp2p_in 17 0>, | ||||||
|  | 					<&wcss_smp2p_in 20 0>, | ||||||
|  | 					<&wcss_smp2p_in 19 0>; | ||||||
|  | 		interrupt-names = "fatal", | ||||||
|  | 					"ready", | ||||||
|  | 					"spawn-ack", | ||||||
|  | 					"stop-ack"; | ||||||
|  |  | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 16>, | ||||||
|  | 					<&wcss_smp2p_out 17>, | ||||||
|  | 					<&wcss_smp2p_out 18>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 					"stop", | ||||||
|  | 					"spawn"; | ||||||
|  | 	#ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, | ||||||
|  | 				<&q6_qcn6122_etr_1>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_qcn6122_data1>, <&m3_dump_qcn6122_1>, | ||||||
|  | 				<&q6_qcn6122_etr_1>, <&q6_qcn6122_caldb_1>; | ||||||
|  | 	#endif | ||||||
|  |  | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	q6_wcss_pd3: remoteproc_pd3 { | ||||||
|  | 		compatible = "qcom,ipq5018-wcss-pcie-mpd"; | ||||||
|  | 		firmware = "IPQ5018/q6_fw.mdt"; | ||||||
|  | 		interrupts-extended = <&wcss_smp2p_in 24 0>, | ||||||
|  | 					<&wcss_smp2p_in 25 0>, | ||||||
|  | 					<&wcss_smp2p_in 28 0>, | ||||||
|  | 					<&wcss_smp2p_in 27 0>; | ||||||
|  | 		interrupt-names = "fatal", | ||||||
|  | 					"ready", | ||||||
|  | 					"spawn-ack", | ||||||
|  | 					"stop-ack"; | ||||||
|  |  | ||||||
|  | 		qcom,smem-states = <&wcss_smp2p_out 24>, | ||||||
|  | 					<&wcss_smp2p_out 25>, | ||||||
|  | 					<&wcss_smp2p_out 26>; | ||||||
|  | 		qcom,smem-state-names = "shutdown", | ||||||
|  | 					"stop", | ||||||
|  | 					"spawn"; | ||||||
|  | 	#ifdef	__IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 		memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, | ||||||
|  | 				<&q6_qcn6122_etr_2>; | ||||||
|  | 	#else | ||||||
|  | 		memory-region = <&q6_qcn6122_data2>, <&m3_dump_qcn6122_2>, | ||||||
|  | 				<&q6_qcn6122_etr_2>, <&q6_qcn6122_caldb_2>; | ||||||
|  | 	#endif | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	/* IPQ5018 */ | ||||||
|  | 	qcom,multipd_arch; | ||||||
|  | 	qcom,rproc = <&q6_wcss_pd1>; | ||||||
|  | 	qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; | ||||||
|  | #ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	qcom,tgt-mem-mode = <2>; | ||||||
|  | #else | ||||||
|  | 	qcom,tgt-mem-mode = <1>; | ||||||
|  | #endif | ||||||
|  | 	qcom,board_id = <0x23>; | ||||||
|  | #ifdef __CNSS2__ | ||||||
|  | 	qcom,bdf-addr = <0x4C400000 0x4C400000 0x4C400000 0x0 0x0>; | ||||||
|  | 	qcom,caldb-addr = <0x4D300000 0x4D300000 0 0 0>; | ||||||
|  | 	qcom,caldb-size = <0x200000>; | ||||||
|  | 	mem-region = <&q6_ipq5018_data>; | ||||||
|  | #else | ||||||
|  | 	memory-region = <&q6_ipq5018_data>; | ||||||
|  | #endif | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi1 { | ||||||
|  | 	/* QCN6122 5G */ | ||||||
|  | 	qcom,multipd_arch; | ||||||
|  | 	qcom,userpd-subsys-name = "q6v5_wcss_userpd2"; | ||||||
|  | 	qcom,rproc = <&q6_wcss_pd2>; | ||||||
|  | #ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	qcom,tgt-mem-mode = <2>; | ||||||
|  | #else | ||||||
|  | 	qcom,tgt-mem-mode = <1>; | ||||||
|  | #endif | ||||||
|  | 	qcom,board_id = <0x60>; | ||||||
|  | #ifdef __CNSS2__ | ||||||
|  | 	qcom,bdf-addr = <0x4D500000 0x4D500000 0x4D300000 0x0 0x0>; | ||||||
|  | 	qcom,caldb-addr = <0x4E400000 0x4E400000 0 0 0>; | ||||||
|  | 	qcom,caldb-size = <0x500000>; | ||||||
|  | 	mem-region = <&q6_qcn6122_data1>; | ||||||
|  | #else | ||||||
|  | 	memory-region = <&q6_qcn6122_data1>; | ||||||
|  | #endif | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi2 { | ||||||
|  | 	/* QCN6122 6G */ | ||||||
|  | 	qcom,multipd_arch; | ||||||
|  | 	qcom,userpd-subsys-name = "q6v5_wcss_userpd3"; | ||||||
|  | 	qcom,rproc = <&q6_wcss_pd3>; | ||||||
|  | #ifdef __IPQ_MEM_PROFILE_256_MB__ | ||||||
|  | 	qcom,tgt-mem-mode = <2>; | ||||||
|  | #else | ||||||
|  | 	qcom,tgt-mem-mode = <1>; | ||||||
|  | #endif | ||||||
|  | 	qcom,board_id = <0xb0>; | ||||||
|  | #ifdef __CNSS2__ | ||||||
|  | 	qcom,bdf-addr = <0x4E900000 0x4E900000 0x4E200000 0x0 0x0>; | ||||||
|  | 	qcom,caldb-addr = <0x4F800000 0x4F800000 0 0 0>; | ||||||
|  | 	qcom,caldb-size = <0x500000>; | ||||||
|  | 	mem-region = <&q6_qcn6122_data2>; | ||||||
|  | #else | ||||||
|  | 	memory-region = <&q6_qcn6122_data2>; | ||||||
|  | #endif | ||||||
|  | 	status = "disabled"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb3 { | ||||||
|  |        status = "ok"; | ||||||
|  |        device-power-gpio = <&tlmm 24 1>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &dwc_0 { | ||||||
|  |        /delete-property/ #phy-cells; | ||||||
|  |        /delete-property/ phys; | ||||||
|  |        /delete-property/ phy-names; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &hs_m31phy_0 { | ||||||
|  |        status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &eud { | ||||||
|  | 	status = "ok"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1 { | ||||||
|  | 	perst-gpio = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2 { | ||||||
|  | 	perst-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x1_rp { | ||||||
|  | 	status = "disabled"; | ||||||
|  |  | ||||||
|  | 	mhi_0: qcom,mhi@0 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie_x2_rp { | ||||||
|  | 	status = "disabled"; | ||||||
|  |  | ||||||
|  | 	mhi_1: qcom,mhi@1 { | ||||||
|  | 		reg = <0 0 0 0 0 >; | ||||||
|  |  | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
| @@ -30,7 +30,7 @@ | |||||||
| 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | 		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */ | ||||||
| 		serial0 = &blsp1_uart1; | 		serial0 = &blsp1_uart1; | ||||||
| 		serial1 = &blsp1_uart2; | 		serial1 = &blsp1_uart2; | ||||||
| 		ethernet0 = "/soc/dp1"; | 		ethernet1 = "/soc/dp1"; | ||||||
|  |  | ||||||
| 		led-boot = &led_power; | 		led-boot = &led_power; | ||||||
| 		led-failsafe = &led_power; | 		led-failsafe = &led_power; | ||||||
| @@ -823,7 +823,7 @@ | |||||||
| #else | #else | ||||||
| 	memory-region = <&q6_qcn6122_data1>; | 	memory-region = <&q6_qcn6122_data1>; | ||||||
| #endif | #endif | ||||||
| 	status = "disabled"; | 	status = "ok"; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| &wifi2 { | &wifi2 { | ||||||
|   | |||||||
| @@ -72,6 +72,15 @@ define Device/edgecore_oap101e_6e | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += edgecore_oap101e_6e | TARGET_DEVICES += edgecore_oap101e_6e | ||||||
|  |  | ||||||
|  | define Device/hfcl_ion4x_w | ||||||
|  |   DEVICE_TITLE := HFCL ION4x_w | ||||||
|  |   DEVICE_DTS := qcom-ipq5018-hfcl-ion4x_w | ||||||
|  |   SUPPORTED_DEVICES := hfcl,ion4x_w | ||||||
|  |   DEVICE_PACKAGES := ath11k-wifi-hfcl-ion4x_w ath11k-firmware-ipq50xx-map-spruce | ||||||
|  |   DEVICE_DTS_CONFIG := config@mp03.3 | ||||||
|  | endef | ||||||
|  | TARGET_DEVICES += hfcl_ion4x_w | ||||||
|  |  | ||||||
| define Device/hfcl_ion4xi_w | define Device/hfcl_ion4xi_w | ||||||
|   DEVICE_TITLE := HFCL ION4xi_w |   DEVICE_TITLE := HFCL ION4xi_w | ||||||
|   DEVICE_DTS := qcom-ipq5018-hfcl-ion4xi_w |   DEVICE_DTS := qcom-ipq5018-hfcl-ion4xi_w | ||||||
|   | |||||||
| @@ -0,0 +1,14 @@ | |||||||
|  | Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c | ||||||
|  | =================================================================== | ||||||
|  | --- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/net/bridge/br_forward.c | ||||||
|  | +++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c | ||||||
|  | @@ -24,8 +24,7 @@ static inline int should_deliver(const s | ||||||
|  |  	struct net_bridge_vlan_group *vg; | ||||||
|  |   | ||||||
|  |  	vg = nbp_vlan_group_rcu(p); | ||||||
|  | -	return (((p->flags & BR_HAIRPIN_MODE) && !is_multicast_ether_addr(eth_hdr(skb)->h_dest)) | ||||||
|  | -		|| (skb->dev != p->dev)) && | ||||||
|  | +	return (((p->flags & BR_HAIRPIN_MODE)) || (skb->dev != p->dev)) && | ||||||
|  |  		br_allowed_egress(vg, skb) && (p->state == BR_STATE_FORWARDING) && | ||||||
|  |  		nbp_switchdev_allowed_egress(p, skb) && | ||||||
|  |  		!br_skb_isolated(p, skb); | ||||||
| @@ -0,0 +1,14 @@ | |||||||
|  | Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c | ||||||
|  | =================================================================== | ||||||
|  | --- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/net/bridge/br_forward.c | ||||||
|  | +++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c | ||||||
|  | @@ -24,8 +24,7 @@ static inline int should_deliver(const s | ||||||
|  |  	struct net_bridge_vlan_group *vg; | ||||||
|  |   | ||||||
|  |  	vg = nbp_vlan_group_rcu(p); | ||||||
|  | -	return (((p->flags & BR_HAIRPIN_MODE) && !is_multicast_ether_addr(eth_hdr(skb)->h_dest)) | ||||||
|  | -		|| (skb->dev != p->dev)) && | ||||||
|  | +	return (((p->flags & BR_HAIRPIN_MODE)) || (skb->dev != p->dev)) && | ||||||
|  |  		br_allowed_egress(vg, skb) && (p->state == BR_STATE_FORWARDING) && | ||||||
|  |  		nbp_switchdev_allowed_egress(p, skb) && | ||||||
|  |  		!br_skb_isolated(p, skb); | ||||||
| @@ -0,0 +1,14 @@ | |||||||
|  | Index: linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c | ||||||
|  | =================================================================== | ||||||
|  | --- linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d.orig/net/bridge/br_forward.c | ||||||
|  | +++ linux-5.4.164-qsdk-26349818b464f8c7b52d59ce73579d9f3dd6bd5d/net/bridge/br_forward.c | ||||||
|  | @@ -24,8 +24,7 @@ static inline int should_deliver(const s | ||||||
|  |  	struct net_bridge_vlan_group *vg; | ||||||
|  |   | ||||||
|  |  	vg = nbp_vlan_group_rcu(p); | ||||||
|  | -	return (((p->flags & BR_HAIRPIN_MODE) && !is_multicast_ether_addr(eth_hdr(skb)->h_dest)) | ||||||
|  | -		|| (skb->dev != p->dev)) && | ||||||
|  | +	return (((p->flags & BR_HAIRPIN_MODE)) || (skb->dev != p->dev)) && | ||||||
|  |  		br_allowed_egress(vg, skb) && (p->state == BR_STATE_FORWARDING) && | ||||||
|  |  		nbp_switchdev_allowed_egress(p, skb) && | ||||||
|  |  		!br_skb_isolated(p, skb); | ||||||
| @@ -4,10 +4,10 @@ PKG_NAME:=ucentral-client | |||||||
| PKG_RELEASE:=1 | PKG_RELEASE:=1 | ||||||
|  |  | ||||||
| PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-client.git | PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-client.git | ||||||
| PKG_MIRROR_HASH:=bf8d2c105e8e7f91b7a3d44917a4024307a5ddf9fbafcd00c9830ec8a96ec1f7 | PKG_MIRROR_HASH:=279c58711c354372d570320651644bf75ce758c6197a7eb8dda481a925c82620 | ||||||
| PKG_SOURCE_PROTO:=git | PKG_SOURCE_PROTO:=git | ||||||
| PKG_SOURCE_DATE:=2022-06-22 | PKG_SOURCE_DATE:=2022-06-22 | ||||||
| PKG_SOURCE_VERSION:=3025bf919e30cf201fe9a84feeaaf580b752fa95 | PKG_SOURCE_VERSION:=6ca7b2e43c20a92508bf408e586c310dfff38f51 | ||||||
|  |  | ||||||
| PKG_LICENSE:=BSD-3-Clause | PKG_LICENSE:=BSD-3-Clause | ||||||
| PKG_MAINTAINER:=John Crispin <john@phrozen.org> | PKG_MAINTAINER:=John Crispin <john@phrozen.org> | ||||||
|   | |||||||
| @@ -78,7 +78,8 @@ function event(object, verb, payload) { | |||||||
| 		}); | 		}); | ||||||
| } | } | ||||||
|  |  | ||||||
| let handlers = { | let handlers; | ||||||
|  | handlers = { | ||||||
| 	'sta-authorized': function(notify, hapd) { | 	'sta-authorized': function(notify, hapd) { | ||||||
| 		/* force FDB flush on QCA Wifi-6 silicon */ | 		/* force FDB flush on QCA Wifi-6 silicon */ | ||||||
| 		system(`echo ${notify.data.address} > /sys/kernel/debug/ssdk_flush_mac`); | 		system(`echo ${notify.data.address} > /sys/kernel/debug/ssdk_flush_mac`); | ||||||
| @@ -118,7 +119,30 @@ let handlers = { | |||||||
| 		}); | 		}); | ||||||
| 	},  | 	},  | ||||||
|  |  | ||||||
|  | 	vlan_add_swconfig: function(notify) { | ||||||
|  | 		let msg = {                              | ||||||
|  | 			name: notify.data.ifname,    | ||||||
|  | 			'link-ext': true,            | ||||||
|  | 			vlan: [ `${notify.data.vlan_id}:u` ]   | ||||||
|  | 		};                                           | ||||||
|  | 		ubus.call('network.interface.up_none', 'add_device', msg);           | ||||||
|  |  | ||||||
|  | 		msg = {                           | ||||||
|  | 			name: 'eth0.' + notify.data.vlan_id, | ||||||
|  | 			vlan: [ `${notify.data.vlan_id}:u` ] | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ubus.call('network.interface.up_none', 'add_device', msg); | ||||||
|  |  | ||||||
|  | 		let cmd = 'swconfig dev ' + config.config.swconfig + ' vlan ' + notify.data.vlan_id + ' set ports \"' + join(' ', config.config.swconfig_ports) + '\"'; | ||||||
|  | 		system(cmd);                                                                                                                                            | ||||||
|  | 		system('swconfig dev ' + config.config.swconfig + ' set apply');     | ||||||
|  | 	}, | ||||||
|  |  | ||||||
| 	vlan_add: function(notify) { | 	vlan_add: function(notify) { | ||||||
|  | 		if (config.config.swconfig) | ||||||
|  | 			return handlers.vlan_add_swconfig(notify); | ||||||
|  |  | ||||||
| 		for (let wan in wan_ports) { | 		for (let wan in wan_ports) { | ||||||
| 			let msg = { | 			let msg = { | ||||||
| 				name: wan, | 				name: wan, | ||||||
|   | |||||||
| @@ -4,10 +4,10 @@ PKG_NAME:=ucentral-schema | |||||||
| PKG_RELEASE:=1 | PKG_RELEASE:=1 | ||||||
|  |  | ||||||
| PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git | PKG_SOURCE_URL=https://github.com/Telecominfraproject/wlan-ucentral-schema.git | ||||||
| PKG_MIRROR_HASH:=8b8dfea69e4547a4169f4b095742b86d675988b03204577bcbb308619763579b | PKG_MIRROR_HASH:=8558ddc1b975a9b0bf1832c3277a99de95e9cf3682a671991d3125c04d375e96 | ||||||
| PKG_SOURCE_PROTO:=git | PKG_SOURCE_PROTO:=git | ||||||
| PKG_SOURCE_DATE:=2022-05-29 | PKG_SOURCE_DATE:=2022-05-29 | ||||||
| PKG_SOURCE_VERSION:=f8608f6b21236a383b0c284d3b23d5710cbeccc4 | PKG_SOURCE_VERSION:=e77cd3fa1ea727cbdfc64f78aff2401a869edc27 | ||||||
| PKG_MAINTAINER:=John Crispin <john@phrozen.org> | PKG_MAINTAINER:=John Crispin <john@phrozen.org> | ||||||
| PKG_LICENSE:=BSD-3-Clause | PKG_LICENSE:=BSD-3-Clause | ||||||
|  |  | ||||||
|   | |||||||
| @@ -34,27 +34,6 @@ | |||||||
| 			], | 			], | ||||||
| 			"ipv4": { | 			"ipv4": { | ||||||
| 				"addressing": "dynamic" | 				"addressing": "dynamic" | ||||||
| 			} |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			"name": "LAN", |  | ||||||
| 			"role": "downstream", |  | ||||||
| 			"services": [ "http", "ssh" ], |  | ||||||
| 			"ethernet": [ |  | ||||||
| 				{ |  | ||||||
| 					"select-ports": [ |  | ||||||
| 						"LAN*" |  | ||||||
| 					] |  | ||||||
| 				} |  | ||||||
| 			], |  | ||||||
| 			"ipv4": { |  | ||||||
| 				"addressing": "static", |  | ||||||
| 				"subnet": "192.168.1.1/24", |  | ||||||
| 				"dhcp": { |  | ||||||
| 					"lease-first": 10, |  | ||||||
| 					"lease-count": 100, |  | ||||||
| 					"lease-time": "6h" |  | ||||||
| 				} |  | ||||||
| 			}, | 			}, | ||||||
| 			"ssids": [ | 			"ssids": [ | ||||||
| 				{ | 				{ | ||||||
| @@ -84,6 +63,27 @@ | |||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			] | 			] | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			"name": "LAN", | ||||||
|  | 			"role": "downstream", | ||||||
|  | 			"services": [ "http", "ssh" ], | ||||||
|  | 			"ethernet": [ | ||||||
|  | 				{ | ||||||
|  | 					"select-ports": [ | ||||||
|  | 						"LAN*" | ||||||
|  | 					] | ||||||
|  | 				} | ||||||
|  | 			], | ||||||
|  | 			"ipv4": { | ||||||
|  | 				"addressing": "static", | ||||||
|  | 				"subnet": "192.168.1.1/24", | ||||||
|  | 				"dhcp": { | ||||||
|  | 					"lease-first": 10, | ||||||
|  | 					"lease-count": 100, | ||||||
|  | 					"lease-time": "6h" | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 	], | 	], | ||||||
| 	"services": { | 	"services": { | ||||||
|   | |||||||
| @@ -73,7 +73,7 @@ | |||||||
| 		"admin-ui": { | 		"admin-ui": { | ||||||
| 			"wifi-ssid": "Maverick", | 			"wifi-ssid": "Maverick", | ||||||
| 			"wifi-bands": [ "5G" ], | 			"wifi-bands": [ "5G" ], | ||||||
| 			"offline-trigger": 300, | 			"offline-trigger": 300 | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -18,6 +18,7 @@ let ubus = libubus.connect(); | |||||||
| let uci = libuci.cursor(); | let uci = libuci.cursor(); | ||||||
| let config; | let config; | ||||||
| let offline_timer; | let offline_timer; | ||||||
|  | let current_state; | ||||||
|  |  | ||||||
| function self_healing() { | function self_healing() { | ||||||
|  |  | ||||||
| @@ -67,15 +68,19 @@ state = { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| function offline_handler() { | function offline_handler() { | ||||||
| 	//ulog(LOG_INFO, 'going offline\n'); | 	let status = ubus.call('ucentral', 'status'); | ||||||
|  | 	if (status?.connected) | ||||||
|  | 		return; | ||||||
|  | 	ulog(LOG_INFO, 'going offline\n'); | ||||||
| 	ubus.call('network.interface.admin_ui', 'up'); | 	ubus.call('network.interface.admin_ui', 'up'); | ||||||
| } | } | ||||||
|  |  | ||||||
| function online_handler() { | function online_handler() { | ||||||
| 	ulog(LOG_INFO, 'going online\n'); | 	ulog(LOG_INFO, 'going online\n'); | ||||||
| 	ubus.call('network.interface.admin_ui', 'down'); | 	ubus.call('network.interface.admin_ui', 'down'); | ||||||
| 	if (offline_timer) | 	if (offline_timer) { | ||||||
| 		offline_timer.cancel(); | 		offline_timer.cancel(); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| function config_load() { | function config_load() { | ||||||
| @@ -140,8 +145,12 @@ let state_handler = { | |||||||
| 		if (!led) | 		if (!led) | ||||||
| 			return ubus.STATUS_INVALID_ARGUMENT; | 			return ubus.STATUS_INVALID_ARGUMENT; | ||||||
| 		led_write(led, 'trigger', 'heartbeat'); | 		led_write(led, 'trigger', 'heartbeat'); | ||||||
| 		if (config.ui.offline_trigger) | 		if (config.ui.offline_trigger) { | ||||||
| 			offline_timer = uloop.timer(config.ui.offline_trigger * 1000, offline_handler); | 			if (offline_timer) | ||||||
|  | 				offline_timer.set(config.ui.offline_trigger * 1000); | ||||||
|  | 			else | ||||||
|  | 				offline_timer = uloop.timer(config.ui.offline_trigger * 1000, offline_handler); | ||||||
|  | 		} | ||||||
| 		return 0; | 		return 0; | ||||||
| 	}, | 	}, | ||||||
|  |  | ||||||
| @@ -175,8 +184,12 @@ let state_handler = { | |||||||
| let ubus_methods = { | let ubus_methods = { | ||||||
| 	set: { | 	set: { | ||||||
| 		call: function(req) { | 		call: function(req) { | ||||||
|  | 			ulog(LOG_INFO, 'state %s -> %s\n', current_state, req.args.state); | ||||||
|  | 			if (current_state == req.args.state) | ||||||
|  | 				return; | ||||||
| 			if (!state_handler[req.args.state]) | 			if (!state_handler[req.args.state]) | ||||||
| 				return ubus.STATUS_INVALID_ARGUMENT; | 				return ubus.STATUS_INVALID_ARGUMENT; | ||||||
|  | 			current_state = req.args.state; | ||||||
| 			blink_timeout(); | 			blink_timeout(); | ||||||
| 			ulog(LOG_INFO, 'set state -> ' + req.args.state + '\n'); | 			ulog(LOG_INFO, 'set state -> ' + req.args.state + '\n'); | ||||||
| 			 | 			 | ||||||
|   | |||||||
| @@ -460,8 +460,10 @@ function run_service() { | |||||||
|  |  | ||||||
| 				address = uc(address); | 				address = uc(address); | ||||||
|  |  | ||||||
| 				if (interfaces[interface].clients[address]) | 				if (interfaces[interface].clients[address]) { | ||||||
|  | 					radius_terminate(interface, address, radtc_logout); | ||||||
| 					client_remove(interface, address, 'client_remove event'); | 					client_remove(interface, address, 'client_remove event'); | ||||||
|  | 				} | ||||||
|  |  | ||||||
| 				return 0; | 				return 0; | ||||||
| 			}, | 			}, | ||||||
|   | |||||||
| @@ -181,7 +181,7 @@ static int cb_chap_passwd(void *p, size_t s, struct blob_attr *b) | |||||||
| 	int len; | 	int len; | ||||||
|  |  | ||||||
| 	assert(s >= 17); | 	assert(s >= 17); | ||||||
| 	len = str_to_hex(blobmsg_get_string(b), str+1, 16); | 	len = str_to_hex(blobmsg_get_string(b), str+1, 17); | ||||||
|  |  | ||||||
| 	return len+1; | 	return len+1; | ||||||
| } | } | ||||||
| @@ -192,7 +192,7 @@ static int cb_chap_challenge(void *p, size_t s, struct blob_attr *b) | |||||||
| 	int len; | 	int len; | ||||||
|  |  | ||||||
| 	assert(s >= 16); | 	assert(s >= 16); | ||||||
| 	len = str_to_hex(blobmsg_get_string(b), str, 16); | 	len = str_to_hex(blobmsg_get_string(b), str, 17); | ||||||
|  |  | ||||||
| 	return len; | 	return len; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -128,6 +128,16 @@ $(call Package/ath11k-wifi-default) | |||||||
|     TITLE:=motorola q14 bdf |     TITLE:=motorola q14 bdf | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Package/ath11k-wifi-optimcloud-d50 | ||||||
|  | $(call Package/ath11k-wifi-default) | ||||||
|  |     TITLE:=optimcloud d50 bdf | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Package/ath11k-wifi-optimcloud-d60 | ||||||
|  | $(call Package/ath11k-wifi-default) | ||||||
|  |     TITLE:=optimcloud d60 bdf | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Package/ath11k-wifi-plasmacloud-pax1800 | define Package/ath11k-wifi-plasmacloud-pax1800 | ||||||
| $(call Package/ath11k-wifi-default) | $(call Package/ath11k-wifi-default) | ||||||
|     TITLE:=plasmacloud-pax1800(-v2) bdf |     TITLE:=plasmacloud-pax1800(-v2) bdf | ||||||
| @@ -274,6 +284,20 @@ define Package/ath11k-wifi-cig-wf196_6g-us/install | |||||||
| 	echo -n 'US' > $(1)/lib/firmware/country | 	echo -n 'US' > $(1)/lib/firmware/country | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Package/ath11k-wifi-optimcloud-d50/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/ | ||||||
|  | 	$(INSTALL_DIR) $(1)/lib/firmware/ath11k/QCN9074/hw1.0/ | ||||||
|  | 	$(INSTALL_DATA) ./board-optimcloud-d50.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin | ||||||
|  | 	$(INSTALL_DATA) ./board-optimcloud-d50.bin.QCN9074 $(1)/lib/firmware/ath11k/QCN9074/hw1.0/board.bin | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Package/ath11k-wifi-optimcloud-d60/install | ||||||
|  | 	$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/ | ||||||
|  | 	$(INSTALL_DIR) $(1)/lib/firmware/ath11k/QCN9074/hw1.0/ | ||||||
|  | 	$(INSTALL_DATA) ./board-optimcloud-d60.bin.QCN9074 $(1)/lib/firmware/ath11k/QCN9074/hw1.0/board.bin | ||||||
|  | 	$(INSTALL_DATA) ./board-optimcloud-d60.bin.QCN9074 $(1)/lib/firmware/ath11k/QCN9074/hw1.0/board.bin | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Package/ath11k-wifi-gl-ax1800/install | define Package/ath11k-wifi-gl-ax1800/install | ||||||
| 	$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ6018/hw1.0/ | 	$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ6018/hw1.0/ | ||||||
| 	$(INSTALL_DATA) ./board-gl-ax1800.bin.IPQ6018 $(1)/lib/firmware/ath11k/IPQ6018/hw1.0/board-2.bin | 	$(INSTALL_DATA) ./board-gl-ax1800.bin.IPQ6018 $(1)/lib/firmware/ath11k/IPQ6018/hw1.0/board-2.bin | ||||||
| @@ -388,6 +412,8 @@ $(eval $(call BuildPackage,ath11k-wifi-cig-wf188n-us)) | |||||||
| $(eval $(call BuildPackage,ath11k-wifi-cig-wf196_6g-ca)) | $(eval $(call BuildPackage,ath11k-wifi-cig-wf196_6g-ca)) | ||||||
| $(eval $(call BuildPackage,ath11k-wifi-cig-wf196_6g-us)) | $(eval $(call BuildPackage,ath11k-wifi-cig-wf196_6g-us)) | ||||||
| $(eval $(call BuildPackage,ath11k-wifi-motorola-q14)) | $(eval $(call BuildPackage,ath11k-wifi-motorola-q14)) | ||||||
|  | $(eval $(call BuildPackage,ath11k-wifi-optimcloud-d50)) | ||||||
|  | $(eval $(call BuildPackage,ath11k-wifi-optimcloud-d60)) | ||||||
| $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi)) | $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi)) | ||||||
| $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi_wp)) | $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi_wp)) | ||||||
| $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi_w)) | $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi_w)) | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d50.bin.IPQ5018
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d50.bin.IPQ5018
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d50.bin.QCN9074
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d50.bin.QCN9074
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d60.bin.IPQ5018
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d60.bin.IPQ5018
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d60.bin.QCN9074
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								feeds/wifi-ax/ath11k-wifi/board-optimcloud-d60.bin.QCN9074
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -745,11 +745,11 @@ hostapd_set_bss_options() { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	case "$auth_type" in | 	case "$auth_type" in | ||||||
| 		sae|owe|eap192|eap256) | 		sae|owe|eap192|eap2) | ||||||
| 			set_default ieee80211w 2 | 			set_default ieee80211w 2 | ||||||
| 			set_default sae_require_mfp 1 | 			set_default sae_require_mfp 1 | ||||||
| 		;; | 		;; | ||||||
| 		psk-sae|psk2-radius|eap-eap256) | 		psk-sae|psk2-radius|eap-eap2) | ||||||
| 			set_default ieee80211w 1 | 			set_default ieee80211w 1 | ||||||
| 			set_default sae_require_mfp 1 | 			set_default sae_require_mfp 1 | ||||||
| 		;; | 		;; | ||||||
| @@ -796,7 +796,7 @@ hostapd_set_bss_options() { | |||||||
| 			vlan_possible=1 | 			vlan_possible=1 | ||||||
| 			wps_possible=1 | 			wps_possible=1 | ||||||
| 		;; | 		;; | ||||||
| 		eap|eap192|eap-eap256|eap256) | 		eap|eap192|eap-eap2|eap2) | ||||||
| 			append_radius_server | 			append_radius_server | ||||||
| 			# radius can provide VLAN ID for clients | 			# radius can provide VLAN ID for clients | ||||||
| 			vlan_possible=1 | 			vlan_possible=1 | ||||||
| @@ -1342,10 +1342,10 @@ wpa_supplicant_add_network() { | |||||||
| 		default_disabled | 		default_disabled | ||||||
|  |  | ||||||
| 	case "$auth_type" in | 	case "$auth_type" in | ||||||
| 		sae|owe|eap-eap256) | 		sae|owe|eap-eap2) | ||||||
| 			set_default ieee80211w 2 | 			set_default ieee80211w 2 | ||||||
| 		;; | 		;; | ||||||
| 		psk-sae|eap192|eap256) | 		psk-sae|eap192|eap2) | ||||||
| 			set_default ieee80211w 1 | 			set_default ieee80211w 1 | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
| @@ -1423,7 +1423,7 @@ wpa_supplicant_add_network() { | |||||||
| 			fi | 			fi | ||||||
| 			append network_data "$passphrase" "$N$T" | 			append network_data "$passphrase" "$N$T" | ||||||
| 		;; | 		;; | ||||||
| 		eap|eap192|eap-eap256|eap256) | 		eap|eap192|eap-eap2|eap2) | ||||||
| 			hostapd_append_wpa_key_mgmt | 			hostapd_append_wpa_key_mgmt | ||||||
| 			key_mgmt="$wpa_key_mgmt" | 			key_mgmt="$wpa_key_mgmt" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,11 +1,11 @@ | |||||||
| From b09c1180c1ba4a30b70530b90748e7682931b91a Mon Sep 17 00:00:00 2001 | From b9abe28ab24fbf333960078a9e2255d01cbf408b Mon Sep 17 00:00:00 2001 | ||||||
| From: John Crispin <john@phrozen.org> | From: John Crispin <john@phrozen.org> | ||||||
| Date: Mon, 20 Nov 2023 08:33:42 +0100 | Date: Mon, 20 Nov 2023 08:33:42 +0100 | ||||||
| Subject: [PATCH] hostapd: sync builtin patches | Subject: [PATCH] hostapd: sync builtin patches | ||||||
|  |  | ||||||
| Signed-off-by: John Crispin <john@phrozen.org> | Signed-off-by: John Crispin <john@phrozen.org> | ||||||
| --- | --- | ||||||
|  .../network/services/hostapd/files/hostapd.sh |   5 +- |  .../network/services/hostapd/files/hostapd.sh |  17 +- | ||||||
|  .../hostapd/patches/760-acs_exclude_dfs.patch |   8 +- |  .../hostapd/patches/760-acs_exclude_dfs.patch |   8 +- | ||||||
|  .../hostapd/patches/780-maxassoc.patch        |   6 +- |  .../hostapd/patches/780-maxassoc.patch        |   6 +- | ||||||
|  .../patches/790-wired-dynamic-vlan.patch      |  33 +++ |  .../patches/790-wired-dynamic-vlan.patch      |  33 +++ | ||||||
| @@ -16,7 +16,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
|  .../hostapd/patches/999-ssi_signal.patch      |  81 +++++++ |  .../hostapd/patches/999-ssi_signal.patch      |  81 +++++++ | ||||||
|  .../services/hostapd/src/src/ap/ubus.c        | 229 ++++++++++++++++-- |  .../services/hostapd/src/src/ap/ubus.c        | 229 ++++++++++++++++-- | ||||||
|  .../services/hostapd/src/src/ap/ubus.h        |   1 + |  .../services/hostapd/src/src/ap/ubus.h        |   1 + | ||||||
|  11 files changed, 491 insertions(+), 55 deletions(-) |  11 files changed, 497 insertions(+), 61 deletions(-) | ||||||
|  create mode 100644 package/network/services/hostapd/patches/790-wired-dynamic-vlan.patch |  create mode 100644 package/network/services/hostapd/patches/790-wired-dynamic-vlan.patch | ||||||
|  create mode 100644 package/network/services/hostapd/patches/900-coa.patch |  create mode 100644 package/network/services/hostapd/patches/900-coa.patch | ||||||
|  create mode 100644 package/network/services/hostapd/patches/901-coa-ubus.patch |  create mode 100644 package/network/services/hostapd/patches/901-coa-ubus.patch | ||||||
| @@ -24,7 +24,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
|  create mode 100644 package/network/services/hostapd/patches/999-ssi_signal.patch |  create mode 100644 package/network/services/hostapd/patches/999-ssi_signal.patch | ||||||
|  |  | ||||||
| diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh | diff --git a/package/network/services/hostapd/files/hostapd.sh b/package/network/services/hostapd/files/hostapd.sh | ||||||
| index 145848189d..19d5138510 100644 | index 145848189d..958d5a9ac6 100644 | ||||||
| --- a/package/network/services/hostapd/files/hostapd.sh | --- a/package/network/services/hostapd/files/hostapd.sh | ||||||
| +++ b/package/network/services/hostapd/files/hostapd.sh | +++ b/package/network/services/hostapd/files/hostapd.sh | ||||||
| @@ -48,15 +48,14 @@ hostapd_append_wpa_key_mgmt() { | @@ -48,15 +48,14 @@ hostapd_append_wpa_key_mgmt() { | ||||||
| @@ -45,6 +45,51 @@ index 145848189d..19d5138510 100644 | |||||||
|  			append wpa_key_mgmt "WPA-EAP-SHA256" |  			append wpa_key_mgmt "WPA-EAP-SHA256" | ||||||
|  			[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP" |  			[ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-EAP" | ||||||
|  		;; |  		;; | ||||||
|  | @@ -746,11 +745,11 @@ hostapd_set_bss_options() { | ||||||
|  |  	} | ||||||
|  |   | ||||||
|  |  	case "$auth_type" in | ||||||
|  | -		sae|owe|eap192|eap256) | ||||||
|  | +		sae|owe|eap192|eap2) | ||||||
|  |  			set_default ieee80211w 2 | ||||||
|  |  			set_default sae_require_mfp 1 | ||||||
|  |  		;; | ||||||
|  | -		psk-sae|psk2-radius|eap-eap256) | ||||||
|  | +		psk-sae|psk2-radius|eap-eap2) | ||||||
|  |  			set_default ieee80211w 1 | ||||||
|  |  			set_default sae_require_mfp 1 | ||||||
|  |  		;; | ||||||
|  | @@ -798,7 +797,7 @@ hostapd_set_bss_options() { | ||||||
|  |  			vlan_possible=1 | ||||||
|  |  			wps_possible=1 | ||||||
|  |  		;; | ||||||
|  | -		eap|eap192|eap-eap256|eap256) | ||||||
|  | +		eap|eap192|eap-eap2|eap2) | ||||||
|  |  			append_radius_server | ||||||
|  |  			# radius can provide VLAN ID for clients | ||||||
|  |  			vlan_possible=1 | ||||||
|  | @@ -1344,10 +1343,10 @@ wpa_supplicant_add_network() { | ||||||
|  |  		default_disabled | ||||||
|  |   | ||||||
|  |  	case "$auth_type" in | ||||||
|  | -		sae|owe|eap-eap256) | ||||||
|  | +		sae|owe|eap-eap2) | ||||||
|  |  			set_default ieee80211w 2 | ||||||
|  |  		;; | ||||||
|  | -		psk-sae|eap192|eap256) | ||||||
|  | +		psk-sae|eap192|eap2) | ||||||
|  |  			set_default ieee80211w 1 | ||||||
|  |  		;; | ||||||
|  |  	esac | ||||||
|  | @@ -1425,7 +1424,7 @@ wpa_supplicant_add_network() { | ||||||
|  |  			fi | ||||||
|  |  			append network_data "$passphrase" "$N$T" | ||||||
|  |  		;; | ||||||
|  | -		eap|eap192|eap-eap256|eap256) | ||||||
|  | +		eap|eap192|eap-eap2|eap2) | ||||||
|  |  			hostapd_append_wpa_key_mgmt | ||||||
|  |  			key_mgmt="$wpa_key_mgmt" | ||||||
|  |   | ||||||
| diff --git a/package/network/services/hostapd/patches/760-acs_exclude_dfs.patch b/package/network/services/hostapd/patches/760-acs_exclude_dfs.patch | diff --git a/package/network/services/hostapd/patches/760-acs_exclude_dfs.patch b/package/network/services/hostapd/patches/760-acs_exclude_dfs.patch | ||||||
| index 52d63c5ff9..27b3a6161a 100644 | index 52d63c5ff9..27b3a6161a 100644 | ||||||
| --- a/package/network/services/hostapd/patches/760-acs_exclude_dfs.patch | --- a/package/network/services/hostapd/patches/760-acs_exclude_dfs.patch | ||||||
|   | |||||||
							
								
								
									
										103
									
								
								patches/0072-netifd-fix-vlan-awareness-bug.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								patches/0072-netifd-fix-vlan-awareness-bug.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,103 @@ | |||||||
|  | From 782cefa73e24512dd675b51aa969103bdccee773 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: John Crispin <john@phrozen.org> | ||||||
|  | Date: Tue, 5 Dec 2023 15:57:08 +0100 | ||||||
|  | Subject: [PATCH] netifd: fix vlan-awareness bug | ||||||
|  |  | ||||||
|  | Signed-off-by: John Crispin <john@phrozen.org> | ||||||
|  | --- | ||||||
|  |  .../netifd/patches/004-vlan-awareness.patch   | 83 +++++++++++++++++++ | ||||||
|  |  1 file changed, 83 insertions(+) | ||||||
|  |  create mode 100644 package/network/config/netifd/patches/004-vlan-awareness.patch | ||||||
|  |  | ||||||
|  | diff --git a/package/network/config/netifd/patches/004-vlan-awareness.patch b/package/network/config/netifd/patches/004-vlan-awareness.patch | ||||||
|  | new file mode 100644 | ||||||
|  | index 0000000000..00d43957e1 | ||||||
|  | --- /dev/null | ||||||
|  | +++ b/package/network/config/netifd/patches/004-vlan-awareness.patch | ||||||
|  | @@ -0,0 +1,83 @@ | ||||||
|  | +diff --git a/bridge.c b/bridge.c | ||||||
|  | +index c931923e3299..2128ec75a0fb 100644 | ||||||
|  | +--- a/bridge.c | ||||||
|  | ++++ b/bridge.c | ||||||
|  | +@@ -223,7 +223,9 @@ bridge_set_member_vlan(struct bridge_member *bm, struct bridge_vlan *vlan, bool | ||||||
|  | + 	if (!port) | ||||||
|  | + 		return; | ||||||
|  | +  | ||||||
|  | +-	if (bridge_member_vlan_is_pvid(bm, port)) | ||||||
|  | ++	if (!add && bm->pvid == vlan->vid) | ||||||
|  | ++		bm->pvid = 0; | ||||||
|  | ++	else if (add && bridge_member_vlan_is_pvid(bm, port)) | ||||||
|  | + 		bm->pvid = vlan->vid; | ||||||
|  | +  | ||||||
|  | + 	__bridge_set_member_vlan(bm, vlan, port, add); | ||||||
|  | +@@ -275,12 +277,12 @@ bridge_set_vlan_state(struct bridge_state *bst, struct bridge_vlan *vlan, bool a | ||||||
|  | + { | ||||||
|  | + 	struct bridge_member *bm; | ||||||
|  | + 	struct bridge_vlan *vlan2; | ||||||
|  | ++	bool clear_pvid = false; | ||||||
|  | +  | ||||||
|  | + 	bridge_set_local_vlan(bst, vlan, add); | ||||||
|  | +  | ||||||
|  | + 	vlist_for_each_element(&bst->members, bm, node) { | ||||||
|  | + 		struct bridge_vlan_port *port; | ||||||
|  | +-		int new_pvid = -1; | ||||||
|  | +  | ||||||
|  | + 		port = bridge_find_vlan_member_port(bm, vlan); | ||||||
|  | + 		if (!port) | ||||||
|  | +@@ -293,17 +295,18 @@ bridge_set_vlan_state(struct bridge_state *bst, struct bridge_vlan *vlan, bool a | ||||||
|  | + 			vlan2 = bridge_recalc_member_pvid(bm); | ||||||
|  | + 			if (vlan2 && vlan2->vid != vlan->vid) { | ||||||
|  | + 				bridge_set_member_vlan(bm, vlan2, false); | ||||||
|  | ++				bm->pvid = vlan2->vid; | ||||||
|  | + 				bridge_set_member_vlan(bm, vlan2, true); | ||||||
|  | ++			} else if (!vlan2) { | ||||||
|  | ++				clear_pvid = true; | ||||||
|  | + 			} | ||||||
|  | +-			new_pvid = vlan2 ? vlan2->vid : 0; | ||||||
|  | + 		} | ||||||
|  | +  | ||||||
|  | +-		if (!bm->present) | ||||||
|  | +-			continue; | ||||||
|  | ++		if (bm->present) | ||||||
|  | ++			__bridge_set_member_vlan(bm, vlan, port, add); | ||||||
|  | +  | ||||||
|  | +-		__bridge_set_member_vlan(bm, vlan, port, add); | ||||||
|  | +-		if (new_pvid >= 0) | ||||||
|  | +-			bm->pvid = new_pvid; | ||||||
|  | ++		if (clear_pvid) | ||||||
|  | ++			bm->pvid = 0; | ||||||
|  | + 	} | ||||||
|  | + } | ||||||
|  | +  | ||||||
|  | +@@ -1369,14 +1372,14 @@ bridge_vlan_update(struct vlist_tree *tree, struct vlist_node *node_new, | ||||||
|  | + 	struct bridge_state *bst = container_of(tree, struct bridge_state, dev.vlans); | ||||||
|  | + 	struct bridge_vlan *vlan_new = NULL, *vlan_old = NULL; | ||||||
|  | +  | ||||||
|  | +-	if (!bst->has_vlans || !bst->active) | ||||||
|  | +-		goto out; | ||||||
|  | +- | ||||||
|  | + 	if (node_old) | ||||||
|  | + 		vlan_old = container_of(node_old, struct bridge_vlan, node); | ||||||
|  | + 	if (node_new) | ||||||
|  | + 		vlan_new = container_of(node_new, struct bridge_vlan, node); | ||||||
|  | +  | ||||||
|  | ++	if (!bst->has_vlans || !bst->active) | ||||||
|  | ++		goto out; | ||||||
|  | ++ | ||||||
|  | + 	if (node_new && node_old && bridge_vlan_equal(vlan_old, vlan_new)) { | ||||||
|  | + 		list_splice_init(&vlan_old->hotplug_ports, &vlan_new->hotplug_ports); | ||||||
|  | + 		goto out; | ||||||
|  | +@@ -1391,9 +1394,8 @@ bridge_vlan_update(struct vlist_tree *tree, struct vlist_node *node_new, | ||||||
|  | + 	if (node_new) | ||||||
|  | + 		vlan_new->pending = true; | ||||||
|  | +  | ||||||
|  | +-	bst->dev.config_pending = true; | ||||||
|  | +- | ||||||
|  | + out: | ||||||
|  | ++	bst->dev.config_pending = true; | ||||||
|  | + 	bridge_vlan_free(vlan_old); | ||||||
|  | + } | ||||||
|  | +  | ||||||
|  | --  | ||||||
|  | 2.34.1 | ||||||
|  |  | ||||||
| @@ -3,7 +3,7 @@ profile: cig_wf186h | |||||||
| target: ipq50xx | target: ipq50xx | ||||||
| subtarget: generic | subtarget: generic | ||||||
| description: Build image for the Cigtech Wall Plate WF186h | description: Build image for the Cigtech Wall Plate WF186h | ||||||
| image: bin/targets/ipq50xx/generic.openwrt-ipq50xx-cig_wf186h-squashfs-sysupgrade.tar | image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-cig_wf186h-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x_v5.4 | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| --- | --- | ||||||
| profile: cig_wf196_ca | profile: cig_wf196_us | ||||||
| target: ipq807x | target: ipq807x | ||||||
| subtarget: generic | subtarget: generic | ||||||
| description: Build image for the CIG WF196 (CA) | description: Build image for the CIG WF196 (US) | ||||||
| image: bin/targets/ipq807x/generic/openwrt-ipq807x-cig_wf196_ca-squashfs-sysupgrade.tar | image: bin/targets/ipq807x/generic/openwrt-ipq807x-cig_wf196_us-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x_v5.4 | ||||||
| @@ -1,14 +1,13 @@ | |||||||
| --- | --- | ||||||
| profile: hfcl_ion4x | profile: hfcl_ion4x | ||||||
| target: ipq807x | target: ipq60xx | ||||||
| subtarget: ipq60xx | subtarget: generic | ||||||
| description: Build image for the HFCL ION 4X | description: Build image for the HFCL ION 4X | ||||||
| image: bin/targets/ipq807x/ipq60xx/openwrt-ipq807x-hfcl_ion4x-squashfs-sysupgrade.tar | image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-hfcl_ion4x-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x |     path: ../../feeds/ipq807x_v5.4 | ||||||
| packages: | packages: | ||||||
|   - ipq807x |   - ipq60xx | ||||||
| include: | include: | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|   | |||||||
| @@ -1,14 +1,13 @@ | |||||||
| --- | --- | ||||||
| profile: hfcl_ion4x_2 | profile: hfcl_ion4x_2 | ||||||
| target: ipq807x | target: ipq60xx | ||||||
| subtarget: ipq60xx | subtarget: generic | ||||||
| description: Build image for the HFCL ION 4X_2 | description: Build image for the HFCL ION 4X_2 | ||||||
| image: bin/targets/ipq807x/ipq60xx/openwrt-ipq807x-hfcl_ion4x_2-squashfs-sysupgrade.tar | image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-hfcl_ion4x_2-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x |     path: ../../feeds/ipq807x_v5.4 | ||||||
| packages: | packages: | ||||||
|   - ipq807x |   - ipq60xx | ||||||
| include: | include: | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|   | |||||||
| @@ -1,15 +1,14 @@ | |||||||
| profile: hfcl_ion4x_w | profile: hfcl_ion4x_w | ||||||
| target: ipq807x | target: ipq50xx | ||||||
| subtarget: ipq50xx | subtarget: generic | ||||||
| description: Build image for the HFCL ion4x_w | description: Build image for the HFCL ion4x_w | ||||||
| image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-hfcl_ion4x_w-squashfs-sysupgrade.tar | image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-hfcl_ion4x_w-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x |     path: ../../feeds/ipq807x_v5.4 | ||||||
| include: | include: | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
| packages: | packages: | ||||||
|   - ipq807x |   - ipq50xx | ||||||
| diffconfig: | | diffconfig: | | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
|   | |||||||
| @@ -1,14 +1,13 @@ | |||||||
| --- | --- | ||||||
| profile: hfcl_ion4xe | profile: hfcl_ion4xe | ||||||
| target: ipq807x | target: ipq60xx | ||||||
| subtarget: ipq60xx | subtarget: generic | ||||||
| description: Build image for the HFCL ION 4XE | description: Build image for the HFCL ION 4XE | ||||||
| image: bin/targets/ipq807x/ipq60xx/openwrt-ipq807x-hfcl_ion4xe-squashfs-sysupgrade.tar | image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-hfcl_ion4xe-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x |     path: ../../feeds/ipq807x_v5.4 | ||||||
| packages: | packages: | ||||||
|   - ipq807x |   - ipq60xx | ||||||
| include: | include: | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|   | |||||||
| @@ -1,14 +1,13 @@ | |||||||
| --- | --- | ||||||
| profile: hfcl_ion4xi | profile: hfcl_ion4xi | ||||||
| target: ipq807x | target: ipq60xx | ||||||
| subtarget: ipq60xx | subtarget: generic | ||||||
| description: Build image for the HFCL ION 4XI | description: Build image for the HFCL ION 4XI | ||||||
| image: bin/targets/ipq807x/ipq60xx/openwrt-ipq807x-hfcl_ion4xi-squashfs-sysupgrade.tar | image: bin/targets/ipq60xx/generic/openwrt-ipq60xx-hfcl_ion4xi-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x |     path: ../../feeds/ipq807x_v5.4 | ||||||
| packages: | packages: | ||||||
|   - ipq807x |   - ipq60xx | ||||||
| include: | include: | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|   | |||||||
| @@ -1,15 +1,14 @@ | |||||||
| profile: hfcl_ion4xi_w | profile: hfcl_ion4xi_w | ||||||
| target: ipq807x | target: ipq50xx | ||||||
| subtarget: ipq50xx | subtarget: generic | ||||||
| description: Build image for the HFCL ion4xi_w | description: Build image for the HFCL ion4xi_w | ||||||
| image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-hfcl_ion4xi_w-squashfs-sysupgrade.tar | image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-hfcl_ion4xi_w-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x |     path: ../../feeds/ipq807x_v5.4 | ||||||
| include: | include: | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
| packages: | packages: | ||||||
|   - ipq807x |   - ipq50xx | ||||||
| diffconfig: | | diffconfig: | | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
|   | |||||||
| @@ -6,4 +6,3 @@ description: Build image for the Indio 305AC | |||||||
| image: bin/targets/ath79/generic/openwrt-ath79-generic-indio_um-305ac-squashfs-sysupgrade.bin | image: bin/targets/ath79/generic/openwrt-ath79-generic-indio_um-305ac-squashfs-sysupgrade.bin | ||||||
| include: | include: | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|   - wifi-ath10k |  | ||||||
|   | |||||||
| @@ -1,15 +1,20 @@ | |||||||
| profile: optimcloud_d50-5g | profile: optimcloud_d50-5g | ||||||
| target: ipq50xx | target: ipq807x | ||||||
| subtarget: generic | subtarget: ipq50xx | ||||||
| description: Build image for the OptimCloud D50-5G | description: Build image for the OptimCloud D50-5G | ||||||
| image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-optimcloud_d50-5g-squashfs-sysupgrade.tar | image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-optimcloud_d50-5g-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x | ||||||
| include: | include: | ||||||
|   - wifi-ax-v54 |   - wifi-ax | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|  |   - turris | ||||||
|  |   - safe-search | ||||||
|  |   - parental | ||||||
|  |   - cyber | ||||||
|  |   - oqs | ||||||
| packages: | packages: | ||||||
|   - ipq50xx |   - ipq807x | ||||||
| diffconfig: | | diffconfig: | | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
|   | |||||||
| @@ -1,15 +1,20 @@ | |||||||
| profile: optimcloud_d50 | profile: optimcloud_d50 | ||||||
| target: ipq50xx | target: ipq807x | ||||||
| subtarget: generic | subtarget: ipq50xx | ||||||
| description: Build image for the OptimCloud D50 | description: Build image for the OptimCloud D50 | ||||||
| image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-optimcloud-d50-squashfs-sysupgrade.tar | image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-optimcloud_d50-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x | ||||||
| include: | include: | ||||||
|   - wifi-ax-v54 |   - wifi-ax | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|  |   - turris | ||||||
|  |   - safe-search | ||||||
|  |   - parental | ||||||
|  |   - cyber | ||||||
|  |   - oqs | ||||||
| packages: | packages: | ||||||
|   - ipq50xx |   - ipq807x | ||||||
| diffconfig: | | diffconfig: | | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
|   | |||||||
| @@ -1,15 +1,20 @@ | |||||||
| profile: optimcloud_d60-5g | profile: optimcloud_d60-5g | ||||||
| target: ipq50xx | target: ipq807x | ||||||
| subtarget: generic | subtarget: ipq50xx | ||||||
| description: Build image for the OptimCloud D60-5G | description: Build image for the OptimCloud D60-5G | ||||||
| image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-optimcloud_d60-5g-squashfs-sysupgrade.tar | image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-optimcloud_d60-5g-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x | ||||||
| include: | include: | ||||||
|   - wifi-ax-v54 |   - wifi-ax | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|  |   - turris | ||||||
|  |   - safe-search | ||||||
|  |   - parental | ||||||
|  |   - cyber | ||||||
|  |   - oqs | ||||||
| packages: | packages: | ||||||
|   - ipq50xx |   - ipq807x | ||||||
| diffconfig: | | diffconfig: | | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
|   | |||||||
| @@ -1,15 +1,20 @@ | |||||||
| profile: optimcloud_d60 | profile: optimcloud_d60 | ||||||
| target: ipq50xx | target: ipq807x | ||||||
| subtarget: generic | subtarget: ipq50xx | ||||||
| description: Build image for the OptimCloud D60 | description: Build image for the OptimCloud D60 | ||||||
| image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-optimcloud-d60-squashfs-sysupgrade.tar | image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-optimcloud_d60-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x | ||||||
| include: | include: | ||||||
|   - wifi-ax-v54 |   - wifi-ax | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
|  |   - turris | ||||||
|  |   - safe-search | ||||||
|  |   - parental | ||||||
|  |   - cyber | ||||||
|  |   - oqs | ||||||
| packages: | packages: | ||||||
|   - ipq50xx |   - ipq807x | ||||||
| diffconfig: | | diffconfig: | | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								profiles/yuncore_fap655-ath12.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								profiles/yuncore_fap655-ath12.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | --- | ||||||
|  | profile: yuncore_fap655 | ||||||
|  | target: ipq50xx | ||||||
|  | subtarget: generic | ||||||
|  | description: Build image for Yuncore FAP655 | ||||||
|  | image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-yuncore_fap655-squashfs-sysupgrade.tar | ||||||
|  | feeds: | ||||||
|  |   - name: ipq807x | ||||||
|  |     path: ../../feeds/ipq807x_v5.4 | ||||||
|  | include: | ||||||
|  |   - ucentral-ap | ||||||
|  | packages: | ||||||
|  |   - ipq50xx | ||||||
|  | diffconfig: | | ||||||
|  |   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 | ||||||
| @@ -1,14 +0,0 @@ | |||||||
| --- |  | ||||||
| profile: yuncore_fap655 |  | ||||||
| target: ipq807x |  | ||||||
| subtarget: ipq50xx |  | ||||||
| description: Build image for Yuncore FAP655 |  | ||||||
| image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-yuncore_fap655-squashfs-sysupgrade.tar |  | ||||||
| feeds: |  | ||||||
|   - name: ipq807x |  | ||||||
|     path: ../../feeds/ipq807x |  | ||||||
| include: |  | ||||||
|   - wifi-ax |  | ||||||
|   - ucentral-ap |  | ||||||
| packages: |  | ||||||
|   - ipq807x |  | ||||||
| @@ -1,15 +1,14 @@ | |||||||
| --- | --- | ||||||
| profile: yuncore_fap655 | profile: yuncore_fap655 | ||||||
| target: ipq50xx | target: ipq807x | ||||||
| subtarget: generic | subtarget: ipq50xx | ||||||
| description: Build image for Yuncore FAP655 | description: Build image for Yuncore FAP655 | ||||||
| image: bin/targets/ipq50xx/generic/openwrt-ipq50xx-yuncore_fap655-squashfs-sysupgrade.tar | image: bin/targets/ipq807x/ipq50xx/openwrt-ipq807x-yuncore_fap655-squashfs-sysupgrade.tar | ||||||
| feeds: | feeds: | ||||||
|   - name: ipq807x |   - name: ipq807x | ||||||
|     path: ../../feeds/ipq807x_v5.4 |     path: ../../feeds/ipq807x | ||||||
| include: | include: | ||||||
|  |   - wifi-ax | ||||||
|   - ucentral-ap |   - ucentral-ap | ||||||
| packages: | packages: | ||||||
|   - ipq50xx |   - ipq807x | ||||||
| diffconfig: | |  | ||||||
|   CONFIG_KERNEL_IPQ_MEM_PROFILE=512 |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 jaspreetsachdev
					jaspreetsachdev