ipq40xx: add support for OpenMesh A62
* QCA IPQ4019
* 256 MB of RAM
* 32 MB of SPI NOR flash (s25fl256s1)
  - 2x 15 MB available; but one of the 15 MB regions is the recovery image
* 2T2R 2.4 GHz
  - QCA4019 hw1.0 (SoC)
  - requires special BDF in QCA4019/hw1.0/board-2.bin with
    bus=ahb,bmi-chip-id=0,bmi-board-id=20,variant=OM-A62
* 2T2R 5 GHz (channel 36-64)
  - QCA9888 hw2.0 (PCI)
  - requires special BDF in QCA9888/hw2.0/board-2.bin
    bus=pci,bmi-chip-id=0,bmi-board-id=16,variant=OM-A62
* 2T2R 5 GHz (channel 100-165)
  - QCA4019 hw1.0 (SoC)
  - requires special BDF in QCA4019/hw1.0/board-2.bin with
    bus=ahb,bmi-chip-id=0,bmi-board-id=21,variant=OM-A62
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x button (reset; kmod-input-gpio-keys compatible)
* external watchdog
  - triggered GPIO
* 1x USB (xHCI)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x gigabit ethernet
  - phy@mdio3:
    + Label: Ethernet 1
    + gmac0 (ethaddr) in original firmware
    + 802.3at POE+
  - phy@mdio4:
    + Label: Ethernet 2
    + gmac1 (eth1addr) in original firmware
    + 18-24V passive POE (mode B)
* powered only via POE
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the factory image to the u-boot when the device boots up.
The initramfs image can be started using
  setenv bootargs 'loglevel=8 earlycon=msm_serial_dm,0x78af000 console=ttyMSM0,115200 mtdparts=spi0.0:256k(0:SBL1),128k(0:MIBIB),384k(0:QSEE),64k(0:CDT),64k(0:DDRPARAMS),64k(0:APPSBLENV),512k(0:APPSBL),64k(0:ART),64k(0:custom),64k(0:KEYS),15552k(inactive),15552k(inactive2)'
  tftpboot 0x84000000 openwrt-ipq40xx-openmesh_a62-initramfs-fit-uImage.itb
  set fdt_high 0x85000000
  bootm 0x84000000
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
			
			
This commit is contained in:
		 Sven Eckelmann
					Sven Eckelmann
				
			
				
					committed by
					
						 Mathias Kresin
						Mathias Kresin
					
				
			
			
				
	
			
			
			 Mathias Kresin
						Mathias Kresin
					
				
			
						parent
						
							c6aac196b8
						
					
				
				
					commit
					0b20490207
				
			| @@ -31,7 +31,8 @@ ubootenv_mtdinfo () { | |||||||
| } | } | ||||||
|  |  | ||||||
| case "$board" in | case "$board" in | ||||||
| openmesh,a42) | openmesh,a42 |\ | ||||||
|  | openmesh,a62) | ||||||
| 	ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x10000" "0x10000" | 	ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x10000" "0x10000" | ||||||
| 	;; | 	;; | ||||||
| esac | esac | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
| # | # | ||||||
|  |  | ||||||
| usage() { | usage() { | ||||||
| 	echo "Usage: $0 <OM2P|OM5P|OM5PAC|MR600|MR900|MR1750|A60|A42> <out file path> <kernel path> <rootfs path>" | 	echo "Usage: $0 <OM2P|OM5P|OM5PAC|MR600|MR900|MR1750|A60|A42|A62> <out file path> <kernel path> <rootfs path>" | ||||||
| 	rm -f $CFG_OUT | 	rm -f $CFG_OUT | ||||||
| 	exit 1 | 	exit 1 | ||||||
| } | } | ||||||
| @@ -44,6 +44,14 @@ case $CE_TYPE in | |||||||
| 		SIZE_FACTOR=1024 | 		SIZE_FACTOR=1024 | ||||||
| 		SIZE_FORMAT="0x%08x" | 		SIZE_FORMAT="0x%08x" | ||||||
| 		;; | 		;; | ||||||
|  | 	A62) | ||||||
|  | 		MAX_PART_SIZE=15552 | ||||||
|  | 		KERNEL_FLASH_ADDR=0x1a0000 | ||||||
|  | 		FLASH_BS=65536 | ||||||
|  | 		MD5_SKIP_BLOCKS=4 | ||||||
|  | 		SIZE_FACTOR=1024 | ||||||
|  | 		SIZE_FORMAT="0x%08x" | ||||||
|  | 		;; | ||||||
| 	*) | 	*) | ||||||
| 		echo "Error - unsupported ce type: $CE_TYPE" | 		echo "Error - unsupported ce type: $CE_TYPE" | ||||||
| 		exit 1 | 		exit 1 | ||||||
|   | |||||||
| @@ -38,7 +38,8 @@ glinet,gl-b1300) | |||||||
| 	ucidef_add_switch "switch0" \ | 	ucidef_add_switch "switch0" \ | ||||||
| 		"0u@eth0" "3:lan" "4:lan" | 		"0u@eth0" "3:lan" "4:lan" | ||||||
| 	;; | 	;; | ||||||
| openmesh,a42) | openmesh,a42 |\ | ||||||
|  | openmesh,a62) | ||||||
| 	ucidef_set_interfaces_lan_wan "eth1" "eth0" | 	ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||||
| 	;; | 	;; | ||||||
| meraki,mr33 |\ | meraki,mr33 |\ | ||||||
|   | |||||||
| @@ -110,6 +110,13 @@ case "$FIRMWARE" in | |||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
| 	;; | 	;; | ||||||
|  | "ath10k/pre-cal-pci-0000:01:00.0.bin") | ||||||
|  | 	case "$board" in | ||||||
|  | 	openmesh,a62) | ||||||
|  | 		ath10kcal_extract "0:ART" 36864 12064 | ||||||
|  | 		;; | ||||||
|  | 	esac | ||||||
|  | 	;; | ||||||
| "ath10k/pre-cal-ahb-a000000.wifi.bin") | "ath10k/pre-cal-ahb-a000000.wifi.bin") | ||||||
| 	case "$board" in | 	case "$board" in | ||||||
| 	8dev,jalapeno |\ | 	8dev,jalapeno |\ | ||||||
| @@ -135,7 +142,8 @@ case "$FIRMWARE" in | |||||||
| 		ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 0) | 		ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 0) | ||||||
| 		;; | 		;; | ||||||
| 	compex,wpj428 |\ | 	compex,wpj428 |\ | ||||||
| 	openmesh,a42) | 	openmesh,a42 |\ | ||||||
|  | 	openmesh,a62) | ||||||
| 		ath10kcal_extract "0:ART" 4096 12064 | 		ath10kcal_extract "0:ART" 4096 12064 | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
| @@ -165,7 +173,8 @@ case "$FIRMWARE" in | |||||||
| 		ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 12) | 		ath10kcal_patch_mac_crc $(mtd_get_mac_binary dnidata 12) | ||||||
| 		;; | 		;; | ||||||
| 	compex,wpj428 |\ | 	compex,wpj428 |\ | ||||||
| 	openmesh,a42) | 	openmesh,a42 |\ | ||||||
|  | 	openmesh,a62) | ||||||
| 		ath10kcal_extract "0:ART" 20480 12064 | 		ath10kcal_extract "0:ART" 20480 12064 | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
|   | |||||||
| @@ -47,6 +47,9 @@ platform_do_upgrade_openmesh() { | |||||||
| 	openmesh,a42) | 	openmesh,a42) | ||||||
| 		primary_kernel_mtd=8 | 		primary_kernel_mtd=8 | ||||||
| 		;; | 		;; | ||||||
|  | 	openmesh,a62) | ||||||
|  | 		primary_kernel_mtd=10 | ||||||
|  | 		;; | ||||||
| 	*) | 	*) | ||||||
| 		echo "failed to detect primary kernel mtd partition for board" | 		echo "failed to detect primary kernel mtd partition for board" | ||||||
| 		return 1 | 		return 1 | ||||||
|   | |||||||
| @@ -39,7 +39,8 @@ platform_do_upgrade() { | |||||||
| 		CI_KERNPART="linux" | 		CI_KERNPART="linux" | ||||||
| 		nand_do_upgrade "$1" | 		nand_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
| 	openmesh,a42) | 	openmesh,a42 |\ | ||||||
|  | 	openmesh,a62) | ||||||
| 		PART_NAME="inactive" | 		PART_NAME="inactive" | ||||||
| 		platform_do_upgrade_openmesh "$ARGV" | 		platform_do_upgrade_openmesh "$ARGV" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -0,0 +1,240 @@ | |||||||
|  | /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||||
|  |  * Copyright (c) 2017-2018, Sven Eckelmann <sven.eckelmann@openmesh.com> | ||||||
|  |  * | ||||||
|  |  * 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-ipq4019.dtsi" | ||||||
|  | #include "qcom-ipq4019-bus.dtsi" | ||||||
|  | #include <dt-bindings/gpio/gpio.h> | ||||||
|  | #include <dt-bindings/input/input.h> | ||||||
|  | #include <dt-bindings/soc/qcom,tcsr.h> | ||||||
|  |  | ||||||
|  | / { | ||||||
|  | 	model = "OpenMesh A62"; | ||||||
|  | 	compatible = "openmesh,a62", "qcom,ipq4019"; | ||||||
|  |  | ||||||
|  | 	soc { | ||||||
|  | 		mdio@90000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-psgmii@98000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		tcsr@194b000 { | ||||||
|  | 			/* select hostmode */ | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x194b000 0x100>; | ||||||
|  | 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		tcsr@1949000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x1949000 0x100>; | ||||||
|  | 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess_tcsr@1953000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x1953000 0x1000>; | ||||||
|  | 			qcom,ess-interface-select = <TCSR_ESS_PSGMII>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		tcsr@1957000 { | ||||||
|  | 			compatible = "qcom,tcsr"; | ||||||
|  | 			reg = <0x1957000 0x100>; | ||||||
|  | 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		usb2: usb2@60f8800 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		serial@78af000 { | ||||||
|  | 			pinctrl-0 = <&serial_pins>; | ||||||
|  | 			pinctrl-names = "default"; | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		crypto@8e3a000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		watchdog@b017000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		ess-switch@c000000 { | ||||||
|  | 			switch_lan_bmp = <0x10>; | ||||||
|  | 			switch_wan_bmp = <0x20>; | ||||||
|  |  | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		edma@c080000 { | ||||||
|  | 			status = "okay"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-keys { | ||||||
|  | 		compatible = "gpio-keys"; | ||||||
|  |  | ||||||
|  | 		reset { | ||||||
|  | 			label = "reset"; | ||||||
|  | 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||||
|  | 			linux,code = <KEY_RESTART >; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	aliases { | ||||||
|  | 		led-boot = &power; | ||||||
|  | 		led-failsafe = &power; | ||||||
|  | 		led-running = &power; | ||||||
|  | 		led-upgrade = &power; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	gpio-leds { | ||||||
|  | 		compatible = "gpio-leds"; | ||||||
|  |  | ||||||
|  | 		red { | ||||||
|  | 			label = "a62:red:status"; | ||||||
|  | 			gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "default-off"; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		power: green { | ||||||
|  | 			label = "a62:green:status"; | ||||||
|  | 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		}; | ||||||
|  |  | ||||||
|  | 		blue { | ||||||
|  | 			label = "a62:blue:status"; | ||||||
|  | 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; | ||||||
|  | 			linux,default-trigger = "default-off"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	watchdog { | ||||||
|  | 		compatible = "linux,wdt-gpio"; | ||||||
|  | 		gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||||
|  | 		hw_algo = "toggle"; | ||||||
|  | 		/* hw_margin_ms is actually 300s but driver limits it to 60s */ | ||||||
|  | 		hw_margin_ms = <60000>; | ||||||
|  | 		always-running; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &tlmm { | ||||||
|  | 	serial_pins: serial_pinmux { | ||||||
|  | 		mux { | ||||||
|  | 			pins = "gpio16", "gpio17"; | ||||||
|  | 			function = "blsp_uart0"; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	spi_0_pins: spi_0_pinmux { | ||||||
|  | 		pin { | ||||||
|  | 			function = "blsp_spi0"; | ||||||
|  | 			pins = "gpio13", "gpio14", "gpio15"; | ||||||
|  | 			drive-strength = <12>; | ||||||
|  | 			bias-disable; | ||||||
|  | 		}; | ||||||
|  | 		pin_cs { | ||||||
|  | 			function = "gpio"; | ||||||
|  | 			pins = "gpio12"; | ||||||
|  | 			drive-strength = <2>; | ||||||
|  | 			bias-disable; | ||||||
|  | 			output-high; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  |  | ||||||
|  | 	enable-usb-power { | ||||||
|  | 		gpio-hog; | ||||||
|  | 		gpios = <58 GPIO_ACTIVE_HIGH>; | ||||||
|  | 		output-low; | ||||||
|  | 		line-name = "enable USB2 power"; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &blsp_dma { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &spi_0 { | ||||||
|  | 	pinctrl-0 = <&spi_0_pins>; | ||||||
|  | 	pinctrl-names = "default"; | ||||||
|  | 	status = "okay"; | ||||||
|  | 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||||
|  |  | ||||||
|  | 	m25p80@0 { | ||||||
|  | 		#address-cells = <1>; | ||||||
|  | 		#size-cells = <1>; | ||||||
|  | 		compatible = "jedec,spi-nor"; | ||||||
|  | 		reg = <0>; | ||||||
|  | 		spi-max-frequency = <24000000>; | ||||||
|  | 		/* partitions are passed via bootloader */ | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &cryptobam { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &gmac0 { | ||||||
|  | 	qcom,phy_mdio_addr = <3>; | ||||||
|  | 	qcom,poll_required = <1>; | ||||||
|  | 	qcom,forced_speed = <1000>; | ||||||
|  | 	qcom,forced_duplex = <1>; | ||||||
|  | 	vlan_tag = <1 0x10>; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &usb2_hs_phy { | ||||||
|  | 	status = "okay"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &pcie0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||||
|  | 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||||
|  |  | ||||||
|  | 	pcie@0 { | ||||||
|  | 		reg = <0 0 0 0 0>; | ||||||
|  | 		#interrupt-cells = <1>; | ||||||
|  | 		#size-cells = <2>; | ||||||
|  | 		#address-cells = <3>; | ||||||
|  | 		device_type = "pci"; | ||||||
|  |  | ||||||
|  | 		ath10k@0,0 { | ||||||
|  | 			compatible = "qcom,ath10k"; | ||||||
|  | 			status = "okay"; | ||||||
|  | 			reg = <0 0 0 0 0>; | ||||||
|  | 			device_type = "pci"; | ||||||
|  | 			qcom,ath10k-calibration-variant = "OM-A62"; | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi0 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	qcom,ath10k-calibration-variant = "OM-A62"; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | &wifi1 { | ||||||
|  | 	status = "okay"; | ||||||
|  | 	qcom,ath10k-calibration-variant = "OM-A62"; | ||||||
|  | }; | ||||||
| @@ -160,6 +160,22 @@ define Device/openmesh_a42 | |||||||
| endef | endef | ||||||
| TARGET_DEVICES += openmesh_a42 | TARGET_DEVICES += openmesh_a42 | ||||||
|  |  | ||||||
|  | define Device/openmesh_a62 | ||||||
|  | 	$(call Device/FitImageLzma) | ||||||
|  | 	DEVICE_DTS := qcom-ipq4019-a62 | ||||||
|  | 	DEVICE_DTS_CONFIG := config@om.a62 | ||||||
|  | 	BLOCKSIZE := 64k | ||||||
|  | 	DEVICE_TITLE := OpenMesh A62 | ||||||
|  | 	KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE) | ||||||
|  | 	IMAGE_SIZE := 15552k | ||||||
|  | 	IMAGES = factory.bin sysupgrade.bin | ||||||
|  | 	IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62 | ||||||
|  | 	IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata | ||||||
|  | 	DEVICE_PACKAGES := ath10k-firmware-qca9888 uboot-envtools | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | TARGET_DEVICES += openmesh_a62 | ||||||
|  |  | ||||||
| define Device/qcom_ap-dk01.1-c1 | define Device/qcom_ap-dk01.1-c1 | ||||||
| 	DEVICE_TITLE := QCA AP-DK01.1-C1 | 	DEVICE_TITLE := QCA AP-DK01.1-C1 | ||||||
| 	BOARD_NAME := ap-dk01.1-c1 | 	BOARD_NAME := ap-dk01.1-c1 | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
|  |  | ||||||
| --- a/arch/arm/boot/dts/Makefile | --- a/arch/arm/boot/dts/Makefile | ||||||
| +++ b/arch/arm/boot/dts/Makefile | +++ b/arch/arm/boot/dts/Makefile | ||||||
| @@ -697,7 +697,17 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | @@ -697,7 +697,18 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | ||||||
|  	qcom-apq8074-dragonboard.dtb \ |  	qcom-apq8074-dragonboard.dtb \ | ||||||
|  	qcom-apq8084-ifc6540.dtb \ |  	qcom-apq8084-ifc6540.dtb \ | ||||||
|  	qcom-apq8084-mtp.dtb \ |  	qcom-apq8084-mtp.dtb \ | ||||||
| @@ -21,6 +21,7 @@ Signed-off-by: John Crispin <john@phrozen.org> | |||||||
| +	qcom-ipq4018-jalapeno.dtb \ | +	qcom-ipq4018-jalapeno.dtb \ | ||||||
| +	qcom-ipq4018-rt-ac58u.dtb \ | +	qcom-ipq4018-rt-ac58u.dtb \ | ||||||
|  	qcom-ipq4019-ap.dk01.1-c1.dtb \ |  	qcom-ipq4019-ap.dk01.1-c1.dtb \ | ||||||
|  | +	qcom-ipq4019-a62.dtb \ | ||||||
| +	qcom-ipq4019-ap.dk04.1-c1.dtb \ | +	qcom-ipq4019-ap.dk04.1-c1.dtb \ | ||||||
| +	qcom-ipq4028-wpj428.dtb \ | +	qcom-ipq4028-wpj428.dtb \ | ||||||
| +	qcom-ipq4029-gl-b1300.dtb \ | +	qcom-ipq4029-gl-b1300.dtb \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user