mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
		| @ -7,10 +7,10 @@ | ||||
|  | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_VERSION:=4.6.0 | ||||
| PKG_VERSION:=4.7.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_HASH:=0c947c6972bf50c483cb993af01041d4094b1e03711c7246cdde6ba2ffc351fe | ||||
| PKG_HASH:=976b9c184678516038d4e79766608e81d10bf136f76fd0db2dc48f90f994fbd9 | ||||
| PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com> | ||||
|  | ||||
| OPTEE_USE_INTREE_DTC:=1 | ||||
|  | ||||
| @ -8,13 +8,13 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=tfa-layerscape | ||||
| PKG_VERSION:=6.6.23.2.0.0 | ||||
| PKG_RELEASE:=2 | ||||
| PKG_VERSION:=6.12.20.2.0.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/nxp-qoriq/atf | ||||
| PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0 | ||||
| PKG_MIRROR_HASH:=628a95ba60a593ae0575ee9ede1154445ec3a86a07b18e4947e06e13c2b67859 | ||||
| PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0 | ||||
| PKG_MIRROR_HASH:=1e1c74900113a8d4354c06fdcedfff2cd6b0899b4a063d393de98f8ca358dfd2 | ||||
| PKG_BUILD_DEPENDS:=tfa-layerscape/host | ||||
|  | ||||
| include $(INCLUDE_DIR)/host-build.mk | ||||
| @ -162,7 +162,7 @@ TFA_TARGETS := \ | ||||
|   lx2160a-rdb-sdboot | ||||
|  | ||||
| TFA_MAKE_FLAGS += \ | ||||
| 	$(if $(CONFIG_BINUTILS_VERSION_2_37)$(CONFIG_BINUTILS_VERSION_2_38),,LDFLAGS="-no-warn-rwx-segments") \ | ||||
| 	$(if $(CONFIG_BINUTILS_VERSION_2_37)$(CONFIG_BINUTILS_VERSION_2_38),,LDFLAGS="-Wl,--no-warn-rwx-segments") \ | ||||
| 	fip pbl \ | ||||
| 	BOOT_MODE=$(BOOT_MODE) \ | ||||
| 	RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \ | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| --- a/Makefile | ||||
| +++ b/Makefile | ||||
| @@ -128,10 +128,6 @@ CRTTOOL			?=	${CRTTOOLPATH}/cert_create$ | ||||
| @@ -105,10 +105,6 @@ CRTTOOL			?=	${CRTTOOLPATH}/cert_create$ | ||||
|  ENCTOOLPATH		?=	tools/encrypt_fw | ||||
|  ENCTOOL			?=	${ENCTOOLPATH}/encrypt_fw${BIN_EXT} | ||||
|   | ||||
| @ -11,55 +11,55 @@ | ||||
|  # Variables for use with sptool | ||||
|  SPTOOLPATH		?=	tools/sptool | ||||
|  SPTOOL			?=	${SPTOOLPATH}/sptool.py | ||||
| @@ -1597,13 +1593,6 @@ endif #(CHECKPATCH) | ||||
| @@ -1622,13 +1618,6 @@ endif #(CHECKPATCH) | ||||
|  clean: | ||||
|  	@echo "  CLEAN" | ||||
|  	$(s)echo "  CLEAN" | ||||
|  	$(call SHELL_REMOVE_DIR,${BUILD_PLAT}) | ||||
| -ifdef UNIX_MK | ||||
| -	${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean | ||||
| -	$(q)${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean | ||||
| -else | ||||
| -# Clear the MAKEFLAGS as we do not want | ||||
| -# to pass the gnumake flags to nmake. | ||||
| -	${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) clean | ||||
| -	$(q)set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) clean | ||||
| -endif #(UNIX_MK) | ||||
|  	${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean | ||||
|  	${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} clean | ||||
|  	${Q}${MAKE} --no-print-directory -C ${ROMLIBPATH} clean | ||||
| @@ -1612,13 +1601,6 @@ realclean distclean: | ||||
|  	@echo "  REALCLEAN" | ||||
|  	$(q)${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean | ||||
|  	$(q)${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} clean | ||||
|  	$(q)${MAKE} --no-print-directory -C ${ROMLIBPATH} clean | ||||
| @@ -1637,13 +1626,6 @@ realclean distclean: | ||||
|  	$(s)echo "  REALCLEAN" | ||||
|  	$(call SHELL_REMOVE_DIR,${BUILD_BASE}) | ||||
|  	$(call SHELL_DELETE_ALL, ${CURDIR}/cscope.*) | ||||
| -ifdef UNIX_MK | ||||
| -	${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean | ||||
| -	$(q)${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean | ||||
| -else | ||||
| -# Clear the MAKEFLAGS as we do not want | ||||
| -# to pass the gnumake flags to nmake. | ||||
| -	${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) realclean | ||||
| -	$(q)set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) realclean | ||||
| -endif #(UNIX_MK) | ||||
|  	${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} realclean | ||||
|  	${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} realclean | ||||
|  	${Q}${MAKE} --no-print-directory -C ${ROMLIBPATH} clean | ||||
| @@ -1674,7 +1656,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL} | ||||
|  	@${ECHO_BLANK_LINE} | ||||
|  	$(q)${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} realclean | ||||
|  	$(q)${MAKE} PLAT=${PLAT} --no-print-directory -C ${ENCTOOLPATH} realclean | ||||
|  	$(q)${MAKE} --no-print-directory -C ${ROMLIBPATH} clean | ||||
| @@ -1698,7 +1680,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL} | ||||
|  	$(s)echo | ||||
|  endif #(GENERATE_COT) | ||||
|   | ||||
| -${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} ${FIPTOOL} | ||||
| +${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} | ||||
|  	$(eval ${CHECK_FIP_CMD}) | ||||
|  	${Q}${FIPTOOL} create ${FIP_ARGS} $@ | ||||
|  	${Q}${FIPTOOL} info $@ | ||||
| @@ -1691,7 +1673,7 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT | ||||
|  	@${ECHO_BLANK_LINE} | ||||
|  	$(q)${FIPTOOL} create ${FIP_ARGS} $@ | ||||
|  	$(q)${FIPTOOL} info $@ | ||||
| @@ -1715,7 +1697,7 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT | ||||
|  	$(s)echo | ||||
|  endif #(GENERATE_COT) | ||||
|   | ||||
| -${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} ${FIPTOOL} | ||||
| +${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} | ||||
|  	$(eval ${CHECK_FWU_FIP_CMD}) | ||||
|  	${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@ | ||||
|  	${Q}${FIPTOOL} info $@ | ||||
| @@ -1699,19 +1681,9 @@ ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP | ||||
|  	@echo "Built $@ successfully" | ||||
|  	@${ECHO_BLANK_LINE} | ||||
|  	$(q)${FIPTOOL} create ${FWU_FIP_ARGS} $@ | ||||
|  	$(q)${FIPTOOL} info $@ | ||||
| @@ -1723,19 +1705,9 @@ ${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP | ||||
|  	$(s)echo "Built $@ successfully" | ||||
|  	$(s)echo | ||||
|   | ||||
| -fiptool: ${FIPTOOL} | ||||
|  fip: ${BUILD_PLAT}/${FIP_NAME} | ||||
| @ -67,27 +67,27 @@ | ||||
|   | ||||
| -${FIPTOOL}: FORCE | ||||
| -ifdef UNIX_MK | ||||
| -	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" FIPTOOL=${FIPTOOL} OPENSSL_DIR=${OPENSSL_DIR} DEBUG=${DEBUG} V=${V} --no-print-directory -C ${FIPTOOLPATH} all | ||||
| -	$(q)${MAKE} PLAT=${PLAT} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" FIPTOOL=${FIPTOOL} OPENSSL_DIR=${OPENSSL_DIR} DEBUG=${DEBUG} --no-print-directory -C ${FIPTOOLPATH} all | ||||
| -else | ||||
| -# Clear the MAKEFLAGS as we do not want | ||||
| -# to pass the gnumake flags to nmake. | ||||
| -	${Q}set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) | ||||
| -	$(q)set MAKEFLAGS= && ${MSVC_NMAKE} /nologo /f ${FIPTOOLPATH}/Makefile.msvc FIPTOOLPATH=$(subst /,\,$(FIPTOOLPATH)) FIPTOOL=$(subst /,\,$(FIPTOOL)) | ||||
| -endif #(UNIX_MK) | ||||
| - | ||||
|  romlib.bin: libraries FORCE | ||||
|  	${Q}${MAKE} PLAT_DIR=${PLAT_DIR} BUILD_PLAT=${BUILD_PLAT} ENABLE_BTI=${ENABLE_BTI} ARM_ARCH_MINOR=${ARM_ARCH_MINOR} INCLUDES='${INCLUDES}' DEFINES='${DEFINES}' --no-print-directory -C ${ROMLIBPATH} all | ||||
|  	$(q)${MAKE} PLAT_DIR=${PLAT_DIR} BUILD_PLAT=${BUILD_PLAT} ENABLE_BTI=${ENABLE_BTI} ARM_ARCH_MINOR=${ARM_ARCH_MINOR} INCLUDES=$(call escape-shell,$(INCLUDES)) DEFINES=$(call escape-shell,$(DEFINES)) --no-print-directory -C ${ROMLIBPATH} all | ||||
|   | ||||
| --- a/tools/fiptool/Makefile | ||||
| +++ b/tools/fiptool/Makefile | ||||
| @@ -81,7 +81,7 @@ all: --openssl ${PROJECT} | ||||
| @@ -74,7 +74,7 @@ all: --openssl ${PROJECT} | ||||
|   | ||||
|  ${PROJECT}: ${OBJECTS} Makefile | ||||
|  	@echo "  HOSTLD  $@" | ||||
| -	${Q}${HOSTCC} ${OBJECTS} -o $@ $(LDOPTS) | ||||
| +	${Q}${HOSTCC} ${OBJECTS} -o $@ $(LDOPTS) $(LDFLAGS) | ||||
|  	@${ECHO_BLANK_LINE} | ||||
|  	@echo "Built $@ successfully" | ||||
|  	@${ECHO_BLANK_LINE} | ||||
|  	$(s)echo "  HOSTLD  $@" | ||||
| -	$(q)$(host-cc) ${OBJECTS} -o $@ $(LDOPTS) | ||||
| +	$(q)$(host-cc) ${OBJECTS} -o $@ $(LDOPTS) $(LDFLAGS) | ||||
|  	$(s)echo | ||||
|  	$(s)echo "Built $@ successfully" | ||||
|  	$(s)echo | ||||
| --- a/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk | ||||
| +++ b/tools/fiptool/plat_fiptool/nxp/plat_fiptool.mk | ||||
| @@ -21,11 +21,11 @@ INCLUDE_PATHS += -I${PLAT_DEF_UUID_OID_C | ||||
|  | ||||
| @ -16,17 +16,17 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com> | ||||
| @@ -19,8 +19,6 @@ ifeq ($(RCW),"") | ||||
|  else | ||||
|  	# Generate header for bl2.bin | ||||
|  	$(Q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE} | ||||
|  	$(q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE} | ||||
| -	# Compile create_pbl tool | ||||
| -	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};\ | ||||
| -	$(q)${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};\ | ||||
|  	# Add bl2.bin to RCW | ||||
|  	${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE}\ | ||||
|  			-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ;\ | ||||
| @@ -42,7 +40,6 @@ ifeq ($(RCW),"") | ||||
|  	${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}" | ||||
|  	$(s)echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}" | ||||
|  else | ||||
|  	# -a option appends the image for Chassis 3 devices in case of non secure boot | ||||
| -	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH}; | ||||
| -	$(q)${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH}; | ||||
|  	${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE} \ | ||||
|  	-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ; | ||||
|  # Swapping of RCW is required for QSPi Chassis 2 devices | ||||
| @ -34,19 +34,19 @@ Signed-off-by: Biwen Li <biwen.li@nxp.com> | ||||
| +++ b/tools/nxp/create_pbl/pbl_ch3.mk | ||||
| @@ -26,9 +26,6 @@ else | ||||
|  	# Generate header for bl2.bin | ||||
|  	$(Q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE} | ||||
|  	$(q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE} | ||||
|   | ||||
| -	# Compile create_pbl tool | ||||
| -	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};\ | ||||
| -	$(q)${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};\ | ||||
| - | ||||
|  	# Add Block Copy command for bl2.bin to RCW | ||||
|  	${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE}\ | ||||
|  			-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl -f ${BL2_SRC_OFFSET};\ | ||||
| @@ -56,8 +53,6 @@ else  #SECURE_BOOT | ||||
|  ifeq ($(RCW),"") | ||||
|  	${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}" | ||||
|  	$(s)echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}" | ||||
|  else | ||||
| -	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH}; | ||||
| -	$(q)${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH}; | ||||
| - | ||||
|  	# Add Block Copy command and populate boot loc ptrfor bl2.bin to RCW | ||||
|  	${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE} \ | ||||
|  | ||||
| @ -8,13 +8,13 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=uboot-layerscape | ||||
| PKG_VERSION:=6.6.23.2.0.0 | ||||
| PKG_VERSION:=6.12.20.2.0.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/nxp-qoriq/u-boot | ||||
| PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0 | ||||
| PKG_MIRROR_HASH:=41e089fde1d0b3b0998e6af33d5f4c2b62860bda6cd1e6a0e8d47dfd5749005d | ||||
| PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0 | ||||
| PKG_MIRROR_HASH:=13594333aa3ee131d5832b4da88f73cf0744d98c28e90ad3e03594788c486e37 | ||||
|  | ||||
| include $(INCLUDE_DIR)/u-boot.mk | ||||
| include $(INCLUDE_DIR)/package.mk | ||||
|  | ||||
| @ -17,24 +17,23 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> | ||||
|  | ||||
| --- a/configs/ls1021aiot_sdcard_defconfig | ||||
| +++ b/configs/ls1021aiot_sdcard_defconfig | ||||
| @@ -14,7 +14,7 @@ CONFIG_SYS_I2C_MXC_I2C3=y | ||||
| @@ -13,14 +13,14 @@ CONFIG_SYS_I2C_MXC_I2C2=y | ||||
|  CONFIG_SYS_I2C_MXC_I2C3=y | ||||
|  CONFIG_DM_GPIO=y | ||||
|  CONFIG_DEFAULT_DEVICE_TREE="ls1021a-iot-duart" | ||||
|  CONFIG_SPL_TEXT_BASE=0x10000000 | ||||
| -CONFIG_SYS_MONITOR_LEN=524288 | ||||
| +CONFIG_SYS_MONITOR_LEN=786432 | ||||
|  CONFIG_SPL_MMC=y | ||||
|  CONFIG_SPL_SERIAL=y | ||||
|  CONFIG_SPL_STACK=0x1001d000 | ||||
| @@ -43,7 +43,7 @@ CONFIG_SPL_MAX_SIZE=0x1a000 | ||||
|  CONFIG_SPL_PAD_TO=0x1c000 | ||||
|  CONFIG_SPL_TEXT_BASE=0x10000000 | ||||
|  CONFIG_SPL_HAS_BSS_LINKER_SECTION=y | ||||
|  CONFIG_SPL_BSS_START_ADDR=0x80100000 | ||||
| -CONFIG_SPL_BSS_MAX_SIZE=0x80000 | ||||
| +CONFIG_SPL_BSS_MAX_SIZE=0xc0000 | ||||
|  CONFIG_SPL_FSL_PBL=y | ||||
|  # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set | ||||
|  CONFIG_SPL_SYS_MALLOC=y | ||||
|  CONFIG_SYS_LOAD_ADDR=0x82000000 | ||||
|  CONFIG_SPL=y | ||||
|  CONFIG_PCI=y | ||||
| @@ -67,8 +67,11 @@ CONFIG_CMD_MII=y | ||||
|  # CONFIG_CMD_MDIO is not set | ||||
|  CONFIG_CMD_PING=y | ||||
|  | ||||
| @ -7,10 +7,10 @@ | ||||
|  | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_VERSION:=2025.04 | ||||
| PKG_VERSION:=2025.07 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_HASH:=439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 | ||||
| PKG_HASH:=0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 | ||||
| PKG_MAINTAINER:=Thomas Richard <thomas.richard@bootlin.com> | ||||
|  | ||||
| UBOOT_USE_INTREE_DTC:=1 | ||||
| @ -56,7 +56,7 @@ UBOOT_TARGETS := \ | ||||
| 		 stm32mp157c-dk2 \ | ||||
| 		 stm32mp157c-dk2-scmi | ||||
|  | ||||
| UBOOT_MAKE_FLAGS += DEVICE_TREE=$(DEVICE_TREE) | ||||
| UBOOT_MAKE_FLAGS += DEVICE_TREE=st/$(DEVICE_TREE) | ||||
|  | ||||
| UBOOT_CUSTOMIZE_CONFIG := \ | ||||
| 	--disable TOOLS_MKEFICAPSULE | ||||
|  | ||||
| @ -0,0 +1,27 @@ | ||||
| From 1cdb64ad3aa9d6cd4a02adc09fcc1015f90e2fb9 Mon Sep 17 00:00:00 2001 | ||||
| From: Patrice Chotard <patrice.chotard@foss.st.com> | ||||
| Date: Mon, 9 Jun 2025 14:53:13 +0200 | ||||
| Subject: [PATCH] configs: stm32mp13: increase SYS_MALLOC_F_LEN to 0x210000 | ||||
|  | ||||
| Due SCMI update to protocol v2.0, we need to increase | ||||
| SYS_MALLOC_F_LEN value to avoid following message: | ||||
| alloc space exhausted ptr 200040 limit 200000 | ||||
|  | ||||
| Set SYS_MALLOC_F_LEN to 0x210000 to fix this issue. | ||||
|  | ||||
| Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> | ||||
| --- | ||||
|  configs/stm32mp13_defconfig | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
|  | ||||
| --- a/configs/stm32mp13_defconfig | ||||
| +++ b/configs/stm32mp13_defconfig | ||||
| @@ -1,7 +1,7 @@ | ||||
|  CONFIG_ARM=y | ||||
|  CONFIG_ARCH_STM32MP=y | ||||
|  CONFIG_TFABOOT=y | ||||
| -CONFIG_SYS_MALLOC_F_LEN=0x180000 | ||||
| +CONFIG_SYS_MALLOC_F_LEN=0x210000 | ||||
|  CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc0400000 | ||||
|  CONFIG_ENV_OFFSET=0x900000 | ||||
|  CONFIG_DEFAULT_DEVICE_TREE="st/stm32mp135f-dk" | ||||
| @ -8,13 +8,13 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=fman-ucode | ||||
| PKG_VERSION:=6.6.3.1.0.0 | ||||
| PKG_VERSION:=6.12.20.2.0.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-fm-ucode | ||||
| PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 | ||||
| PKG_MIRROR_HASH:=6bb9dd8ae0ac7b2ba0e5bc5e0590732167844a1b2c9316fbdcdd04e600785b0c | ||||
| PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0 | ||||
| PKG_MIRROR_HASH:=15b5df228b23b4cbdd1af484c98069b558d32ece15a80f0dabe22af6e5ee1ba1 | ||||
|  | ||||
| PKG_FLAGS:=nonshared | ||||
|  | ||||
|  | ||||
| @ -6,13 +6,13 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=ls-ddr-phy | ||||
| PKG_VERSION:=6.6.3.1.0.0 | ||||
| PKG_VERSION:=6.12.20.2.0.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/NXP/ddr-phy-binary.git | ||||
| PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 | ||||
| PKG_MIRROR_HASH:=7a1a35b3060adba875c507be3a5c800fa0c461103aaeb8eb0eab11f1f4b8139f | ||||
| PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0 | ||||
| PKG_MIRROR_HASH:=162616b23041e345a9a12080005ee1c24c9903d6809c60a022588a1c7f5b1577 | ||||
| PKG_BUILD_DEPENDS:=tfa-layerscape/host | ||||
|  | ||||
| PKG_LICENSE:=EULA | ||||
|  | ||||
| @ -8,13 +8,13 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=ls-rcw | ||||
| PKG_VERSION:=6.6.23.2.0.0 | ||||
| PKG_VERSION:=6.12.20.2.0.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/nxp-qoriq/rcw | ||||
| PKG_SOURCE_VERSION:=lf-6.6.23-2.0.0 | ||||
| PKG_MIRROR_HASH:=f5e62ac040564eb97f4d1c58496a1586a470008469cb4daee6d7c70be7fdfa07 | ||||
| PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0 | ||||
| PKG_MIRROR_HASH:=8436e04a01fa7a0da3512dae035b47122691fc860fa2c36da20552bceec9246a | ||||
|  | ||||
| PKG_FLAGS:=nonshared | ||||
|  | ||||
|  | ||||
| @ -8,13 +8,13 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
|  | ||||
| PKG_NAME:=ppfe | ||||
| PKG_VERSION:=6.6.3.1.0.0 | ||||
| PKG_VERSION:=6.12.20.2.0.0 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL:=https://github.com/nxp-qoriq/qoriq-engine-pfe-bin | ||||
| PKG_SOURCE_VERSION:=lf-6.6.3-1.0.0 | ||||
| PKG_MIRROR_HASH:=836da0d1ace6c5896c434940b5f06ae9ddcb871959e9f5aa3df75d67e39aec41 | ||||
| PKG_SOURCE_VERSION:=lf-6.12.20-2.0.0 | ||||
| PKG_MIRROR_HASH:=57ff6ebc78e774a12f64ac7d4738621edabdeee3a46c6ee69343ba0a8bff73cd | ||||
|  | ||||
| PKG_FLAGS:=nonshared | ||||
|  | ||||
|  | ||||
| @ -11,9 +11,9 @@ PKG_NAME:=udebug | ||||
| CMAKE_INSTALL:=1 | ||||
| PKG_SOURCE_PROTO:=git | ||||
| PKG_SOURCE_URL=$(PROJECT_GIT)/project/udebug.git | ||||
| PKG_MIRROR_HASH:=578f795ef6ed0400efae8754891539e5b2922d8b164425e535b96da1b0a089c5 | ||||
| PKG_SOURCE_DATE:=2025-07-23 | ||||
| PKG_SOURCE_VERSION:=6ed8536142bbd4360b55a423723456a6a862c99b | ||||
| PKG_MIRROR_HASH:=d787e64420b6b8410ee4a432cbaaeba0d116ef0d6bb6d670289229f049d10bf7 | ||||
| PKG_SOURCE_DATE:=2025-08-17 | ||||
| PKG_SOURCE_VERSION:=892647b81d30fcec8d275a2c5da05b94192c095d | ||||
| PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE)) | ||||
|  | ||||
| PKG_LICENSE:=GPL-2.0 | ||||
|  | ||||
| @ -127,7 +127,7 @@ | ||||
| 			"type": "string" | ||||
| 		}, | ||||
| 		"country_code": { | ||||
| 			"description": "Specifies the country code, affects the available channels and transmission powers. For types mac80211 and broadcom a two letter country code is used (EN or DE). The madwifi driver expects a numeric code", | ||||
| 			"description": "Specifies the two-letter country code (e.g. EN or DE), affects the available channels and transmission powers", | ||||
| 			"type": "string" | ||||
| 		}, | ||||
| 		"country_ie": { | ||||
| @ -618,6 +618,13 @@ | ||||
| 			"type": "boolean", | ||||
| 			"default": true | ||||
| 		}, | ||||
| 		"scan_list": { | ||||
| 			"description": "List of frequencies (in MHz) to scan when looking for networks in client mode", | ||||
| 			"type": "array", | ||||
| 			"items": { | ||||
| 				"type": "number" | ||||
| 			} | ||||
| 		}, | ||||
| 		"short_gi_160": { | ||||
| 			"description": "Short GI for 160 MHz", | ||||
| 			"type": "boolean", | ||||
|  | ||||
| @ -190,8 +190,10 @@ export function generate(config_list, data, interface) { | ||||
|  | ||||
| 	interface.config.country = data.config.country_code; | ||||
| 	interface.config.beacon_int = data.config.beacon_int; | ||||
| 	if (data.config.scan_list) | ||||
| 		interface.config.scan_list = join(" ", data.config.scan_list); | ||||
|  | ||||
| 	append_vars(interface.config, [ 'country', 'beacon_int' ]); | ||||
| 	append_vars(interface.config, [ 'country', 'beacon_int', 'scan_list' ]); | ||||
|  | ||||
| 	setup_sta(data.config, interface.config); | ||||
|  | ||||
|  | ||||
| @ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk | ||||
| include $(INCLUDE_DIR)/kernel.mk | ||||
|  | ||||
| PKG_NAME:=ipset | ||||
| PKG_VERSION:=7.21 | ||||
| PKG_VERSION:=7.24 | ||||
| PKG_RELEASE:=1 | ||||
|  | ||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||||
| PKG_SOURCE_URL:=https://ipset.netfilter.org | ||||
| PKG_HASH:=e2c6ce4fcf3acb3893ca5d35c86935f80ad76fc5ccae601185842df760e0bc69 | ||||
| PKG_HASH:=fbe3424dff222c1cb5e5c34d38b64524b2217ce80226c14fdcbb13b29ea36112 | ||||
|  | ||||
| PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io> | ||||
| PKG_LICENSE:=GPL-2.0 | ||||
|  | ||||
| @ -8,8 +8,7 @@ CPU_TYPE:=cortex-a7 | ||||
| CPU_SUBTYPE:=neon-vfpv4 | ||||
| SUBTARGETS:=generic chromium mikrotik | ||||
|  | ||||
| KERNEL_PATCHVER:=6.6 | ||||
| KERNEL_TESTING_PATCHVER:=6.12 | ||||
| KERNEL_PATCHVER:=6.12 | ||||
|  | ||||
| KERNELNAME:=zImage Image dtbs | ||||
|  | ||||
|  | ||||
| @ -1,532 +0,0 @@ | ||||
| CONFIG_ALIGNMENT_TRAP=y | ||||
| # CONFIG_APQ_GCC_8084 is not set | ||||
| # CONFIG_APQ_MMCC_8084 is not set | ||||
| CONFIG_ARCH_32BIT_OFF_T=y | ||||
| CONFIG_ARCH_HIBERNATION_POSSIBLE=y | ||||
| CONFIG_ARCH_IPQ40XX=y | ||||
| CONFIG_ARCH_KEEP_MEMBLOCK=y | ||||
| # CONFIG_ARCH_MDM9615 is not set | ||||
| CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y | ||||
| # CONFIG_ARCH_MSM8909 is not set | ||||
| # CONFIG_ARCH_MSM8916 is not set | ||||
| # CONFIG_ARCH_MSM8960 is not set | ||||
| # CONFIG_ARCH_MSM8974 is not set | ||||
| # CONFIG_ARCH_MSM8X60 is not set | ||||
| CONFIG_ARCH_MULTIPLATFORM=y | ||||
| CONFIG_ARCH_MULTI_V6_V7=y | ||||
| CONFIG_ARCH_MULTI_V7=y | ||||
| CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y | ||||
| CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y | ||||
| CONFIG_ARCH_QCOM=y | ||||
| CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||||
| CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||||
| CONFIG_ARCH_STACKWALK=y | ||||
| CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||||
| CONFIG_ARM=y | ||||
| CONFIG_ARM_AMBA=y | ||||
| CONFIG_ARM_APPENDED_DTB=y | ||||
| CONFIG_ARM_ARCH_TIMER=y | ||||
| CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y | ||||
| # CONFIG_ARM_ATAG_DTB_COMPAT is not set | ||||
| CONFIG_ARM_CPUIDLE=y | ||||
| # CONFIG_ARM_CPU_TOPOLOGY is not set | ||||
| CONFIG_ARM_GIC=y | ||||
| CONFIG_ARM_HAS_GROUP_RELOCS=y | ||||
| CONFIG_ARM_L1_CACHE_SHIFT=6 | ||||
| CONFIG_ARM_L1_CACHE_SHIFT_6=y | ||||
| CONFIG_ARM_PATCH_IDIV=y | ||||
| CONFIG_ARM_PATCH_PHYS_VIRT=y | ||||
| # CONFIG_ARM_QCOM_CPUFREQ_HW is not set | ||||
| # CONFIG_ARM_QCOM_CPUFREQ_NVMEM is not set | ||||
| # CONFIG_ARM_QCOM_SPM_CPUIDLE is not set | ||||
| # CONFIG_ARM_SMMU is not set | ||||
| CONFIG_ARM_THUMB=y | ||||
| CONFIG_ARM_UNWIND=y | ||||
| CONFIG_ARM_VIRT_EXT=y | ||||
| CONFIG_AT803X_PHY=y | ||||
| CONFIG_AUTO_ZRELADDR=y | ||||
| CONFIG_BCH=y | ||||
| CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y | ||||
| CONFIG_BLK_DEV_LOOP=y | ||||
| CONFIG_BLK_MQ_PCI=y | ||||
| CONFIG_BOUNCE=y | ||||
| # CONFIG_CACHE_L2X0 is not set | ||||
| CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y | ||||
| CONFIG_CLKSRC_QCOM=y | ||||
| CONFIG_CLONE_BACKWARDS=y | ||||
| CONFIG_CMDLINE_PARTITION=y | ||||
| CONFIG_COMMON_CLK=y | ||||
| CONFIG_COMMON_CLK_QCOM=y | ||||
| CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 | ||||
| CONFIG_COMPAT_32BIT_TIME=y | ||||
| CONFIG_CONTEXT_TRACKING=y | ||||
| CONFIG_CONTEXT_TRACKING_IDLE=y | ||||
| CONFIG_CPUFREQ_DT=y | ||||
| CONFIG_CPUFREQ_DT_PLATDEV=y | ||||
| CONFIG_CPU_32v6K=y | ||||
| CONFIG_CPU_32v7=y | ||||
| CONFIG_CPU_ABRT_EV7=y | ||||
| CONFIG_CPU_CACHE_V7=y | ||||
| CONFIG_CPU_CACHE_VIPT=y | ||||
| CONFIG_CPU_COPY_V6=y | ||||
| CONFIG_CPU_CP15=y | ||||
| CONFIG_CPU_CP15_MMU=y | ||||
| CONFIG_CPU_FREQ=y | ||||
| CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||||
| CONFIG_CPU_FREQ_GOV_ATTR_SET=y | ||||
| CONFIG_CPU_FREQ_GOV_COMMON=y | ||||
| # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||||
| CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||||
| CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||||
| # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||||
| # CONFIG_CPU_FREQ_GOV_USERSPACE is not set | ||||
| CONFIG_CPU_FREQ_STAT=y | ||||
| CONFIG_CPU_HAS_ASID=y | ||||
| CONFIG_CPU_IDLE=y | ||||
| CONFIG_CPU_IDLE_GOV_LADDER=y | ||||
| CONFIG_CPU_IDLE_GOV_MENU=y | ||||
| CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y | ||||
| CONFIG_CPU_LITTLE_ENDIAN=y | ||||
| CONFIG_CPU_MITIGATIONS=y | ||||
| CONFIG_CPU_PABRT_V7=y | ||||
| CONFIG_CPU_PM=y | ||||
| CONFIG_CPU_RMAP=y | ||||
| CONFIG_CPU_SPECTRE=y | ||||
| CONFIG_CPU_THERMAL=y | ||||
| CONFIG_CPU_THUMB_CAPABLE=y | ||||
| CONFIG_CPU_TLB_V7=y | ||||
| CONFIG_CPU_V7=y | ||||
| CONFIG_CRC16=y | ||||
| CONFIG_CRC8=y | ||||
| CONFIG_CRYPTO_AES_ARM=y | ||||
| CONFIG_CRYPTO_AES_ARM_BS=y | ||||
| CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y | ||||
| CONFIG_CRYPTO_BLAKE2S_ARM=y | ||||
| CONFIG_CRYPTO_CBC=y | ||||
| CONFIG_CRYPTO_CRYPTD=y | ||||
| CONFIG_CRYPTO_DEFLATE=y | ||||
| CONFIG_CRYPTO_DES=y | ||||
| CONFIG_CRYPTO_DEV_QCE=y | ||||
| # CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set | ||||
| # CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL is not set | ||||
| # CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set | ||||
| CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER=y | ||||
| CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y | ||||
| CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512 | ||||
| CONFIG_CRYPTO_DEV_QCOM_RNG=y | ||||
| CONFIG_CRYPTO_DRBG=y | ||||
| CONFIG_CRYPTO_DRBG_HMAC=y | ||||
| CONFIG_CRYPTO_DRBG_MENU=y | ||||
| CONFIG_CRYPTO_ECB=y | ||||
| CONFIG_CRYPTO_GENIV=y | ||||
| CONFIG_CRYPTO_HMAC=y | ||||
| CONFIG_CRYPTO_HW=y | ||||
| CONFIG_CRYPTO_JITTERENTROPY=y | ||||
| CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64 | ||||
| CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32 | ||||
| CONFIG_CRYPTO_JITTERENTROPY_OSR=1 | ||||
| CONFIG_CRYPTO_LIB_DES=y | ||||
| CONFIG_CRYPTO_LIB_GF128MUL=y | ||||
| CONFIG_CRYPTO_LIB_SHA1=y | ||||
| CONFIG_CRYPTO_LIB_SHA256=y | ||||
| CONFIG_CRYPTO_LIB_UTILS=y | ||||
| CONFIG_CRYPTO_LZO=y | ||||
| CONFIG_CRYPTO_RNG=y | ||||
| CONFIG_CRYPTO_RNG2=y | ||||
| CONFIG_CRYPTO_RNG_DEFAULT=y | ||||
| CONFIG_CRYPTO_SEQIV=y | ||||
| CONFIG_CRYPTO_SHA1=y | ||||
| CONFIG_CRYPTO_SHA256=y | ||||
| CONFIG_CRYPTO_SHA256_ARM=y | ||||
| CONFIG_CRYPTO_SHA3=y | ||||
| CONFIG_CRYPTO_SHA512=y | ||||
| CONFIG_CRYPTO_SIMD=y | ||||
| CONFIG_CRYPTO_XTS=y | ||||
| CONFIG_CRYPTO_ZSTD=y | ||||
| CONFIG_CURRENT_POINTER_IN_TPIDRURO=y | ||||
| CONFIG_DCACHE_WORD_ACCESS=y | ||||
| CONFIG_DEBUG_INFO=y | ||||
| CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" | ||||
| CONFIG_DEBUG_MISC=y | ||||
| CONFIG_DMADEVICES=y | ||||
| CONFIG_DMA_ENGINE=y | ||||
| CONFIG_DMA_OF=y | ||||
| CONFIG_DMA_OPS=y | ||||
| CONFIG_DMA_SHARED_BUFFER=y | ||||
| CONFIG_DMA_VIRTUAL_CHANNELS=y | ||||
| CONFIG_DTC=y | ||||
| CONFIG_DT_IDLE_STATES=y | ||||
| CONFIG_EDAC_ATOMIC_SCRUB=y | ||||
| CONFIG_EDAC_SUPPORT=y | ||||
| CONFIG_EEPROM_AT24=y | ||||
| CONFIG_EXCLUSIVE_SYSTEM_RAM=y | ||||
| CONFIG_EXTCON=y | ||||
| CONFIG_FIXED_PHY=y | ||||
| CONFIG_FIX_EARLYCON_MEM=y | ||||
| CONFIG_FS_IOMAP=y | ||||
| CONFIG_FUNCTION_ALIGNMENT=0 | ||||
| CONFIG_FWNODE_MDIO=y | ||||
| CONFIG_FW_LOADER_PAGED_BUF=y | ||||
| CONFIG_FW_LOADER_SYSFS=y | ||||
| CONFIG_GENERIC_ALLOCATOR=y | ||||
| CONFIG_GENERIC_BUG=y | ||||
| CONFIG_GENERIC_CLOCKEVENTS=y | ||||
| CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||||
| CONFIG_GENERIC_CPU_AUTOPROBE=y | ||||
| CONFIG_GENERIC_CPU_VULNERABILITIES=y | ||||
| CONFIG_GENERIC_EARLY_IOREMAP=y | ||||
| CONFIG_GENERIC_GETTIMEOFDAY=y | ||||
| CONFIG_GENERIC_IDLE_POLL_SETUP=y | ||||
| CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y | ||||
| CONFIG_GENERIC_IRQ_MULTI_HANDLER=y | ||||
| CONFIG_GENERIC_IRQ_SHOW=y | ||||
| CONFIG_GENERIC_IRQ_SHOW_LEVEL=y | ||||
| CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y | ||||
| CONFIG_GENERIC_MSI_IRQ=y | ||||
| CONFIG_GENERIC_PCI_IOMAP=y | ||||
| CONFIG_GENERIC_PHY=y | ||||
| CONFIG_GENERIC_PINCONF=y | ||||
| CONFIG_GENERIC_PINCTRL_GROUPS=y | ||||
| CONFIG_GENERIC_PINMUX_FUNCTIONS=y | ||||
| CONFIG_GENERIC_SCHED_CLOCK=y | ||||
| CONFIG_GENERIC_SMP_IDLE_THREAD=y | ||||
| CONFIG_GENERIC_STRNCPY_FROM_USER=y | ||||
| CONFIG_GENERIC_STRNLEN_USER=y | ||||
| CONFIG_GENERIC_TIME_VSYSCALL=y | ||||
| CONFIG_GENERIC_VDSO_32=y | ||||
| CONFIG_GPIOLIB_IRQCHIP=y | ||||
| CONFIG_GPIO_74X164=y | ||||
| CONFIG_GPIO_CDEV=y | ||||
| CONFIG_GPIO_WATCHDOG=y | ||||
| CONFIG_GPIO_WATCHDOG_ARCH_INITCALL=y | ||||
| CONFIG_GRO_CELLS=y | ||||
| # CONFIG_HARDEN_BRANCH_HISTORY is not set | ||||
| # CONFIG_HARDEN_BRANCH_PREDICTOR is not set | ||||
| CONFIG_HARDIRQS_SW_RESEND=y | ||||
| CONFIG_HAS_DMA=y | ||||
| CONFIG_HAS_IOMEM=y | ||||
| CONFIG_HAS_IOPORT=y | ||||
| CONFIG_HAS_IOPORT_MAP=y | ||||
| CONFIG_HAVE_SMP=y | ||||
| CONFIG_HIGHMEM=y | ||||
| # CONFIG_HIGHPTE is not set | ||||
| CONFIG_HWSPINLOCK=y | ||||
| CONFIG_HWSPINLOCK_QCOM=y | ||||
| CONFIG_HW_RANDOM=y | ||||
| CONFIG_HW_RANDOM_OPTEE=y | ||||
| CONFIG_HZ_FIXED=0 | ||||
| CONFIG_I2C=y | ||||
| CONFIG_I2C_BOARDINFO=y | ||||
| CONFIG_I2C_CHARDEV=y | ||||
| CONFIG_I2C_HELPER_AUTO=y | ||||
| # CONFIG_I2C_QCOM_CCI is not set | ||||
| CONFIG_I2C_QUP=y | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| # CONFIG_IOMMUFD is not set | ||||
| # CONFIG_IOMMU_DEBUGFS is not set | ||||
| # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set | ||||
| # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set | ||||
| CONFIG_IOMMU_SUPPORT=y | ||||
| # CONFIG_IPQ_APSS_PLL is not set | ||||
| CONFIG_IPQ_GCC_4019=y | ||||
| # CONFIG_IPQ_GCC_5018 is not set | ||||
| # CONFIG_IPQ_GCC_6018 is not set | ||||
| # CONFIG_IPQ_GCC_806X is not set | ||||
| # CONFIG_IPQ_GCC_8074 is not set | ||||
| # CONFIG_IPQ_GCC_9574 is not set | ||||
| # CONFIG_IPQ_LCC_806X is not set | ||||
| CONFIG_IRQCHIP=y | ||||
| CONFIG_IRQSTACKS=y | ||||
| CONFIG_IRQ_DOMAIN=y | ||||
| CONFIG_IRQ_DOMAIN_HIERARCHY=y | ||||
| CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y | ||||
| CONFIG_IRQ_FORCED_THREADING=y | ||||
| CONFIG_IRQ_WORK=y | ||||
| CONFIG_KMAP_LOCAL=y | ||||
| CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y | ||||
| # CONFIG_KPSS_XCC is not set | ||||
| # CONFIG_KRAITCC is not set | ||||
| CONFIG_LEDS_LP5523=y | ||||
| CONFIG_LEDS_LP5562=y | ||||
| CONFIG_LEDS_LP55XX_COMMON=y | ||||
| CONFIG_LEDS_TLC591XX=y | ||||
| CONFIG_LED_TRIGGER_PHY=y | ||||
| CONFIG_LIBFDT=y | ||||
| CONFIG_LOCK_DEBUGGING_SUPPORT=y | ||||
| CONFIG_LOCK_SPIN_ON_OWNER=y | ||||
| CONFIG_LZO_COMPRESS=y | ||||
| CONFIG_LZO_DECOMPRESS=y | ||||
| CONFIG_MDIO_BITBANG=y | ||||
| CONFIG_MDIO_BUS=y | ||||
| CONFIG_MDIO_DEVICE=y | ||||
| CONFIG_MDIO_DEVRES=y | ||||
| CONFIG_MDIO_GPIO=y | ||||
| CONFIG_MDIO_IPQ4019=y | ||||
| # CONFIG_MDM_GCC_9615 is not set | ||||
| # CONFIG_MFD_HI6421_SPMI is not set | ||||
| # CONFIG_MFD_QCOM_RPM is not set | ||||
| # CONFIG_MFD_SPMI_PMIC is not set | ||||
| CONFIG_MFD_SYSCON=y | ||||
| CONFIG_MIGHT_HAVE_CACHE_L2X0=y | ||||
| CONFIG_MIGRATION=y | ||||
| CONFIG_MMC=y | ||||
| CONFIG_MMC_BLOCK=y | ||||
| CONFIG_MMC_CQHCI=y | ||||
| CONFIG_MMC_SDHCI=y | ||||
| CONFIG_MMC_SDHCI_IO_ACCESSORS=y | ||||
| CONFIG_MMC_SDHCI_MSM=y | ||||
| # CONFIG_MMC_SDHCI_PCI is not set | ||||
| CONFIG_MMC_SDHCI_PLTFM=y | ||||
| CONFIG_MMU_LAZY_TLB_REFCOUNT=y | ||||
| CONFIG_MODULES_USE_ELF_REL=y | ||||
| # CONFIG_MSM_GCC_8660 is not set | ||||
| # CONFIG_MSM_GCC_8909 is not set | ||||
| # CONFIG_MSM_GCC_8916 is not set | ||||
| # CONFIG_MSM_GCC_8939 is not set | ||||
| # CONFIG_MSM_GCC_8960 is not set | ||||
| # CONFIG_MSM_GCC_8974 is not set | ||||
| # CONFIG_MSM_GCC_8976 is not set | ||||
| # CONFIG_MSM_GCC_8994 is not set | ||||
| # CONFIG_MSM_GCC_8996 is not set | ||||
| # CONFIG_MSM_GCC_8998 is not set | ||||
| # CONFIG_MSM_GPUCC_8998 is not set | ||||
| # CONFIG_MSM_LCC_8960 is not set | ||||
| # CONFIG_MSM_MMCC_8960 is not set | ||||
| # CONFIG_MSM_MMCC_8974 is not set | ||||
| # CONFIG_MSM_MMCC_8996 is not set | ||||
| # CONFIG_MSM_MMCC_8998 is not set | ||||
| CONFIG_MTD_CMDLINE_PARTS=y | ||||
| CONFIG_MTD_NAND_CORE=y | ||||
| CONFIG_MTD_NAND_ECC=y | ||||
| CONFIG_MTD_NAND_ECC_SW_BCH=y | ||||
| CONFIG_MTD_NAND_ECC_SW_HAMMING=y | ||||
| CONFIG_MTD_NAND_QCOM=y | ||||
| # CONFIG_MTD_QCOMSMEM_PARTS is not set | ||||
| CONFIG_MTD_RAW_NAND=y | ||||
| CONFIG_MTD_SPI_NAND=y | ||||
| CONFIG_MTD_SPI_NOR=y | ||||
| CONFIG_MTD_SPLIT_FIRMWARE=y | ||||
| CONFIG_MTD_SPLIT_FIT_FW=y | ||||
| CONFIG_MTD_SPLIT_WRGG_FW=y | ||||
| CONFIG_MUTEX_SPIN_ON_OWNER=y | ||||
| CONFIG_NEED_DMA_MAP_STATE=y | ||||
| CONFIG_NEED_SRCU_NMI_SAFE=y | ||||
| CONFIG_NEON=y | ||||
| CONFIG_NET_DEVLINK=y | ||||
| CONFIG_NET_DSA=y | ||||
| CONFIG_NET_DSA_QCA8K_IPQ4019=y | ||||
| CONFIG_NET_DSA_TAG_OOB=y | ||||
| CONFIG_NET_EGRESS=y | ||||
| CONFIG_NET_FLOW_LIMIT=y | ||||
| CONFIG_NET_INGRESS=y | ||||
| CONFIG_NET_PTP_CLASSIFY=y | ||||
| CONFIG_NET_SELFTESTS=y | ||||
| CONFIG_NET_XGRESS=y | ||||
| CONFIG_NLS=y | ||||
| CONFIG_NO_HZ=y | ||||
| CONFIG_NO_HZ_COMMON=y | ||||
| CONFIG_NO_HZ_IDLE=y | ||||
| CONFIG_NR_CPUS=4 | ||||
| CONFIG_NVMEM=y | ||||
| CONFIG_NVMEM_LAYOUTS=y | ||||
| CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y | ||||
| CONFIG_NVMEM_QCOM_QFPROM=y | ||||
| # CONFIG_NVMEM_QCOM_SEC_QFPROM is not set | ||||
| # CONFIG_NVMEM_SPMI_SDAM is not set | ||||
| CONFIG_NVMEM_SYSFS=y | ||||
| CONFIG_NVMEM_U_BOOT_ENV=y | ||||
| CONFIG_OF=y | ||||
| CONFIG_OF_ADDRESS=y | ||||
| CONFIG_OF_EARLY_FLATTREE=y | ||||
| CONFIG_OF_FLATTREE=y | ||||
| CONFIG_OF_GPIO=y | ||||
| CONFIG_OF_IRQ=y | ||||
| CONFIG_OF_KOBJ=y | ||||
| CONFIG_OF_MDIO=y | ||||
| CONFIG_OLD_SIGACTION=y | ||||
| CONFIG_OLD_SIGSUSPEND3=y | ||||
| CONFIG_OPTEE=y | ||||
| CONFIG_PADATA=y | ||||
| CONFIG_PAGE_OFFSET=0xC0000000 | ||||
| CONFIG_PAGE_POOL=y | ||||
| CONFIG_PAGE_SIZE_LESS_THAN_256KB=y | ||||
| CONFIG_PAGE_SIZE_LESS_THAN_64KB=y | ||||
| CONFIG_PCI=y | ||||
| CONFIG_PCIEAER=y | ||||
| CONFIG_PCIEPORTBUS=y | ||||
| CONFIG_PCIE_DW=y | ||||
| CONFIG_PCIE_DW_HOST=y | ||||
| CONFIG_PCIE_QCOM=y | ||||
| CONFIG_PCI_DISABLE_COMMON_QUIRKS=y | ||||
| CONFIG_PCI_DOMAINS=y | ||||
| CONFIG_PCI_DOMAINS_GENERIC=y | ||||
| CONFIG_PCI_MSI=y | ||||
| CONFIG_PERF_USE_VMALLOC=y | ||||
| CONFIG_PGTABLE_LEVELS=2 | ||||
| CONFIG_PHYLIB=y | ||||
| CONFIG_PHYLIB_LEDS=y | ||||
| CONFIG_PHYLINK=y | ||||
| # CONFIG_PHY_QCOM_APQ8064_SATA is not set | ||||
| # CONFIG_PHY_QCOM_EDP is not set | ||||
| # CONFIG_PHY_QCOM_EUSB2_REPEATER is not set | ||||
| CONFIG_PHY_QCOM_IPQ4019_USB=y | ||||
| # CONFIG_PHY_QCOM_IPQ806X_SATA is not set | ||||
| # CONFIG_PHY_QCOM_IPQ806X_USB is not set | ||||
| # CONFIG_PHY_QCOM_M31_USB is not set | ||||
| # CONFIG_PHY_QCOM_PCIE2 is not set | ||||
| # CONFIG_PHY_QCOM_QMP is not set | ||||
| # CONFIG_PHY_QCOM_QUSB2 is not set | ||||
| # CONFIG_PHY_QCOM_SGMII_ETH is not set | ||||
| # CONFIG_PHY_QCOM_SNPS_EUSB2 is not set | ||||
| # CONFIG_PHY_QCOM_USB_HS_28NM is not set | ||||
| # CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set | ||||
| # CONFIG_PHY_QCOM_USB_SS is not set | ||||
| CONFIG_PINCTRL=y | ||||
| # CONFIG_PINCTRL_APQ8064 is not set | ||||
| # CONFIG_PINCTRL_APQ8084 is not set | ||||
| CONFIG_PINCTRL_IPQ4019=y | ||||
| # CONFIG_PINCTRL_IPQ8064 is not set | ||||
| # CONFIG_PINCTRL_MDM9615 is not set | ||||
| CONFIG_PINCTRL_MSM=y | ||||
| # CONFIG_PINCTRL_MSM8226 is not set | ||||
| # CONFIG_PINCTRL_MSM8660 is not set | ||||
| # CONFIG_PINCTRL_MSM8909 is not set | ||||
| # CONFIG_PINCTRL_MSM8916 is not set | ||||
| # CONFIG_PINCTRL_MSM8960 is not set | ||||
| # CONFIG_PINCTRL_QCOM_SPMI_PMIC is not set | ||||
| # CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set | ||||
| # CONFIG_PINCTRL_SDX65 is not set | ||||
| CONFIG_PM_OPP=y | ||||
| CONFIG_POWER_RESET=y | ||||
| CONFIG_POWER_RESET_GPIO_RESTART=y | ||||
| CONFIG_POWER_RESET_MSM=y | ||||
| CONFIG_POWER_SUPPLY=y | ||||
| CONFIG_PPS=y | ||||
| CONFIG_PREEMPT_NONE_BUILD=y | ||||
| CONFIG_PRINTK_TIME=y | ||||
| CONFIG_PTP_1588_CLOCK=y | ||||
| CONFIG_PTP_1588_CLOCK_OPTIONAL=y | ||||
| CONFIG_QCA807X_PHY=y | ||||
| # CONFIG_QCM_DISPCC_2290 is not set | ||||
| # CONFIG_QCM_GCC_2290 is not set | ||||
| CONFIG_QCOM_A53PLL=y | ||||
| # CONFIG_QCOM_ADM is not set | ||||
| CONFIG_QCOM_BAM_DMA=y | ||||
| # CONFIG_QCOM_COMMAND_DB is not set | ||||
| # CONFIG_QCOM_CPR is not set | ||||
| # CONFIG_QCOM_EBI2 is not set | ||||
| # CONFIG_QCOM_GENI_SE is not set | ||||
| # CONFIG_QCOM_GSBI is not set | ||||
| # CONFIG_QCOM_HFPLL is not set | ||||
| # CONFIG_QCOM_ICC_BWMON is not set | ||||
| # CONFIG_QCOM_IOMMU is not set | ||||
| CONFIG_QCOM_IPQ4019_ESS_EDMA=y | ||||
| # CONFIG_QCOM_LLCC is not set | ||||
| CONFIG_QCOM_NET_PHYLIB=y | ||||
| # CONFIG_QCOM_OCMEM is not set | ||||
| # CONFIG_QCOM_PDC is not set | ||||
| # CONFIG_QCOM_RAMP_CTRL is not set | ||||
| # CONFIG_QCOM_RMTFS_MEM is not set | ||||
| # CONFIG_QCOM_RPMH is not set | ||||
| # CONFIG_QCOM_RPM_MASTER_STATS is not set | ||||
| CONFIG_QCOM_SCM=y | ||||
| # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set | ||||
| CONFIG_QCOM_SMEM=y | ||||
| # CONFIG_QCOM_SMSM is not set | ||||
| # CONFIG_QCOM_SOCINFO is not set | ||||
| # CONFIG_QCOM_SPM is not set | ||||
| # CONFIG_QCOM_STATS is not set | ||||
| CONFIG_QCOM_TCSR=y | ||||
| # CONFIG_QCOM_TSENS is not set | ||||
| CONFIG_QCOM_WDT=y | ||||
| # CONFIG_QCS_GCC_404 is not set | ||||
| # CONFIG_QCS_Q6SSTOP_404 is not set | ||||
| # CONFIG_QCS_TURING_404 is not set | ||||
| # CONFIG_QDU_GCC_1000 is not set | ||||
| CONFIG_RANDSTRUCT_NONE=y | ||||
| CONFIG_RAS=y | ||||
| CONFIG_RATIONAL=y | ||||
| CONFIG_REGMAP=y | ||||
| CONFIG_REGMAP_I2C=y | ||||
| CONFIG_REGMAP_MMIO=y | ||||
| CONFIG_REGULATOR=y | ||||
| CONFIG_REGULATOR_FIXED_VOLTAGE=y | ||||
| # CONFIG_REGULATOR_QCOM_LABIBB is not set | ||||
| # CONFIG_REGULATOR_QCOM_SPMI is not set | ||||
| # CONFIG_REGULATOR_QCOM_USB_VBUS is not set | ||||
| CONFIG_REGULATOR_VCTRL=y | ||||
| CONFIG_REGULATOR_VQMMC_IPQ4019=y | ||||
| CONFIG_RESET_CONTROLLER=y | ||||
| # CONFIG_RESET_QCOM_AOSS is not set | ||||
| # CONFIG_RESET_QCOM_PDC is not set | ||||
| CONFIG_RFS_ACCEL=y | ||||
| CONFIG_RPS=y | ||||
| CONFIG_RTC_CLASS=y | ||||
| # CONFIG_RTC_DRV_OPTEE is not set | ||||
| CONFIG_RTC_I2C_AND_SPI=y | ||||
| CONFIG_RTC_MC146818_LIB=y | ||||
| CONFIG_RWSEM_SPIN_ON_OWNER=y | ||||
| # CONFIG_SA_GCC_8775P is not set | ||||
| # CONFIG_SA_GPUCC_8775P is not set | ||||
| # CONFIG_SDX_GCC_65 is not set | ||||
| # CONFIG_SDX_GCC_75 is not set | ||||
| CONFIG_SERIAL_8250_FSL=y | ||||
| CONFIG_SERIAL_MCTRL_GPIO=y | ||||
| CONFIG_SERIAL_MSM=y | ||||
| CONFIG_SERIAL_MSM_CONSOLE=y | ||||
| CONFIG_SGL_ALLOC=y | ||||
| CONFIG_SKB_EXTENSIONS=y | ||||
| CONFIG_SMP=y | ||||
| CONFIG_SMP_ON_UP=y | ||||
| # CONFIG_SM_GCC_7150 is not set | ||||
| CONFIG_SOCK_RX_QUEUE_MAPPING=y | ||||
| CONFIG_SOFTIRQ_ON_OWN_STACK=y | ||||
| CONFIG_SPARSE_IRQ=y | ||||
| CONFIG_SPI=y | ||||
| CONFIG_SPI_BITBANG=y | ||||
| CONFIG_SPI_GPIO=y | ||||
| CONFIG_SPI_MASTER=y | ||||
| CONFIG_SPI_MEM=y | ||||
| # CONFIG_SPI_QPIC_SNAND is not set | ||||
| CONFIG_SPI_QUP=y | ||||
| CONFIG_SPMI=y | ||||
| # CONFIG_SPMI_HISI3670 is not set | ||||
| CONFIG_SPMI_MSM_PMIC_ARB=y | ||||
| # CONFIG_SPMI_PMIC_CLKDIV is not set | ||||
| CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y | ||||
| CONFIG_SWPHY=y | ||||
| CONFIG_SWP_EMULATE=y | ||||
| CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||||
| CONFIG_TEE=y | ||||
| CONFIG_THERMAL=y | ||||
| CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y | ||||
| CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 | ||||
| CONFIG_THERMAL_GOV_STEP_WISE=y | ||||
| CONFIG_THERMAL_OF=y | ||||
| CONFIG_THREAD_INFO_IN_TASK=y | ||||
| CONFIG_TICK_CPU_ACCOUNTING=y | ||||
| CONFIG_TIMER_OF=y | ||||
| CONFIG_TIMER_PROBE=y | ||||
| CONFIG_TREE_RCU=y | ||||
| CONFIG_TREE_SRCU=y | ||||
| CONFIG_UEVENT_HELPER_PATH="" | ||||
| CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" | ||||
| CONFIG_UNWINDER_ARM=y | ||||
| CONFIG_USB=y | ||||
| CONFIG_USB_COMMON=y | ||||
| CONFIG_USB_SUPPORT=y | ||||
| CONFIG_USE_OF=y | ||||
| CONFIG_VFP=y | ||||
| CONFIG_VFPv3=y | ||||
| CONFIG_WATCHDOG_CORE=y | ||||
| CONFIG_XPS=y | ||||
| CONFIG_XXHASH=y | ||||
| CONFIG_XZ_DEC_ARM=y | ||||
| CONFIG_XZ_DEC_BCJ=y | ||||
| CONFIG_ZBOOT_ROM_BSS=0 | ||||
| CONFIG_ZBOOT_ROM_TEXT=0 | ||||
| CONFIG_ZLIB_DEFLATE=y | ||||
| CONFIG_ZLIB_INFLATE=y | ||||
| CONFIG_ZSTD_COMMON=y | ||||
| CONFIG_ZSTD_COMPRESS=y | ||||
| CONFIG_ZSTD_DECOMPRESS=y | ||||
| @ -1,242 +0,0 @@ | ||||
| // SPDX-License-Identifier: ISC | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2017, Sven Eckelmann <sven.eckelmann@openmesh.com> | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "OpenMesh A42"; | ||||
| 	compatible = "openmesh,a42"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status_green; | ||||
| 		led-failsafe = &led_status_green; | ||||
| 		led-running = &led_status_green; | ||||
| 		led-upgrade = &led_status_green; | ||||
| 		label-mac-device = &swport5; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		status_red { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_green: status_green { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		status_blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	watchdog { | ||||
| 		compatible = "linux,wdt-gpio"; | ||||
| 		gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 		hw_algo = "toggle"; | ||||
| 		/* hw_margin_ms is actually 300s but driver limits it to 60s */ | ||||
| 		hw_margin_ms = <60000>; | ||||
| 		always-running; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		/* partitions are passed via bootloader */ | ||||
| 		partitions { | ||||
| 			partition-art { | ||||
| 				label = "0:ART"; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet2"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet1"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "OM-A42"; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "OM-A42"; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
| @ -1,361 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ALFA Network AP120C-AC"; | ||||
| 	compatible = "alfa-network,ap120c-ac"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &status; | ||||
| 		led-failsafe = &status; | ||||
| 		led-running = &status; | ||||
| 		led-upgrade = &status; | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		ethernet1 = &swport5; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		status: status { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		wan { | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			gpios = <ðphy4 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "red:wlan5g"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&i2c0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	tpm@29 { | ||||
| 		compatible = "atmel,at97sc3204t"; | ||||
| 		reg = <0x29>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm  4 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "priv_data1"; | ||||
| 				reg = <0x00180000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@190000 { | ||||
| 				label = "priv_data2"; | ||||
| 				reg = <0x00190000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand@1 { | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "rootfs1"; | ||||
| 				reg = <0x00000000 0x04000000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4000000 { | ||||
| 				label = "rootfs2"; | ||||
| 				reg = <0x04000000 0x04000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c0_pins: i2c0_pinmux { | ||||
| 		mux_i2c { | ||||
| 			function = "blsp_i2c0"; | ||||
| 			pins = "gpio58", "gpio59"; | ||||
| 			drive-strength = <16>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_mdio { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_mdc { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial0_pins: serial0_pinmux { | ||||
| 		mux_uart { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi0_pins: spi0_pinmux { | ||||
| 		mux_spi { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio4"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	phys = <&usb3_hs_phy>; | ||||
| 	phy-names = "usb2-phy"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
| @ -1,257 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2020, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik cAP ac"; | ||||
| 	compatible = "mikrotik,cap-ac"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x08000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_user; | ||||
| 		led-failsafe = &led_user; | ||||
| 		led-running = &led_user; | ||||
| 		led-upgrade = &led_user; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		mode { | ||||
| 			label = "mode"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_LIGHTS_TOGGLE>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led_user: user { | ||||
| 			label = "green:user"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		eth1 { | ||||
| 			label = "green:eth1"; | ||||
| 			gpios = <ðphy4 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		eth2 { | ||||
| 			label = "green:eth2"; | ||||
| 			gpios = <ðphy3 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <40000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				compatible = "mikrotik,minor"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x100000 0xf00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-cAP-ac"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-cAP-ac"; | ||||
| }; | ||||
| @ -1,298 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-only OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EZVIZ CS-W3-WD1200G EUP"; | ||||
| 	compatible = "ezviz,cs-w3-wd1200g-eup"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status_green; | ||||
| 		led-failsafe = &led_status_red; | ||||
| 		led-running = &led_status_blue; | ||||
| 		led-upgrade = &led_status_green; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status_red: status_red { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_green: status_green { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_blue: status_blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition1@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition2@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition3@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition4@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition5@E0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition6@F0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition7@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_art_0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_art_6: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition9@580000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x00180000 0x00e80000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <5000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cells = <&macaddr_art_0>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "wan"; | ||||
| 	nvmem-cells = <&macaddr_art_6>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
| @ -1,237 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "D-Link DAP 2610"; | ||||
| 	compatible = "dlink,dap-2610"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_red; | ||||
| 		led-failsafe = &led_red; | ||||
| 		led-running = &led_green; | ||||
| 		led-upgrade = &led_red; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_red: red { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led_green: green { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
| 			compatible = "fixed-partitions"; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@180000 { | ||||
| 				compatible = "wrg"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x180000 0xdc0000>; | ||||
| 			}; | ||||
| 			partition@fb0000 { | ||||
| 				label = "rgbd"; | ||||
| 				reg = <0xfb0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@fc0000 { | ||||
| 				label = "bdcfg"; | ||||
| 				reg = <0xfc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@fd0000 { | ||||
| 				label = "langpack"; | ||||
| 				reg = <0xfd0000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@ff0000 { | ||||
| 				label = "certificate"; | ||||
| 				reg = <0xff0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f40000 { | ||||
| 				label = "captival"; | ||||
| 				reg = <0xf40000 0x70000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "dlink,dap-2610"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "dlink,dap-2610"; | ||||
| }; | ||||
| @ -1,314 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Linksys EA6350v3"; | ||||
| 	compatible = "linksys,ea6350v3"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &power; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &power; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power: status { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-ea6350v3"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-ea6350v3"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { /* BLSP1 QUP1 */ | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			SBL1@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			MBIB@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			QSEE@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			CDT@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			APPSBLENV@d0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			APPSBL@e0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000e0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			ART@160000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00160000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			u_env@170000 { | ||||
| 				label = "u_env"; | ||||
| 				reg = <0x00170000 0x00020000>; | ||||
| 			}; | ||||
| 			s_env@190000 { | ||||
| 				label = "s_env"; | ||||
| 				reg = <0x00190000 0x00020000>; | ||||
| 			}; | ||||
| 			devinfo@1b0000 { | ||||
| 				label = "devinfo"; | ||||
| 				reg = <0x001b0000 0x00010000>; | ||||
| 			}; | ||||
| 			/* 0x001c0000 - 0x00200000 unused */ | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	flash@1 { | ||||
| 		status = "okay"; | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			kernel@0 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x00000000 0x02800000>; | ||||
| 			}; | ||||
| 			rootfs@500000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x00500000 0x02300000>; | ||||
| 			}; | ||||
| 			alt_kernel@2800000 { | ||||
| 				label = "alt_kernel"; | ||||
| 				reg = <0x02800000 0x02800000>; | ||||
| 			}; | ||||
| 			alt_rootfs@2d00000 { | ||||
| 				label = "alt_rootfs"; | ||||
| 				reg = <0x02d00000 0x02300000>; | ||||
| 			}; | ||||
| 			sysdiag@5000000 { | ||||
| 				label = "sysdiag"; | ||||
| 				reg = <0x05000000 0x00100000>; | ||||
| 			}; | ||||
| 			syscfg@5100000 { | ||||
| 				label = "syscfg"; | ||||
| 				reg = <0x05100000 0x02F00000>; | ||||
| 			}; | ||||
| 			/* 0x00000000 - 0x08000000: 128 MiB */ | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,265 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EnGenius EAP1300"; | ||||
| 	compatible = "engenius,eap1300"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &power; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &power; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power: orange { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_ORANGE>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan { | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		mesh { | ||||
| 			label = "blue:mesh"; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "blue:wlan2g"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "yellow:wlan5g"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio54", "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	m25p80@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition1@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition2@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition3@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition4@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition5@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition6@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x000f0000 0x00090000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition7@180000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00180000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			partition8@190000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x190000 0x1dc0000>; | ||||
| 			}; | ||||
| 			partition9@1f50000 { | ||||
| 				label = "u-boot-env"; | ||||
| 				reg = <0x01f50000 0x00010000>; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "u-boot,env"; | ||||
|  | ||||
| 					macaddr_ubootenv_ethaddr: ethaddr { | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			partition10@1f60000 { | ||||
| 				label = "userconfig"; | ||||
| 				reg = <0x01f60000 0x000a0000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_ubootenv_ethaddr 0>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_ubootenv_ethaddr 1>; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EAP1300"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_ubootenv_ethaddr 2>; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EAP1300"; | ||||
| }; | ||||
| @ -1,334 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Edgecore ECW5211"; | ||||
| 	compatible = "edgecore,ecw5211"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 		ethernet0 = &swport5; | ||||
| 		ethernet1 = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_YELLOW>; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_mdio { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_mdc { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi0_pins: spi0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio4"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c0_pins: i2c0_pinmux { | ||||
| 		mux_i2c { | ||||
| 			function = "blsp_i2c0"; | ||||
| 			pins = "gpio58", "gpio59"; | ||||
| 			drive-strength = <16>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; /* uboot env */ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	flash@1 { | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x00000000 0x04000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&i2c0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	tpm@29 { | ||||
| 		compatible = "atmel,at97sc3204t"; | ||||
| 		reg = <0x29>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "ALFA-Network-AP120C-AC"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	phys = <&usb3_hs_phy>; | ||||
| 	phy-names = "usb2-phy"; | ||||
| }; | ||||
| @ -1,212 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EnGenius EMD1"; | ||||
| 	compatible = "engenius,emd1"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "red:wlan2g"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "blue:wlan5g"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		mesh { | ||||
| 			label = "orange:mesh"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio54", "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition1@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition2@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition3@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition4@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition5@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition6@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition7@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition8@180000 { | ||||
| 				label = "userconfig"; | ||||
| 				reg = <0x00180000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition9@200000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x200000 0x01e00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EMD1"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EMD1"; | ||||
| }; | ||||
| @ -1,213 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EnGenius EMR3500"; | ||||
| 	compatible = "engenius,emr3500"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &power; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &power; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power: white { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		blue { | ||||
| 			label = "blue"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		red { | ||||
| 			label = "red"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		orange { | ||||
| 			label = "orange"; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio54", "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	m25p80@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@180000 { | ||||
| 				label = "userconfig"; | ||||
| 				reg = <0x00180000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@200000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x200000 0x1e00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EMR3500"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EMR3500"; | ||||
| }; | ||||
| @ -1,251 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EnGenius ENS620EXT"; | ||||
| 	compatible = "engenius,ens620ext"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &power; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &power; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
|  | ||||
| 		/* | ||||
| 		 * Disable the broken restart as a workaround for the buggy | ||||
| 		 * 3.0.0/3.0.1 U-boots that ship with the device. | ||||
| 		 * Note: The watchdog is now used to restart this device. | ||||
| 		 */ | ||||
| 		restart@4ab000 { | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	buttons { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan1 { | ||||
| 			label = "green:lan1"; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan2 { | ||||
| 			label = "green:lan2"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { /* BLSP1 QUP1 */ | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		m25p,fast-read; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env*/ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00090000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@180000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00180000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@190000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x00190000 0x14d0000>; | ||||
| 			}; | ||||
| 			partition@1660000 { | ||||
| 				label = "failsafe"; | ||||
| 				reg = <0x01660000 0x008F0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@1f50000 { | ||||
| 				label = "u-boot-env"; | ||||
| 				reg = <0x01f50000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@1f60000 { | ||||
| 				label = "userconfig"; | ||||
| 				reg = <0x01f60000 0x000a0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-ENS620EXT"; | ||||
| }; | ||||
| @ -1,31 +0,0 @@ | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2018, David Bauer <mail@david-bauer.net> | ||||
|  * | ||||
|  * 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-ipq4018-ex61x0v2.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Netgear EX6100v2"; | ||||
| 	compatible = "netgear,ex6100v2"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-EX6100v2"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-EX6100v2"; | ||||
| }; | ||||
| @ -1,31 +0,0 @@ | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2018, David Bauer <mail@david-bauer.net> | ||||
|  * | ||||
|  * 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-ipq4018-ex61x0v2.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Netgear EX6150v2"; | ||||
| 	compatible = "netgear,ex6150v2"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-EX6150v2"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-EX6150v2"; | ||||
| }; | ||||
| @ -1,350 +0,0 @@ | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2018, David Bauer <mail@david-bauer.net> | ||||
|  * | ||||
|  * 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 <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Netgear EX61X0v2"; | ||||
| 	compatible = "netgear,ex61x0v2"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power_amber; | ||||
| 		led-failsafe = &power_amber; | ||||
| 		led-running = &power_green; | ||||
| 		led-upgrade = &power_amber; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	led_spi { | ||||
| 		compatible = "spi-gpio"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		sck-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 		mosi-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		num-chipselects = <0>; | ||||
|  | ||||
| 		led_gpio: led_gpio@0 { | ||||
| 			compatible = "fairchild,74hc595"; | ||||
| 			reg = <0>; | ||||
| 			gpio-controller; | ||||
| 			#gpio-cells = <2>; | ||||
| 			registers-number = <1>; | ||||
| 			spi-max-frequency = <1000000>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power_amber: power_amber { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		power_green: power_green { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		right { | ||||
| 			label = "blue:right"; | ||||
| 			gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		left { | ||||
| 			label = "blue:left"; | ||||
| 			gpios = <&led_gpio 4 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		client_green { | ||||
| 			label = "green:client"; | ||||
| 			gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		client_red { | ||||
| 			label = "red:client"; | ||||
| 			gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		router_green { | ||||
| 			label = "green:router"; | ||||
| 			gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		router_red { | ||||
| 			label = "red:router"; | ||||
| 			gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	mx25l12805d@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <45000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition1@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition2@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition3@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition4@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition5@E0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition6@F0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition7@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition8@180000 { | ||||
| 				label = "config"; | ||||
| 				reg = <0x00180000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition9@190000 { | ||||
| 				label = "pot"; | ||||
| 				reg = <0x00190000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition10@1a0000 { | ||||
| 				label = "dnidata"; | ||||
| 				reg = <0x001a0000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_dnidata_0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_dnidata_c: macaddr@c { | ||||
| 						reg = <0xc 0x6>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition11@1b0000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x001b0000 0x00e10000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition12@fc0000 { | ||||
| 				label = "language"; | ||||
| 				reg = <0x00fc0000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_dnidata_0>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_dnidata_c>; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan"; | ||||
| }; | ||||
| @ -1,333 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "AVM FRITZ!Box 4040"; | ||||
| 	compatible = "avm,fritzbox-4040"; | ||||
|  | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &flash; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &flash; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wlan { | ||||
| 			label = "wlan"; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	switch-leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		wlan { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <ðphy0 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		panic: info_red { | ||||
| 			label = "red:info"; | ||||
| 			gpios = <ðphy0 1 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		wan { | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <ðphy1 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <ðphy2 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan { | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <ðphy3 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		flash: info_amber { | ||||
| 			label = "amber:info"; | ||||
| 			gpios = <ðphy3 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { /* BLSP1 QUP1 */ | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	/delete-property/ dmas; | ||||
| 	/delete-property/ dma-names; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		status = "okay"; | ||||
| 		m25p,fast-read; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition1@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition2@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition3@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition4@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition5@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env - empty */ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition6@f0000 { | ||||
| 				label = "urlader"; /* APPSBL */ | ||||
| 				reg = <0x000f0000 0x0002dc000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition7@11dc00 { | ||||
| 				/* make a backup of this partition! */ | ||||
| 				label = "urlader_config"; | ||||
| 				reg = <0x0011dc00 0x00002400>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition8@120000 { | ||||
| 				label = "tffs1"; | ||||
| 				reg = <0x00120000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition9@1a0000 { | ||||
| 				label = "tffs2"; | ||||
| 				reg = <0x001a0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition10@220000 { | ||||
| 				label = "uboot"; | ||||
| 				reg = <0x00220000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition11@2A0000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x002a0000 0x01c60000>; | ||||
| 			}; | ||||
| 			partition12@1f00000 { | ||||
| 				label = "jffs2"; | ||||
| 				reg = <0x01f00000 0x00100000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
|  | ||||
| 	enable-usb-power { | ||||
| 		gpio-hog; | ||||
| 		line-name = "enable USB3 power"; | ||||
| 		gpios = <1 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| ðphy2 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	gpio-controller; | ||||
| 	#gpio-cells = <2>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZBox-4040"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZBox-4040"; | ||||
| }; | ||||
| @ -1,346 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "GL.iNet GL-A1300"; | ||||
| 	compatible = "glinet,gl-a1300", "qcom,ipq4019"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_run; | ||||
| 		led-failsafe = &led_run; | ||||
| 		led-running = &led_run; | ||||
| 		led-upgrade = &led_run; | ||||
| 		label-mac-device = &swport4; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		rfkill { | ||||
| 			label = "WiFi on/off switch"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 			linux,input-type = <EV_SW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_run: blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		white { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	gpio_export { | ||||
| 		compatible = "gpio-export"; | ||||
|  | ||||
| 		usb { | ||||
| 			gpio-export,name = "usb_power"; | ||||
| 			gpio-export,output = <1>; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env*/ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "log"; | ||||
| 				reg = <0x00180000 0x00020000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x00000000 0x08000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		pinmux { | ||||
| 			pins = "gpio58", "gpio59"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi0_pins: spi0_pinmux { | ||||
| 		mux_spi { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio5"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&i2c_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0 2>; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0 0>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "GL-A1300"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "GL-A1300"; | ||||
| }; | ||||
| @ -1,310 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "GL.iNet GL-AP1300"; | ||||
| 	compatible = "glinet,gl-ap1300"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
|  | ||||
| 		wan { | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		status = "okay"; | ||||
|  | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env*/ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_art_0: mac-address@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_art_6: mac-address@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { | ||||
| 		status = "okay"; | ||||
|  | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x00000000 0x08000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi0_pins: spi0_pinmux { | ||||
| 		mux_spi { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio5"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan"; | ||||
|  | ||||
| 	nvmem-cells = <&macaddr_art_0>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "wan"; | ||||
|  | ||||
| 	nvmem-cells = <&macaddr_art_6>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "GL-AP1300"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "GL-AP1300"; | ||||
| }; | ||||
| @ -1,300 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2020, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik hAP ac2"; | ||||
| 	compatible = "mikrotik,hap-ac2"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x08000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_user; | ||||
| 		led-failsafe = &led_user; | ||||
| 		led-running = &led_user; | ||||
| 		led-upgrade = &led_user; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		mode { | ||||
| 			label = "mode"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_user: user { | ||||
| 			label = "green:user"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	enable-usb-power { | ||||
| 		gpio-hog; | ||||
| 		gpios = <2 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		line-name = "enable USB power"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <40000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					read-only; | ||||
| 					size = <0x2000>; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				compatible = "mikrotik,minor"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x100000 0xf00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	phys = <&usb3_hs_phy>; | ||||
| 	phy-names = "usb2-phy"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy2 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-hAP-ac2"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-hAP-ac2"; | ||||
| }; | ||||
| @ -1,9 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2018, Robert Marko <robimarko@gmail.com> | ||||
|  | ||||
| #include "qcom-ipq4018-jalapeno.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "8devices Jalapeno"; | ||||
| 	compatible = "8dev,jalapeno"; | ||||
| }; | ||||
| @ -1,280 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2018, Robert Marko <robimarko@gmail.com> | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		ethernet1 = &swport5; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		pinmux_1 { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_2 { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 		}; | ||||
|  | ||||
| 		pinconf { | ||||
| 			pins = "gpio52", "gpio53"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		status = "okay"; | ||||
|  | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env*/ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { | ||||
| 		status = "okay"; | ||||
|  | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x00000000 0x08000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "8devices-Jalapeno"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "8devices-Jalapeno"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,262 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "devolo Magic 2 WiFi next"; | ||||
| 	compatible = "devolo,magic-2-wifi-next"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		gpio_export { | ||||
| 			compatible = "gpio-export"; | ||||
|  | ||||
| 			plc { | ||||
| 				gpio-export,name = "plc-enable"; | ||||
| 				gpio-export,output = <1>; | ||||
| 				gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wlan { | ||||
| 			label = "WLAN"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "Reset"; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		status_dlan { | ||||
| 			label = "white:dlan"; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		status_wlan { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		error_dlan { | ||||
| 			label = "red:dlan"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio61", "gpio60"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	button_pins: button_pinmux { | ||||
| 		mux { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio0", "gpio5"; | ||||
| 			bias-disable; | ||||
| 			input; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "devolo,magic-2-wifi-next"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "devolo,magic-2-wifi-next"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		linux,modalias = "n25q128a11"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env*/ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			firmware@180000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x00180000 0x01a80000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "ghn"; | ||||
| }; | ||||
| @ -1,84 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2019, CRISIS INNOVATION LAB d.o.o. | ||||
|  * Author: Robert Marko <robert@meshpoint.me> | ||||
|  */ | ||||
|  | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| #include "qcom-ipq4018-jalapeno.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Crisis Innovation Lab MeshPoint.One"; | ||||
| 	compatible = "cilab,meshpoint-one"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_status; | ||||
| 		led-failsafe = &led_status; | ||||
| 		led-running = &led_status; | ||||
| 		led-upgrade = &led_status; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		i2c-gpio { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | ||||
| 			compatible = "i2c-gpio"; | ||||
| 			gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* sda */ | ||||
| 					 &tlmm 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN) /* scl */ | ||||
| 					>; | ||||
|  | ||||
| 			bme280@76 { | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				compatible = "bosch,bme280"; | ||||
| 				reg = <0x76>; | ||||
| 			}; | ||||
|  | ||||
| 			pcf2129@51 { | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				compatible = "nxp,pcf2129"; | ||||
| 				reg = <0x51>; | ||||
| 			}; | ||||
|  | ||||
| 			ina230@40 { | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				compatible = "ti,ina230"; | ||||
| 				reg = <0x40>; | ||||
| 				shunt-resistor = <2000>; | ||||
| 			}; | ||||
|  | ||||
| 			ina230@44 { | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				compatible = "ti,ina230"; | ||||
| 				reg = <0x44>; | ||||
| 				shunt-resistor = <2000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART >; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status: status { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,229 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. | ||||
| // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> | ||||
|  | ||||
| #include "qcom-ipq4018-mf287_common.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF287"; | ||||
| 	compatible = "zte,mf287"; | ||||
| }; | ||||
|  | ||||
| &gpio_modem_reset { | ||||
| 	gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| }; | ||||
|  | ||||
| &key_reset { | ||||
| 	gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &key_wps { | ||||
| 	gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &led_status { | ||||
| 	gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 59 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { /* flash@1 ? */ | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0x140000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@140000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x140000 0x140000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@280000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x280000 0x140000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_mac_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3c0000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x3c0000 0x600000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@9c0000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0x9c0000 0x140000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0xb00000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1300000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1300000 0x2200000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x3200000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	zigbee@2 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		compatible = "silabs,em3581"; | ||||
| 		reg = <2>; | ||||
| 		spi-max-frequency = <12000000>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59", "gpio1"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf287"; | ||||
| }; | ||||
|  | ||||
| &wifi1{ | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf287"; | ||||
| }; | ||||
| @ -1,185 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. | ||||
| // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status; | ||||
| 		led-failsafe = &led_status; | ||||
| 		led-running = &led_status; | ||||
| 		led-upgrade = &led_status; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		/* | ||||
| 		 * bootargs forced by u-boot bootipq command: | ||||
| 		 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait' | ||||
| 		 */ | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status: led-0 { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	gpio_export { | ||||
| 		compatible = "gpio-export"; | ||||
|  | ||||
| 		gpio_modem_reset: modem { | ||||
| 			gpio-export,name = "modem-reset"; | ||||
| 			gpio-export,output = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		key_reset: key-reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		key_wps: key-wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_mac_0 2>; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0 0>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0 1>; | ||||
| }; | ||||
| @ -1,229 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. | ||||
| // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> | ||||
|  | ||||
| #include "qcom-ipq4018-mf287_common.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF287Plus"; | ||||
| 	compatible = "zte,mf287plus"; | ||||
| }; | ||||
|  | ||||
| &gpio_modem_reset { | ||||
| 	gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| }; | ||||
|  | ||||
| &key_reset { | ||||
| 	gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &key_wps { | ||||
| 	gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &led_status { | ||||
| 	gpios = <&tlmm 0 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 59 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { /* flash@1 ? */ | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0x140000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@140000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x140000 0x140000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@280000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x280000 0x140000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_mac_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3c0000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x3c0000 0x600000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@9c0000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0x9c0000 0x140000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0xb00000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1300000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1300000 0x2200000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x3200000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	zigbee@2 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		compatible = "silabs,em3581"; | ||||
| 		reg = <2>; | ||||
| 		spi-max-frequency = <12000000>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59", "gpio1"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf287plus"; | ||||
| }; | ||||
|  | ||||
| &wifi1{ | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf287plus"; | ||||
| }; | ||||
| @ -1,276 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. | ||||
| // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> | ||||
|  | ||||
| #include "qcom-ipq4018-mf287_common.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF287Pro"; | ||||
| 	compatible = "zte,mf287pro"; | ||||
|  | ||||
| 	regulator-usb-vbus { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "USB_VBUS"; | ||||
| 		regulator-min-microvolt = <5000000>; | ||||
| 		regulator-max-microvolt = <5000000>; | ||||
| 		regulator-always-on; | ||||
| 		regulator-boot-on; | ||||
| 		gpios = <&tlmm 25 GPIO_ACTIVE_LOW>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &gpio_modem_reset { | ||||
| 	gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; | ||||
| }; | ||||
|  | ||||
| &key_reset { | ||||
| 	gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &key_wps { | ||||
| 	gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &led_status { | ||||
| 	gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>, | ||||
| 				<&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { /* flash@1 ? */ | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a0000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0xa0000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@120000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x120000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_mac_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1a0000 { | ||||
| 				label = "reserved2"; | ||||
| 				reg = <0x1a0000 0xc0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@260000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x260000 0x400000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@660000 { | ||||
| 				label = "log"; | ||||
| 				reg = <0x660000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a60000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0xa60000 0xa0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "reserved3"; | ||||
| 				reg = <0xb00000 0x500000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1000000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0x1000000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1800000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1800000 0x1d00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x3200000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio12", "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12", "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| /* The MF287Plus and MF287Pro share the same board data file */ | ||||
| &wifi0 { | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf287plus"; | ||||
| }; | ||||
|  | ||||
| /* The MF287Plus and MF287Pro share the same board data file */ | ||||
| &wifi1{ | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf287plus"; | ||||
| }; | ||||
| @ -1,367 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/input/linux-event-codes.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Zyxel NBG6617"; | ||||
| 	compatible = "zyxel,nbg6617"; | ||||
|  | ||||
| 	chosen { | ||||
| 		/* | ||||
| 		 * the vendor u-boot adds root and mtdparts cmdline parameters | ||||
| 		 * which we don't want... but we have to overwrite them or else | ||||
| 		 * the kernel will take them at face value. | ||||
| 		 */ | ||||
| 		bootargs-append = " mtdparts= root=31:13"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &power; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &power; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wlan { | ||||
| 			label = "wlan"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 			linux,input-type = <EV_SW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-0 = <&led_pins>; | ||||
| 		pinctrl-names = "default"; | ||||
|  | ||||
| 		power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		usb { | ||||
| 			function = LED_FUNCTION_USB; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>; | ||||
| 			linux,default-trigger = "usbport"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-low; | ||||
| 		}; | ||||
| 	}; | ||||
| 	led_pins: led_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58"; | ||||
| 			drive-strength = <0x8>; | ||||
| 			bias-disable; | ||||
| 			output-low; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { /* BLSP1 QUP1 */ | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		status = "okay"; | ||||
| 		m25p,fast-read; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition1@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition2@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition3@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition4@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition5@e0000 { | ||||
| 				label = "APPSBL"; /* u-boot */ | ||||
| 				reg = <0x000e0000 0x00080000>; | ||||
| 				/* U-Boot Standalone App "zloader" is located at 0x64000 */ | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition6@160000 { | ||||
| 				label = "APPSBLENV"; /* u-boot env */ | ||||
| 				reg = <0x00160000 0x00010000>; | ||||
| 			}; | ||||
| 			partition7@170000 { | ||||
| 				/* make a backup of this partition! */ | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition8@180000 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x00180000 0x00400000>; | ||||
| 			}; | ||||
| 			partition9@580000 { | ||||
| 				label = "dualflag"; | ||||
| 				reg = <0x00580000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition10@590000 { | ||||
| 				label = "header"; | ||||
| 				reg = <0x00590000 0x00010000>; | ||||
| 			}; | ||||
| 			partition11@5a0000 { | ||||
| 				label = "romd"; | ||||
| 				reg = <0x005a0000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition12@6a0000 { | ||||
| 				label = "not_root_data"; | ||||
| 				/* | ||||
| 				 * for some strange reason, someone at Zyxel | ||||
| 				 * had the "great" idea to put the rootfs_data | ||||
| 				 * in front of rootfs... Don't do that! | ||||
| 				 * As a result this one, full MebiByte remains | ||||
| 				 * unused. | ||||
| 				 */ | ||||
| 				reg = <0x006a0000 0x00100000>; | ||||
| 			}; | ||||
| 			partition13@7a0000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x007a0000 0x01860000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ZyXEL-NBG6617"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ZyXEL-NBG6617"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	usb@6000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		usb2_port1: port@1 { | ||||
| 			reg = <1>; | ||||
| 			#trigger-source-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,234 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2017-2020, Sven Eckelmann <sven@narfation.org> | ||||
|  * Copyright (c) 2018, Marek Lindner <marek.lindner@kaiwoo.ai> | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Plasma Cloud PA1200"; | ||||
| 	compatible = "plasmacloud,pa1200"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status_purple; | ||||
| 		led-failsafe = &led_status_yellow; | ||||
| 		led-running = &led_status_cyan; | ||||
| 		led-upgrade = &led_status_yellow; | ||||
| 		label-mac-device = &swport5; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status_cyan: status_cyan { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_CYAN>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_purple: status_purple { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_PURPLE>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_yellow: status_yellow { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_YELLOW>; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		/* partitions are passed via bootloader */ | ||||
| 		partitions { | ||||
| 			partition-art { | ||||
| 				label = "0:ART"; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet2"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet1"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200"; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "PlasmaCloud-PA1200"; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
| @ -1,372 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ASUS RT-AC58U"; | ||||
| 	compatible = "asus,rt-ac58u"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x8000000>; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 		label-mac-device = &swport5; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power: led-0 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 			/* | ||||
| 			 * linux,default-trigger = "90000.mdio-1:04:link"; | ||||
| 			 * sadly still lacks rx+tx | ||||
| 			 */ | ||||
| 		}; | ||||
|  | ||||
| 		led-2 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <2>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-3 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <5>; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-4 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_USB; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			trigger-sources = <&usb3_port1>, <&usb3_port2>; | ||||
| 			linux,default-trigger = "usbport"; | ||||
| 		}; | ||||
|  | ||||
| 		led-5 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { /* BLSP1 QUP1 */ | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		/* | ||||
| 		 * U-boot looks for "n25q128a11" node, | ||||
| 		 * if we don't have it, it will spit out the following warning: | ||||
| 		 * "ipq: fdt fixup unable to find compatible node". | ||||
| 		 */ | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		linux,modalias = "m25p80", "mx25l1606e", "n25q128a11"; | ||||
| 		spi-max-frequency = <30000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env*/ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			/* 0x00180000 - 0x00200000 unused */ | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <30000000>; | ||||
|  | ||||
| 		/* | ||||
| 		 * U-boot looks for "spinand,mt29f" node, | ||||
| 		 * if we don't have it, it will spit out the following warning: | ||||
| 		 * "ipq: fdt fixup unable to find compatible node". | ||||
| 		 */ | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				compatible = "linux,ubi"; | ||||
| 				reg = <0x00000000 0x08000000>; | ||||
| 				label = "ubi"; | ||||
|  | ||||
| 				volumes { | ||||
| 					ubi_factory: ubi-volume-factory { | ||||
| 						volname = "Factory"; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &ubi_factory { | ||||
| 	nvmem-layout { | ||||
| 		compatible = "fixed-layout"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
|  | ||||
| 		precal_factory_1000: precal@1000 { | ||||
| 			reg = <0x1000 0x2f20>; | ||||
| 		}; | ||||
|  | ||||
| 		macaddr_factory_1006: macaddr@1006 { | ||||
| 			reg = <0x1006 0x6>; | ||||
| 		}; | ||||
|  | ||||
| 		precal_factory_5000: precal@5000 { | ||||
| 			reg = <0x5000 0x2f20>; | ||||
| 		}; | ||||
|  | ||||
| 		macaddr_factory_5006: macaddr@5006 { | ||||
| 			reg = <0x5006 0x6>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cells = <&macaddr_factory_5006>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cells = <&macaddr_factory_1006>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_factory_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "RT-AC58U"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_factory_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "RT-AC58U"; | ||||
| }; | ||||
| @ -1,324 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
|  | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		serial0 = &blsp1_uart1; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
|  | ||||
| 		keys { | ||||
| 			compatible = "gpio-keys"; | ||||
|  | ||||
| 			reset { | ||||
| 				label = "reset"; | ||||
| 				gpios = <&tlmm 4 1>; | ||||
| 				linux,code = <KEY_RESTART>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 		}; | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 		}; | ||||
| 		pinconf { | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pinconf_cs { | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio58", "gpio59"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 0>, <&tlmm 63 0>; | ||||
| 	num-cs = <2>; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	xt25f128b@0 { | ||||
| 		/* | ||||
| 		 * Factory U-boot looks in 0:BOOTCONFIG partition for active | ||||
| 		 * partitions settings and mangles the partition config so | ||||
| 		 * 0:QSEE/0:QSEE_1, 0:CDT/0:CDT_1 and  0:APPSBL/0:APPSBL_1 pairs | ||||
| 		 * can be swaped. It isn't a problem but we never can be sure where | ||||
| 		 * OFW put factory images. "n25q128a11" is required for proper nor | ||||
| 		 * recognition in u-boot. | ||||
| 		 */ | ||||
| 		compatible = "jedec,spi-nor", "n25q128a11"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:BOOTCONFIG"; | ||||
| 				reg = <0x60000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				label = "0:BOOTCONFIG1"; | ||||
| 				reg = <0x80000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a0000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0xa0000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "0:QSEE_1"; | ||||
| 				reg = <0x100000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@160000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x160000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "0:CDT_1"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x180000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@190000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x190000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1a0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x1a0000 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@240000 { | ||||
| 				label = "0:APPSBL_1"; | ||||
| 				reg = <0x240000 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@2e0000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x2e0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			config: partition@2f0000 { | ||||
| 				label = "0:CONFIG"; | ||||
| 				reg = <0x2f0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@300000 { | ||||
| 				label = "0:CONFIG_RW"; | ||||
| 				reg = <0x300000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@310000 { | ||||
| 				label = "0:EVENTSLOG"; | ||||
| 				reg = <0x310000 0x90000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	xt26g02a@1 { | ||||
| 		/* | ||||
| 		 * Factory U-boot looks in 0:BOOTCONFIG partition for active | ||||
| 		 * partitions settings and mangles the partition config so | ||||
| 		 * rootfs/rootfs_1 pairs can be swaped. | ||||
| 		 * It isn't a problem but we never can be sure where OFW put | ||||
| 		 * factory images. "spinand,mt29f" value is required for proper | ||||
| 		 * nand recognition in u-boot. | ||||
| 		 */ | ||||
| 		compatible = "spi-nand", "spinand,mt29f"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "rootfs_1"; | ||||
| 				reg = <0x00000000 0x08000000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@8000000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x08000000 0x08000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	phy-reset-gpio = <&tlmm 62 0>; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,72 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4018-rutx.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Teltonika RUTX10"; | ||||
| 	compatible = "teltonika,rutx10"; | ||||
|  | ||||
| 	soc { | ||||
| 		leds { | ||||
| 			compatible = "gpio-leds"; | ||||
|  | ||||
| 			wifi2g { | ||||
| 				label = "green:wifi2g"; | ||||
| 				gpios = <&stm32_io 19 GPIO_ACTIVE_HIGH>; | ||||
| 				linux,default-trigger = "phy0tpt"; | ||||
| 			}; | ||||
|  | ||||
| 			wifi5g { | ||||
| 				label = "green:wifi5g"; | ||||
| 				gpios = <&stm32_io 18 GPIO_ACTIVE_HIGH>; | ||||
| 				linux,default-trigger = "phy1tpt"; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		gpio_export { | ||||
| 			compatible = "gpio-export"; | ||||
|  | ||||
| 			gpio_out { | ||||
| 				gpio-export,name = "gpio_out"; | ||||
| 				gpio-export,output = <0>; | ||||
| 				gpio-export,direction_may_change = <0>; | ||||
| 				gpios = <&stm32_io 23 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			gpio_in { | ||||
| 				gpio-export,name = "gpio_in"; | ||||
| 				gpio-export,input = <0>; | ||||
| 				gpio-export,direction_may_change = <0>; | ||||
| 				gpios = <&stm32_io 24 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&i2c_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	clock-frequency = <400000>; | ||||
|  | ||||
| 	stm32_io: stm32@74 { | ||||
| 		compatible = "tlt,stm32v1"; | ||||
| 		#gpio-cells = <2>; | ||||
| 		#interrupt-cells = <2>; | ||||
| 		gpio-controller; | ||||
| 		interrupt-controller; | ||||
| 		interrupt-parent = <&tlmm>; | ||||
| 		interrupts = <5 2>; | ||||
| 		reg = <0x74>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "Teltonika-RUTX10"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "Teltonika-RUTX10"; | ||||
| }; | ||||
| @ -1,184 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4018-rutx.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Teltonika RUTX50"; | ||||
| 	compatible = "teltonika,rutx50"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_rssi0; | ||||
| 		led-failsafe = &led_rssi0; | ||||
| 		led-running = &led_rssi0; | ||||
| 		led-upgrade = &led_rssi0; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		gpio-export { | ||||
| 			compatible = "gpio-export"; | ||||
|  | ||||
| 			gpio_modem_reset { | ||||
| 				gpio-export,name = "modem_reset"; | ||||
| 				gpio-export,output = <0>; | ||||
| 				gpios = <&shift_io 8 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			gpio_modem_power { | ||||
| 				gpio-export,name = "modem_power"; | ||||
| 				gpio-export,output = <1>; | ||||
| 				gpios = <&shift_io 9 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			gpio_out_1 { | ||||
| 				gpio-export,name = "sim-select"; | ||||
| 				/* 0 = SIM1 ; 1 = SIM2 */ | ||||
| 				gpio-export,output = <0>; | ||||
| 				gpios = <&shift_io 10 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			gpio_in_1 { | ||||
| 				gpio-export,name = "sim-detect"; | ||||
| 				gpio-export,input = <0>; | ||||
| 				gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		leds { | ||||
| 			compatible = "gpio-leds"; | ||||
|  | ||||
| 			led-0 { | ||||
| 				label = "green:sim1"; | ||||
| 				gpios = <&shift_io 14 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-1 { | ||||
| 				label = "green:sim2"; | ||||
| 				gpios = <&shift_io 15 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-2 { | ||||
| 				label = "green:eth"; | ||||
| 				gpios = <&shift_io 6 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-3 { | ||||
| 				label = "green:wifi"; | ||||
| 				gpios = <&shift_io 7 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-4 { | ||||
| 				label = "green:3g"; | ||||
| 				gpios = <&shift_io 5 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-5 { | ||||
| 				label = "green:4g"; | ||||
| 				gpios = <&shift_io 4 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-6 { | ||||
| 				label = "green:5g"; | ||||
| 				gpios = <&shift_io 3 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led_rssi0: led-7 { | ||||
| 				label = "green:rssi0"; | ||||
| 				gpios = <&shift_io 0 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-8 { | ||||
| 				label = "green:rssi1"; | ||||
| 				gpios = <&shift_io 1 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-9 { | ||||
| 				label = "green:rssi2"; | ||||
| 				gpios = <&shift_io 2 GPIO_ACTIVE_HIGH>; | ||||
| 			}; | ||||
|  | ||||
| 			led-10 { | ||||
| 				label = "green:wifi2g"; | ||||
| 				gpios = <&shift_io 12 GPIO_ACTIVE_HIGH>; | ||||
| 				linux,default-trigger = "phy0tpt"; | ||||
| 			}; | ||||
|  | ||||
| 			led-11 { | ||||
| 				label = "green:wifi5g"; | ||||
| 				gpios = <&shift_io 13 GPIO_ACTIVE_HIGH>; | ||||
| 				linux,default-trigger = "phy1tpt"; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		spi-gpio { | ||||
| 			compatible = "spi-gpio"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | ||||
| 			gpio-sck = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 			gpio-mosi = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			cs-gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 			num-chipselects = <1>; | ||||
|  | ||||
| 			shift_io: shift_io@0 { | ||||
| 				compatible = "fairchild,74hc595"; | ||||
| 				reg = <0>; | ||||
| 				gpio-controller; | ||||
| 				#gpio-cells = <2>; | ||||
| 				/* Attn: This is specific to RUTX50 in Teltonika GPL */ | ||||
| 				registers-number = <2>; | ||||
| 				spi-max-frequency = <10000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "Teltonika-RUTX10"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "Teltonika-RUTX10"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "wan"; | ||||
| }; | ||||
| @ -1,239 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2020, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik SXTsq 5 ac (RBSXTsqG-5acD)"; | ||||
| 	compatible = "mikrotik,sxtsq-5-ac"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_user; | ||||
| 		led-failsafe = &led_user; | ||||
| 		led-running = &led_user; | ||||
| 		led-upgrade = &led_user; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		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_RGMII4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1957000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1957000 0x100>; | ||||
| 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_user: user { | ||||
| 			label = "green:user"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		rssilow { | ||||
| 			label = "green:rssilow"; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		rssimediumlow { | ||||
| 			label = "green:rssimediumlow"; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		rssimedium { | ||||
| 			label = "green:rssimedium"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		rssimediumhigh { | ||||
| 			label = "green:rssimediumhigh"; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		rssihigh { | ||||
| 			label = "green:rssihigh"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <40000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				compatible = "mikrotik,minor"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x100000 0xf00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-SXTsq-5-ac"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	/delete-property/ psgmii-ethphy; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| 	phy-mode = "rgmii"; | ||||
| }; | ||||
| @ -1,383 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2020, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Netgear WAC510"; | ||||
| 	compatible = "netgear,wac510"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_power_amber; | ||||
| 		led-failsafe = &led_power_amber; | ||||
| 		led-running = &led_power_green; | ||||
| 		led-upgrade = &led_power_amber; | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		ethernet1 = &swport5; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	led_spi { | ||||
| 		compatible = "spi-gpio"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		sck-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 		mosi-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		num-chipselects = <0>; | ||||
|  | ||||
| 		ssr: ssr@0 { | ||||
| 			compatible = "fairchild,74hc595"; | ||||
| 			reg = <0>; | ||||
| 			gpio-controller; | ||||
| 			#gpio-cells = <2>; | ||||
| 			registers-number = <1>; | ||||
| 			spi-max-frequency = <1000000>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power_amber: led-0 { | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			gpios = <&ssr 6 GPIO_ACTIVE_LOW>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_power_green: led-1 { | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			gpios = <&ssr 5 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-2 { | ||||
| 			/* 2.4GHz blue - activity */ | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <0>; | ||||
| 			gpios = <&ssr 4 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-3 { | ||||
| 			/* 2.4GHz green - link */ | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <0>; | ||||
| 			gpios = <&ssr 3 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0radio"; | ||||
| 		}; | ||||
|  | ||||
| 		led-4 { | ||||
| 			/* 5GHz blue - activity */ | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <1>; | ||||
| 			gpios = <&ssr 2 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-5 { | ||||
| 			/* 5GHz green - link */ | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <1>; | ||||
| 			gpios = <&ssr 1 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1radio"; | ||||
| 		}; | ||||
|  | ||||
| 		led-6 { | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_ACTIVITY; | ||||
| 			gpios = <&ssr 0 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <50000000>; | ||||
| 		reg = <0>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x000f0000 0x000f0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1e0000 { | ||||
| 				label = "0:MANUDATA"; | ||||
| 				reg = <0x001e0000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_manudata_6: macaddr@6 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x6 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1f0000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x001f0000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand@1 { | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <48000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x00000000 0x03800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3800000 { | ||||
| 				label = "rootfs_1"; | ||||
| 				reg = <0x03800000 0x03800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@7000000 { | ||||
| 				label = "var_config"; | ||||
| 				reg = <0x07000000 0x00f00000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@7f00000 { | ||||
| 				label = "Oops_log"; | ||||
| 				reg = <0x07f00000 0x000c0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_manudata_6 0>; | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-WAC510"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_manudata_6 16>; | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-WAC510"; | ||||
| }; | ||||
| @ -1,41 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2022, Alexander Couzens <lynxis@fe80.eu> */ | ||||
|  | ||||
| #include "qcom-ipq4018-wap-ac.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik wAP ac LTE"; | ||||
| 	compatible = "mikrotik,wap-ac-lte"; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	enable-usb-power { | ||||
| 		gpio-hog; | ||||
| 		gpios = <2 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		line-name = "enable USB power"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	phys = <&usb3_hs_phy>; | ||||
| 	phy-names = "usb2-phy"; | ||||
| }; | ||||
| @ -1,9 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2020, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4018-wap-ac.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik wAP ac"; | ||||
| 	compatible = "mikrotik,wap-ac"; | ||||
| }; | ||||
| @ -1,219 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2020, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x08000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_user; | ||||
| 		led-failsafe = &led_user; | ||||
| 		led-running = &led_user; | ||||
| 		led-upgrade = &led_user; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led_user: user { | ||||
| 			label = "green:user"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <40000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					read-only; | ||||
| 					size = <0x2000>; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				compatible = "mikrotik,minor"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x100000 0xf00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "sw-eth2"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "sw-eth1"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-wAP-ac"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-wAP-ac"; | ||||
| }; | ||||
| @ -1,41 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2022, Alexander Couzens <lynxis@fe80.eu> */ | ||||
|  | ||||
| #include "qcom-ipq4018-wap-ac.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik wAP R ac"; | ||||
| 	compatible = "mikrotik,wap-r-ac"; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	enable-usb-power { | ||||
| 		gpio-hog; | ||||
| 		gpios = <2 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		line-name = "enable USB power"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	phys = <&usb3_hs_phy>; | ||||
| 	phy-names = "usb2-phy"; | ||||
| }; | ||||
| @ -1,340 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Linksys WHW01"; | ||||
| 	compatible = "linksys,whw01"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		serial0 = &blsp1_uart1; | ||||
| 		led-boot = &led_system_blue; | ||||
| 		led-running = &led_system_blue; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 		bootargs-append = " root=/dev/ubiblock0_0"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		keys { | ||||
| 			compatible = "gpio-keys"; | ||||
|  | ||||
| 			reset { | ||||
| 				label = "reset"; | ||||
| 				gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 				linux,code = <KEY_RESTART>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		ess_tcsr@1953000 { | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&i2c_0_pins>; | ||||
| 	pinctrl-1 = <&i2c_0_pins>; | ||||
| 	pinctrl-names = "i2c_active", "i2c_sleep"; | ||||
|  | ||||
| 	leds@62 { | ||||
| 		compatible = "nxp,pca9633"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		reg = <0x62>; | ||||
|  | ||||
| 		/* RGB? */ | ||||
| 		led@0 { | ||||
| 			reg = <0>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
|  | ||||
| 		led@1 { | ||||
| 			reg = <1>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
|  | ||||
| 		led_system_blue: led@2 { | ||||
| 			reg = <2>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	nor@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0xd0000 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "u_env"; | ||||
| 				reg = <0x180000 0x40000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1c0000 { | ||||
| 				label = "s_env"; | ||||
| 				reg = <0x1c0000 0x20000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1e0000 { | ||||
| 				label = "devinfo"; | ||||
| 				reg = <0x1e0000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand@1 { | ||||
| 		reg = <1>; | ||||
| 		compatible = "spi-nand"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x0000000 0x5000000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@600000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x0600000 0x4a00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@5000000 { | ||||
| 				label = "alt_kernel"; | ||||
| 				reg = <0x5000000 0x5000000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@5600000 { | ||||
| 				label = "alt_rootfs"; | ||||
| 				reg = <0x5600000 0x4a00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a000000 { | ||||
| 				label = "sysdiag"; | ||||
| 				reg = <0xa000000 0x0200000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a200000 { | ||||
| 				label = "syscfg"; | ||||
| 				reg = <0xa200000 0x5e00000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	phy-reset-gpio = <&tlmm 62 GPIO_ACTIVE_HIGH>; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_mdio { | ||||
| 			pins = "gpio53"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_mdc { | ||||
| 			pins = "gpio52"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio4"; | ||||
| 		}; | ||||
|  | ||||
| 		pinconf { | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinconf_cs { | ||||
| 			pins = "gpio54", "gpio4"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_i2c0"; | ||||
| 			pins = "gpio58", "gpio59"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	reset_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio63"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-whw01-v1"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-whw01-v1"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "eth1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "eth2"; | ||||
| }; | ||||
| @ -1,291 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Pakedge WR-1"; | ||||
| 	compatible = "pakedge,wr-1"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		label-mac-device = &gmac; | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
| 		pinctrl-0 = <&key_pins>; | ||||
| 		pinctrl-names = "default"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-0 = <&led_pins>; | ||||
| 		pinctrl-names = "default"; | ||||
|  | ||||
| 		led_power: power { | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_LOW>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0000000 0x0040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x0040000 0x0020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x0060000 0x0060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x00c0000 0x0010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x00d0000 0x0010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x00e0000 0x0010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x00f0000 0x0080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x0170000 0x0010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x0180000 0x1e80000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	key_pins: key_pinmux { | ||||
| 		mux { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio59"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	led_pins: led_pinmux { | ||||
| 		mux { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio0", "gpio1", "gpio2"; | ||||
| 			bias-none; | ||||
| 			drive-strength = <2>; | ||||
| 			output-low; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_uart0"; | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			bias-disable; | ||||
| 			drive-strength = <12>; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			bias-disable; | ||||
| 			drive-strength = <2>; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "Pakedge-WR-1"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "Pakedge-WR-1"; | ||||
| }; | ||||
| @ -1,255 +0,0 @@ | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2018, David Bauer <mail@david-bauer.net> | ||||
|  * | ||||
|  * 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 <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Zyxel WRE6606"; | ||||
| 	compatible = "zyxel,wre6606"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &power; | ||||
| 		led-failsafe = &power; | ||||
| 		led-running = &power; | ||||
| 		led-upgrade = &power; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " mtdparts="; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		wps { | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g_green { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g_red { | ||||
| 			label = "red:wlan5g"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g_red { | ||||
| 			label = "red:wlan2g"; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g_green { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pin { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pin_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	mx25l12805d@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition1@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition2@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition3@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition4@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition5@E0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition6@F0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition7@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition8@180000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x00180000 0x00ce0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition9@e60000 { | ||||
| 				label = "manufacture"; | ||||
| 				reg = <0x00e60000 0x00050000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition10@eb0000 { | ||||
| 				label = "storage"; | ||||
| 				reg = <0x00eb0000 0x00150000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ZyXEL-WRE6606"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ZyXEL-WRE6606"; | ||||
| }; | ||||
| @ -1,310 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Luma Home WRTQ-329ACN"; | ||||
| 	compatible = "luma,wrtq-329acn"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	i2c-gpio { | ||||
| 		compatible = "i2c-gpio"; | ||||
| 		sda-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; | ||||
| 		scl-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		/* No driver exists */ | ||||
| 		led_ring@48 { | ||||
| 			compatible = "ti,msp430"; | ||||
| 			reg = <0x48>; | ||||
| 		}; | ||||
|  | ||||
| 		eeprom@50 { | ||||
| 			compatible = "atmel,24c16"; | ||||
| 			reg = <0x50>; | ||||
| 			pagesize = <16>; | ||||
| 			read-only; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
| 	pinctrl-0 = <&spi0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x000000 0x040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x040000 0x020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x060000 0x060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x0c0000 0x010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x0d0000 0x010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x0e0000 0x010000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x0f0000 0x080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x170000 0x010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_art_0: macaddr@0{ | ||||
| 						reg = <0x0000 0x0006>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_art_6: macaddr@6{ | ||||
| 						reg = <0x0006 0x0006>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	flash@1 { | ||||
| 		status = "okay"; | ||||
|  | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x0000000 0x8000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_art_6>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_art_0>; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial0_pins: serial0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_uart0"; | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi0_pins: spi0_pinmux { | ||||
| 		mux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			bias-disable; | ||||
| 			drive-strength = <12>; | ||||
| 		}; | ||||
|  | ||||
| 		mux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59"; | ||||
| 			bias-disable; | ||||
| 			drive-strength = <2>; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "Luma-WRTQ-329ACN"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "Luma-WRTQ-329ACN"; | ||||
| }; | ||||
| @ -1,278 +0,0 @@ | ||||
| // SPDX-License-Identifier: ISC | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2017-2018, Sven Eckelmann <sven.eckelmann@openmesh.com> | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "OpenMesh A62"; | ||||
| 	compatible = "openmesh,a62"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART >; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status_green; | ||||
| 		led-failsafe = &led_status_green; | ||||
| 		led-running = &led_status_green; | ||||
| 		led-upgrade = &led_status_green; | ||||
| 		label-mac-device = &swport4; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		status_red { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_green: status_green { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		status_blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	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; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &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"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		/* partitions are passed via bootloader */ | ||||
| 		partitions { | ||||
| 			partition-art { | ||||
| 				label = "0:ART"; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_9000: precal@9000 { | ||||
| 						reg = <0x9000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			qcom,ath10k-calibration-variant = "OM-A62"; | ||||
| 			ieee80211-freq-limit = <5170000 5350000>; | ||||
|  | ||||
| 			nvmem-cell-names = "pre-calibration"; | ||||
| 			nvmem-cells = <&precal_art_9000>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet1"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet2"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "OM-A62"; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "OM-A62"; | ||||
| 	ieee80211-freq-limit = <5470000 5875000>; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
| @ -1,399 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "MobiPromo CM520-79F"; | ||||
| 	compatible = "mobipromo,cm520-79f"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_sys; | ||||
| 		led-failsafe = &led_sys; | ||||
| 		led-running = &led_sys; | ||||
| 		led-upgrade = &led_sys; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " ubi.block=0,1 root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	led_spi { | ||||
| 		compatible = "spi-gpio"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		sck-gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; | ||||
| 		mosi-gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; | ||||
| 		num-chipselects = <0>; | ||||
|  | ||||
| 		led_gpio: led_gpio@0 { | ||||
| 			compatible = "fairchild,74hc595"; | ||||
| 			reg = <0>; | ||||
| 			gpio-controller; | ||||
| 			#gpio-cells = <2>; | ||||
| 			registers-number = <1>; | ||||
| 			spi-max-frequency = <1000000>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		usb { | ||||
| 			function = LED_FUNCTION_USB; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "usbport"; | ||||
| 			trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>; | ||||
| 		}; | ||||
|  | ||||
| 		led_sys: can { | ||||
| 			label = "blue:can"; | ||||
| 			gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wan { | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan1 { | ||||
| 			label = "blue:lan1"; | ||||
| 			gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan2 { | ||||
| 			label = "blue:lan2"; | ||||
| 			gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "blue:wlan2g"; | ||||
| 			gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "blue:wlan5g"; | ||||
| 			gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x100000 0x100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@200000 { | ||||
| 				label = "BOOTCONFIG"; | ||||
| 				reg = <0x200000 0x100000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@300000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x300000 0x100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@400000 { | ||||
| 				label = "QSEE_1"; | ||||
| 				reg = <0x400000 0x100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@500000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x500000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@580000 { | ||||
| 				label = "CDT_1"; | ||||
| 				reg = <0x580000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@600000 { | ||||
| 				label = "BOOTCONFIG1"; | ||||
| 				reg = <0x600000 0x80000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@680000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x680000 0x80000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@700000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x700000 0x200000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@900000 { | ||||
| 				label = "APPSBL_1"; | ||||
| 				reg = <0x900000 0x200000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			art: partition@b00000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0xb00000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_art_1006: macaddr@1006 { | ||||
| 						reg = <0x1006 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_art_5006: macaddr@5006 { | ||||
| 						reg = <0x5006 0x6>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b80000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0xb80000 0x7480000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins =	"gpio52", "gpio53", "gpio58", | ||||
| 				"gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins =	"gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	usb@6000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		usb2_port1: port@1 { | ||||
| 			reg = <1>; | ||||
| 			#trigger-source-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <1000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cells = <&macaddr_art_1006>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cells = <&macaddr_art_5006>; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "CM520-79F"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "CM520-79F"; | ||||
| }; | ||||
| @ -1,144 +0,0 @@ | ||||
| /* SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  * | ||||
|  * Copyright (c) 2018 Peng Zhang <sd20@qxwlan.com> | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019-e2600ac.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Qxwlan E2600AC c1"; | ||||
| 	compatible = "qxwlan,e2600ac-c1"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			partition@180000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x180000 0x1e80000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "Qxwlan-E2600AC-C1"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "Qxwlan-E2600AC-C1"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "sw-eth1"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "sw-eth2"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
| @ -1,191 +0,0 @@ | ||||
| /* SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  * | ||||
|  * Copyright (c) 2018 Peng Zhang <sd20@qxwlan.com> | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019-e2600ac.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Qxwlan E2600AC c2"; | ||||
| 	compatible = "qxwlan,e2600ac-c2"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x00000000 0x04000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	nand_pins: nand-pins { | ||||
|  | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "Qxwlan-E2600AC-C2"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "Qxwlan-E2600AC-C2"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| 	label = "sw-eth1"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "sw-eth2"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "sw-eth3"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
| @ -1,241 +0,0 @@ | ||||
| /* SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  * | ||||
|  * Copyright (c) 2018 Peng Zhang <sd20@qxwlan.com> | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
|  | ||||
| 	model = "Qxwlan E2600AC"; | ||||
| 	compatible = "qcom,ipq4019"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; /* 256MB */ | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
|  | ||||
| 		leds { | ||||
| 			compatible = "gpio-leds"; | ||||
|  | ||||
| 			led1 { | ||||
| 				label = "green:wlan0"; | ||||
| 				gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
|  | ||||
| 			led2 { | ||||
| 				label = "green:wlan1"; | ||||
| 				gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
|  | ||||
| 			led3 { | ||||
| 				function = LED_FUNCTION_USB; | ||||
| 				color = <LED_COLOR_ID_GREEN>; | ||||
| 				gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; | ||||
| 				trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>; | ||||
| 				linux,default-trigger = "usbport"; | ||||
| 			}; | ||||
|  | ||||
| 			led4 { | ||||
| 				label = "green:ctrl1"; | ||||
| 				gpios = <&tlmm 51 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
|  | ||||
| 			led5 { | ||||
| 				label = "green:ctrl2"; | ||||
| 				gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
|  | ||||
| 			led6 { | ||||
| 				label = "green:ctrl3"; | ||||
| 				gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		keys { | ||||
| 			compatible = "gpio-keys"; | ||||
|  | ||||
| 			reset { | ||||
| 				label = "reset"; | ||||
| 				gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 				linux,code = <KEY_RESTART>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c-0-pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_0_pins: serial0-pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_1_pins: serial1_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio8", "gpio9"; | ||||
| 			function = "blsp_uart1"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart2 { | ||||
| 	pinctrl-0 = <&serial_1_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { /* BLSP1 QUP2 */ | ||||
| 	pinctrl-0 = <&i2c_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	usb@6000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		usb2_port1: port@1 { | ||||
| 			reg = <1>; | ||||
| 			#trigger-source-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
| @ -1,100 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| #include "qcom-ipq4019-xx8300.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Linksys EA8300 (Dallas)"; | ||||
| 	compatible = "linksys,ea8300", "qcom,ipq4019"; | ||||
|  | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_wps_amber; | ||||
| 		led-failsafe = &led_wps; | ||||
| 		led-running = &led_linksys; | ||||
| 		led-upgrade = &led_world; | ||||
| 		serial0 = &blsp1_uart1; | ||||
| 	}; | ||||
|  | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		// Retain node names from running OEM on EA8300 | ||||
|  | ||||
| 		// Front panel LEDs, top to bottom | ||||
|  | ||||
| 		led_plug: diag { | ||||
| 			label = "amber:plug"; | ||||
| 			gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_world: internet { | ||||
| 			label = "amber:world"; | ||||
| 			gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_wps: wps { | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_wps_amber: wps_amber { | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_linksys: pwr { | ||||
| 			label = "white:linksys"; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		// On back panel, above USB socket | ||||
|  | ||||
| 		led_usb: usb { | ||||
| 			function = LED_FUNCTION_USB; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||||
| 			trigger-sources = <&usb3_port1>, <&usb3_port2>, | ||||
| 					  <&usb2_port1>; | ||||
| 			linux,default-trigger = "usbport"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5170000 5330000>; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; | ||||
| }; | ||||
|  | ||||
| &wifi2 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5490000 5835000>; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-ea8300-fcc"; | ||||
| }; | ||||
| @ -1,289 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EnGenius EAP2200"; | ||||
| 	compatible = "engenius,eap2200"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan1 { | ||||
| 			label = "blue:lan1"; | ||||
| 			gpios = <&tlmm 44 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		lan2 { | ||||
| 			label = "blue:lan2"; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "blue:wlan2g"; | ||||
| 			gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "yellow:wlan5g"; | ||||
| 			gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g2 { | ||||
| 			label = "yellow:wlan5g2"; | ||||
| 			gpios = <&tlmm 48 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy2tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		mode { | ||||
| 			label = "blue:mode"; | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition1@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition2@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition3@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition4@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition5@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition6@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition7@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_9000: precal@9000 { | ||||
| 						reg = <0x9000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "rootfs1"; | ||||
| 				reg = <0x00000000 0x04000000>; | ||||
| 			}; | ||||
| 			partition@40000000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x04000000 0x04000000>; | ||||
| 			}; | ||||
|  | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			nvmem-cell-names = "pre-calibration"; | ||||
| 			nvmem-cells = <&precal_art_9000>; | ||||
| 			ieee80211-freq-limit = <5470000 5875000>; | ||||
| 			qcom,ath10k-calibration-variant = "EnGenius-EAP2200"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_0_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EAP2200"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5170000 5350000>; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "EnGenius-EAP2200"; | ||||
| }; | ||||
| @ -1,328 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "AVM FRITZ!Box 7530"; | ||||
| 	compatible = "avm,fritzbox-7530"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " coherent_pool=4M"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power_green; | ||||
| 		led-failsafe = &info_red; | ||||
| 		led-running = &power_green; | ||||
| 		led-upgrade = &info_red; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wlan { | ||||
| 			label = "wlan"; | ||||
| 			gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
|  | ||||
| 		dect { | ||||
| 			label = "dect"; | ||||
| 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_PHONE>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		info_red: info_red { | ||||
| 			label = "red:info"; | ||||
| 			gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		info { | ||||
| 			label = "green:info"; | ||||
| 			gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		fon { | ||||
| 			label = "green:fon"; | ||||
| 			gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		power_green: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_0_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	usb-power { | ||||
| 		line-name = "enable USB3 power"; | ||||
| 		gpios = <49 GPIO_ACTIVE_HIGH>; | ||||
| 		gpio-hog; | ||||
| 		output-high; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		/delete-property/ nand-ecc-strength; | ||||
| 		/delete-property/ nand-ecc-step-size; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x000000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x080000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x100000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x180000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1c0000 { | ||||
| 				label = "QSEE_B"; | ||||
| 				reg = <0x1c0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@240000 { | ||||
| 				label = "urlader0"; | ||||
| 				reg = <0x240000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@280000 { | ||||
| 				label = "urlader1"; | ||||
| 				reg = <0x280000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@2c0000 { | ||||
| 				label = "nand-tffs"; | ||||
| 				reg = <0x2c0000 0x840000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				/* 'kernel1' in AVM firmware */ | ||||
| 				label = "uboot0"; | ||||
| 				reg = <0xb00000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f00000 { | ||||
| 				/* 'kernel2' in AVM firmware */ | ||||
| 				label = "uboot1"; | ||||
| 				reg = <0xf00000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1300000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x1300000 0x6d00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZBox-7530"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	compatible = "qcom,pcie-ipq4019-lantiq-hack"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		dsl@1,0 { | ||||
| 			compatible = "intel,vrx518"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,300 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "AVM FRITZ!Repeater 1200"; | ||||
| 	compatible = "avm,fritzrepeater-1200"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power_green; | ||||
| 		led-failsafe = &power_red; | ||||
| 		led-running = &power_green; | ||||
| 		led-upgrade = &power_red; | ||||
| 		label-mac-device = &wifi0; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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_RGMII5>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1957000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1957000 0x100>; | ||||
| 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	key { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "WPS button"; | ||||
| 			gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power_red: power_red { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		power_green: power_green { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		power_yellow { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_YELLOW>; | ||||
| 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_0_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	phy-reset { | ||||
| 		line-name = "PHY-reset"; | ||||
| 		gpios = <19 GPIO_ACTIVE_HIGH>; | ||||
| 		gpio-hog; | ||||
| 		output-high; | ||||
| 	}; | ||||
|  | ||||
| 	phy-reset-2 { | ||||
| 		line-name = "PHY-reset-2"; | ||||
| 		gpios = <47 GPIO_ACTIVE_HIGH>; | ||||
| 		gpio-hog; | ||||
| 		output-high; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x100000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x180000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1c0000 { | ||||
| 				label = "QSEE_B"; | ||||
| 				reg = <0x1c0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@240000 { | ||||
| 				label = "urlader0"; | ||||
| 				reg = <0x240000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@280000 { | ||||
| 				label = "urlader1"; | ||||
| 				reg = <0x280000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@2c0000 { | ||||
| 				label = "nand-tffs"; | ||||
| 				reg = <0x2c0000 0x840000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				/* 'kernel1' in AVM firmware */ | ||||
| 				label = "uboot0"; | ||||
| 				reg = <0xb00000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f00000 { | ||||
| 				/* 'kernel2' in AVM firmware */ | ||||
| 				label = "uboot1"; | ||||
| 				reg = <0xf00000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1300000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x1300000 0x6d00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	ethphy: ethernet-phy@0 { | ||||
| 		reg = <0x0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	/delete-property/ psgmii-ethphy; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| 	phy-handle = <ðphy>; | ||||
| 	phy-mode = "rgmii-id"; | ||||
| }; | ||||
|  | ||||
| &qca807x { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy2 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &psgmiiphy { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
| @ -1,276 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "AVM FRITZ!Repeater 3000"; | ||||
| 	compatible = "avm,fritzrepeater-3000"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &power_led; | ||||
| 		led-failsafe = &power_led; | ||||
| 		led-running = &power_led; | ||||
| 		led-upgrade = &power_led; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	key { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		connect { | ||||
| 			label = "Connect"; | ||||
| 			gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		connect_red { | ||||
| 			label = "red:connect"; | ||||
| 			gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		connect_green { | ||||
| 			label = "green:connect"; | ||||
| 			gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		connect_blue { | ||||
| 			label = "blue:connect"; | ||||
| 			gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		power_led: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_0_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		/delete-property/ nand-ecc-strength; | ||||
| 		/delete-property/ nand-ecc-step-size; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x000000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x080000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x100000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x180000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1c0000 { | ||||
| 				label = "QSEE_B"; | ||||
| 				reg = <0x1c0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@240000 { | ||||
| 				label = "urlader0"; | ||||
| 				reg = <0x240000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@280000 { | ||||
| 				label = "urlader1"; | ||||
| 				reg = <0x280000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@2c0000 { | ||||
| 				label = "nand-tffs"; | ||||
| 				reg = <0x2c0000 0x840000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				/* 'kernel1' in AVM firmware */ | ||||
| 				label = "uboot0"; | ||||
| 				reg = <0xb00000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f00000 { | ||||
| 				/* 'kernel2' in AVM firmware */ | ||||
| 				label = "uboot1"; | ||||
| 				reg = <0xf00000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1300000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x1300000 0x6d00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	/* BDFs are identical for the FRITZ!Box 7530 and the FRITZ!Repeater 3000 */ | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-3000"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5170000 5350000>; | ||||
| 	/* BDFs are identical for the FRITZ!Box 7530 and the FRITZ!Repeater 3000 */ | ||||
| 	qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-3000"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi@1,0 { | ||||
| 			/* QCA9984 */ | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			ieee80211-freq-limit = <5470000 5875000>; | ||||
| 			/* Uses the reference BDF */ | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
| @ -1,394 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-only OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "GL.iNet GL-B2200"; | ||||
| 	compatible = "glinet,gl-b2200", "qcom,ipq4019"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " root=/dev/mmcblk0p2 rw rootwait clk_ignore_unused"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		ethernet1 = &swport4; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			linux,input-type = <1>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 40 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			linux,input-type = <1>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power_blue { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
| 		internet_blue { | ||||
| 			label = "blue:internet"; | ||||
| 			gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 		power_white { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 		internet_white { | ||||
| 			label = "white:internet"; | ||||
| 			gpios = <&tlmm 66 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &vqmmc { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &sdhci { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&sd_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cd-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; | ||||
| 	vqmmc-supply = <&vqmmc>; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_9000: precal@9000 { | ||||
| 						reg = <0x9000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi2 { | ||||
| 	pinctrl-0 = <&spi_1_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	spidev1: spi@0 { | ||||
| 		compatible = "silabs,si3210"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart2 { | ||||
| 	pinctrl-0 = <&serial_1_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_1_pins: serial1_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio8", "gpio9", | ||||
| 				"gpio10", "gpio11"; | ||||
| 			function = "blsp_uart1"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 		}; | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 		}; | ||||
| 		pinconf { | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		pinconf_cs { | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_1_pins: spi_1_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio44", "gpio46", "gpio47"; | ||||
| 			function = "blsp_spi1"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 		cs { | ||||
| 			pins = "gpio45"; | ||||
| 			function = "gpio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		reset { | ||||
| 			pins = "gpio43"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio35"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 		host_int { | ||||
| 			pins = "gpio2"; | ||||
| 			function = "gpio"; | ||||
| 			input; | ||||
| 		}; | ||||
| 		wake { | ||||
| 			pins = "gpio48"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	sd_pins: sd_pins { | ||||
| 		pinmux { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio23", "gpio24", "gpio25", "gpio26", | ||||
| 				"gpio29", "gpio30", "gpio31", "gpio32"; | ||||
| 			drive-strength = <10>; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_sd_clk { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio27"; | ||||
| 			drive-strength = <16>; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_sd7 { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio28"; | ||||
| 			drive-strength = <10>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			status = "okay"; | ||||
| 			/* Bootlog shows this is a 168c:0056 - QCA 9888v2 */ | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			nvmem-cell-names = "pre-calibration"; | ||||
| 			nvmem-cells = <&precal_art_9000>; | ||||
| 			qcom,ath10k-calibration-variant = "GL-B2200"; | ||||
| 			ieee80211-freq-limit = <5450000 5900000>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "wan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "GL-B2200"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "GL-B2200"; | ||||
| 	ieee80211-freq-limit = <5100000 5400000>; | ||||
| }; | ||||
| @ -1,418 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2019, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "8devices Habanero DVK"; | ||||
| 	compatible = "8dev,habanero-dvk"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status; | ||||
| 		led-failsafe = &led_status; | ||||
| 		led-running = &led_status; | ||||
| 		led-upgrade = &led_upgrade; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 8 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status: status { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_upgrade: upgrade { | ||||
| 			label = "green:upgrade"; | ||||
| 			gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &vqmmc { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &sdhci { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&sd_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cd-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; | ||||
| 	vqmmc-supply = <&vqmmc>; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins =  "gpio52", "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", "gpio57", | ||||
| 				"gpio60", "gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", "gpio68", | ||||
| 				"gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	sd_pins: sd_pins { | ||||
| 		pinmux { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio23", "gpio24", "gpio25", "gpio26", | ||||
| 				"gpio28", "gpio29", "gpio30", "gpio31"; | ||||
| 			drive-strength = <10>; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_sd_clk { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio27"; | ||||
| 			drive-strength = <16>; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_sd7 { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio32"; | ||||
| 			drive-strength = <10>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		reg = <0>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; /* uboot env */ | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; /* uboot */ | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_lan: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_wan: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			partition@180000 { | ||||
| 				label = "cfg"; | ||||
| 				reg = <0x00180000 0x00040000>; | ||||
| 			}; | ||||
| 			partition@1c0000 { | ||||
| 				label = "firmware"; | ||||
| 				compatible = "denx,fit"; | ||||
| 				reg = <0x001c0000 0x01e40000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| /* Some DVK boards ship without NAND */ | ||||
| &nand { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	/* Free slot for use */ | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_wan>; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_lan>; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_lan>; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_lan>; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_lan>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_wan>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "8devices-Habanero"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "8devices-Habanero"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,318 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2021, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik hAP ac3 LTE6 kit"; | ||||
| 	compatible = "mikrotik,hap-ac3-lte6-kit"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status_blue; | ||||
| 		led-failsafe = &led_status_red; | ||||
| 		led-running = &led_status_blue; | ||||
| 		led-upgrade = &led_status_red; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status_blue: status-blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_red: status-red { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_green: status-green { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		ethernet { | ||||
| 			label = "green:ethernet"; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wan { | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan1 { | ||||
| 			label = "green:lan1"; | ||||
| 			gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan2 { | ||||
| 			label = "green:lan2"; | ||||
| 			gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan3 { | ||||
| 			label = "green:lan3"; | ||||
| 			gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan4 { | ||||
| 			label = "green:lan4"; | ||||
| 			gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &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 = <44 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		line-name = "enable USB power"; | ||||
| 	}; | ||||
|  | ||||
| 	enable-mpcie-power { | ||||
| 		gpio-hog; | ||||
| 		gpios = <51 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		line-name = "enable mPCI-E power"; | ||||
| 	}; | ||||
|  | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <10000000>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
|  | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					size = <0x2000>; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@110000 { | ||||
| 				compatible = "mikrotik,minor"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x110000 0xef0000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,359 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2021, Robert Marko <robimarko@gmail.com> */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "MikroTik hAP ac3"; | ||||
| 	compatible = "mikrotik,hap-ac3"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status_blue; | ||||
| 		led-failsafe = &led_status_red; | ||||
| 		led-running = &led_status_blue; | ||||
| 		led-upgrade = &led_status_red; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		mode { | ||||
| 			label = "mode"; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 		}; | ||||
|  | ||||
| 		led { | ||||
| 			label = "led"; | ||||
| 			gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status_blue: status-blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_red: status-red { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_green: status-green { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		ethernet { | ||||
| 			label = "green:ethernet"; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wan { | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan1 { | ||||
| 			label = "green:lan1"; | ||||
| 			gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan2 { | ||||
| 			label = "green:lan2"; | ||||
| 			gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan3 { | ||||
| 			label = "green:lan3"; | ||||
| 			gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lan4 { | ||||
| 			label = "green:lan4"; | ||||
| 			gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		poe { | ||||
| 			label = "red:poe"; | ||||
| 			gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &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; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio55", "gpio56", "gpio57", "gpio60", | ||||
| 				   "gpio62", "gpio63", "gpio64", "gpio65", | ||||
| 				   "gpio66", "gpio67", "gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	enable-usb-power { | ||||
| 		gpio-hog; | ||||
| 		gpios = <44 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		line-name = "enable USB power"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <40000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					read-only; | ||||
| 					size = <0x2000>; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x0 0xa00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a00000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0xa00000 0x7600000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-hAP-ac3"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "MikroTik-hAP-ac3"; | ||||
| }; | ||||
| @ -1,517 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Netgear LBR20"; | ||||
| 	compatible = "netgear,lbr20"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = "ubi.mtd=ubi root=/dev/ubiblock0_0"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_backlight_white; | ||||
| 		led-failsafe = &led_status_green; | ||||
| 		led-running = &led_status_green; | ||||
| 		led-upgrade = &led_status_red; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status_green: led-status-green { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_red: led-status-red { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 23 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	gpio_export { | ||||
| 		compatible = "gpio-export"; | ||||
|  | ||||
| 		lte_rst { | ||||
| 			gpio-export,name = "lte_rst"; | ||||
| 			gpio-export,output = <1>; | ||||
| 			gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lte_pwrkey { | ||||
| 			gpio-export,name = "lte_pwrkey"; | ||||
| 			gpio-export,output = <1>; | ||||
| 			gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lte_usb_boot { | ||||
| 			gpio-export,name = "lte_usb_boot"; | ||||
| 			gpio-export,output = <0>; | ||||
| 			gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		lte_pwm { | ||||
| 			gpio-export,name = "lte_pwm"; | ||||
| 			gpio-export,output = <1>; | ||||
| 			gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
|  | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio-pinmux { | ||||
| 		mux_mdio { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_mdc { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial-pinmux { | ||||
| 		function = "blsp_uart0"; | ||||
| 		pins = "gpio16", "gpio17"; | ||||
| 		bias-disable; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand-pins { | ||||
| 		pullups { | ||||
| 			pins =	"gpio52", "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins =	"gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00100000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@200000 { | ||||
| 				label = "0:BOOTCONFIG"; | ||||
| 				reg = <0x00200000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@300000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00300000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@400000 { | ||||
| 				label = "0:QSEE_1"; | ||||
| 				reg = <0x00400000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@500000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x00500000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@580000 { | ||||
| 				label = "0:CDT_1"; | ||||
| 				reg = <0x00580000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@600000 { | ||||
| 				label = "0:BOOTCONFIG1"; | ||||
| 				reg = <0x00600000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@680000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x00680000 0x00080000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@700000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x00700000 0x00200000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@900000 { | ||||
| 				label = "0:APPSBL_1"; | ||||
| 				reg = <0x00900000 0x00200000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00b00000 0x00080000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_9000: precal@9000 { | ||||
| 						reg = <0x9000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b80000 { | ||||
| 				label = "0:ART.bak"; | ||||
| 				reg = <0x00b80000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c00000 { | ||||
| 				label = "config"; | ||||
| 				reg = <0x00c00000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d00000 { | ||||
| 				label = "boarddata1"; | ||||
| 				reg = <0x00d00000 0x00080000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					mac_address_lan: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
|  | ||||
| 					mac_address_wan: macaddr@6 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x6 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
|  | ||||
| 					mac_address_wlan_5g: macaddr@c { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0xc 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
|  | ||||
| 					mac_address_wlan_2nd5g: macaddr@12 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x12 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
|  | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d80000 { | ||||
| 				label = "boarddata2"; | ||||
| 				reg = <0x00d80000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@dc0000 { | ||||
| 				label = "pot"; | ||||
| 				reg = <0x00dc0000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@ec0000 { | ||||
| 				label = "boarddata1.bak"; | ||||
| 				reg = <0x00ec0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f40000 { | ||||
| 				label = "boarddata2.bak"; | ||||
| 				reg = <0x00f40000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f80000 { | ||||
| 				label = "language"; | ||||
| 				reg = <0x00f80000 0x00300000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1280000 { | ||||
| 				label = "cert"; | ||||
| 				reg = <0x01280000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1300000 { | ||||
| 				label = "ntgrdata"; | ||||
| 				reg = <0x01300000 0x09300000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a600000 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x0a600000 0x00700000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a9c0000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x0ad00000 0x05300000>; | ||||
| 			}; | ||||
|  | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	led-controller@27 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		compatible = "ti,tlc59108"; /* really is tlc59208f */ | ||||
| 		reg = <0x27>; | ||||
|  | ||||
| 		led_backlight_green: led-backlight-green { | ||||
| 			function = LED_FUNCTION_BACKLIGHT; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			reg = <0x0>; | ||||
| 			linux,default-trigger = "default-off"; | ||||
| 		}; | ||||
|  | ||||
| 		led_backlight_red: led-backlight-red { | ||||
| 			function = LED_FUNCTION_BACKLIGHT; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			reg = <0x1>; | ||||
| 			linux,default-trigger = "default-off"; | ||||
| 		}; | ||||
|  | ||||
| 		led_backlight_blue: led-backlight-blue { | ||||
| 			function = LED_FUNCTION_BACKLIGHT; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			reg = <0x2>; | ||||
| 			linux,default-trigger = "default-off"; | ||||
| 		}; | ||||
|  | ||||
| 		led_backlight_white: led-backlight-white { | ||||
| 			function = LED_FUNCTION_BACKLIGHT; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			reg = <0x3>; | ||||
| 			linux,default-trigger = "default-off"; | ||||
| 		}; | ||||
|  | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&mac_address_lan 0>; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			ieee80211-freq-limit = <5170000 5350000>; | ||||
| 			nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 			nvmem-cells = <&precal_art_9000>, <&mac_address_wlan_2nd5g 0>; | ||||
| 			qcom,ath10k-calibration-variant = "Netgear-LBR20"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&mac_address_lan 0>; | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-LBR20"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5470000 5815000>; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&mac_address_wlan_5g 0>; | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-LBR20"; | ||||
| }; | ||||
| @ -1,330 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "YYeTs LE1"; | ||||
| 	compatible = "yyets,le1"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_usb; | ||||
| 		led-failsafe = &led_usb; | ||||
| 		led-upgrade = &led_usb; | ||||
|  | ||||
| 		ethernet0 = &swport5; | ||||
| 		ethernet1 = &gmac; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_usb: usb { | ||||
| 			function = LED_FUNCTION_USB; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 36 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "usbport"; | ||||
| 			trigger-sources = <&usb3_port1>, <&usb3_port2>, <&usb2_port1>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			label = "green:wlan2g"; | ||||
| 			gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			label = "green:wlan5g"; | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x180000 0x1e80000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	usb@6000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		usb2_port1: port@1 { | ||||
| 			reg = <1>; | ||||
| 			#trigger-source-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	qcom,ath10k-calibration-variant = "YYeTs-LE1"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	qcom,ath10k-calibration-variant = "YYeTs-LE1"; | ||||
| }; | ||||
| @ -1,298 +0,0 @@ | ||||
| /* Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
|  * Copyright (c) 2019, Robert Marko <robimarko@gmail.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 <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Mikrotik Wireless Wire Dish LHGG-60ad"; | ||||
| 	compatible = "mikrotik,lhgg-60ad"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &user; | ||||
| 		led-failsafe = &user; | ||||
| 		led-running = &user; | ||||
| 		led-upgrade = &user; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		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_RGMII5>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1957000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1957000 0x100>; | ||||
| 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		power: power { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		user: user { | ||||
| 			label = "yellow:user"; | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		align-left { | ||||
| 			label = "green:align-left"; | ||||
| 			gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		align-right { | ||||
| 			label = "green:align-right"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan-rx { | ||||
| 			label = "green:align-down"; | ||||
| 			gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		wlan-tx { | ||||
| 			label = "green:align-up"; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi-0-pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	m25p80@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "Qualcomm"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				compatible = "mikrotik,routerboot-partitions"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				label = "RouterBoot"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
|  | ||||
| 				hard_config { | ||||
| 					read-only; | ||||
| 					size = <0x2000>; | ||||
| 				}; | ||||
|  | ||||
| 				dtb_config { | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				soft_config { | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				compatible = "mikrotik,minor"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x100000 0xf00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 42 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		/* wil6210 802.11ad card */ | ||||
| 		wifi: wifi@1,0 { | ||||
| 			status = "okay"; | ||||
| 			/* wil6210 driver has no compatible */ | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	ar8035: ethernet-phy@0 { | ||||
| 		reg = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qca807x { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy2 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &psgmiiphy { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	/delete-property/ psgmii-ethphy; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| 	phy-handle = <&ar8035>; | ||||
| 	phy-mode = "rgmii-id"; | ||||
| }; | ||||
| @ -1,365 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ASUS Lyra MAP-AC2200"; | ||||
| 	compatible = "asus,map-ac2200"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_blue0; | ||||
| 		led-failsafe = &led_red0; | ||||
| 		led-running = &led_blue0; | ||||
| 		led-upgrade = &led_red0; | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		ethernet1 = &swport4; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@80000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x80000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@100000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x100000 0x100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@200000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x200000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@280000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x280000 0x140000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3c0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x3c0000 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@400000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x400000 0x7c00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_i2c0"; | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			drive-strength = <16>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins =	"gpio52", "gpio53", "gpio58", | ||||
| 				"gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins =	"gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
| 	enable_ext_pa_high { | ||||
| 		gpio-hog; | ||||
| 		gpios = <44 GPIO_ACTIVE_HIGH>, | ||||
| 			<46 GPIO_ACTIVE_HIGH>; | ||||
| 		output-high; | ||||
| 		bias-pull-down; | ||||
| 		line-name = "enable external PA output-high"; | ||||
| 	}; | ||||
| 	enable_ext_pa_low { | ||||
| 		gpio-hog; | ||||
| 		gpios = <45 GPIO_ACTIVE_HIGH>, | ||||
| 			<47 GPIO_ACTIVE_HIGH>; | ||||
| 		output-low; | ||||
| 		bias-pull-down; | ||||
| 		line-name = "enable external PA output-low"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; | ||||
| 	ieee80211-freq-limit = <5470000 5875000>; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			qcom,ath10k-calibration-variant = "ASUS-MAP-AC2200"; | ||||
| 			ieee80211-freq-limit = <5170000 5350000>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	/* Bluetooth module attached via USB */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	pinctrl-0 = <&i2c_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	led-controller@32 { | ||||
| 		/* 9-channel RGB LED controller */ | ||||
| 		compatible = "national,lp5523"; | ||||
| 		reg = <0x32>; | ||||
| 		clock-mode = /bits/ 8 <1>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		/* | ||||
| 		 * There is only one single extremely bright RGB-LED. | ||||
| 		 * The RGB-color channels are running in parallel to | ||||
| 		 * increase the current delivery capabilities beyond | ||||
| 		 * what a single PWM-output of the controller can do. | ||||
| 		 */ | ||||
|  | ||||
| 		led_blue0: led@0 { | ||||
| 			chan-name = "blue-0"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <0>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function-enumerator = <0>; | ||||
| 		}; | ||||
|  | ||||
| 		led@1 { | ||||
| 			chan-name = "blue-1"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <1>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function-enumerator = <1>; | ||||
| 		}; | ||||
|  | ||||
| 		led@2 { | ||||
| 			chan-name = "blue-2"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <2>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function-enumerator = <2>; | ||||
| 		}; | ||||
|  | ||||
| 		led_green0: led@3 { | ||||
| 			chan-name = "green-0"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <3>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function-enumerator = <0>; | ||||
| 		}; | ||||
|  | ||||
| 		led@4 { | ||||
| 			chan-name = "green-1"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <4>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function-enumerator = <1>; | ||||
| 		}; | ||||
|  | ||||
| 		led@5 { | ||||
| 			chan-name = "green-2"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <5>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function-enumerator = <2>; | ||||
| 		}; | ||||
|  | ||||
| 		led_red0: led@6 { | ||||
| 			chan-name = "red-0"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <6>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function-enumerator = <0>; | ||||
| 		}; | ||||
|  | ||||
| 		led@7 { | ||||
| 			chan-name = "red-1"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <7>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function-enumerator = <1>; | ||||
| 		}; | ||||
|  | ||||
| 		led@8 { | ||||
| 			chan-name = "red-2"; | ||||
| 			led-cur = /bits/ 8 <0xfa>; | ||||
| 			max-cur = /bits/ 8 <0xff>; | ||||
| 			reg = <8>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function-enumerator = <2>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "wan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
| @ -1,492 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2022, Marcin Gajda <mgajda@o2.pl>. | ||||
|  | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF18A"; | ||||
| 	compatible = "zte,mf18a"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		/* | ||||
| 		 * bootargs forced by u-boot bootipq command: | ||||
| 		 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait' | ||||
| 		 */ | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	gpio-restart { | ||||
| 		compatible = "gpio-restart"; | ||||
| 		gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_internal: led-0 { | ||||
| 			label = "blue:internal"; | ||||
| 			gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led_power: led-1 { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led-2 { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-3 { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led-4 { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			label = "blue:smart"; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-5 { | ||||
| 			label = "red:smart"; | ||||
| 			gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		resetzwave { | ||||
| 			label = "resetzwave"; | ||||
| 			gpios = <&tlmm 11 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		/* u-boot is looking for "n25q128a11" property */ | ||||
| 		compatible = "jedec,spi-nor", "n25q128a11"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 				}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_config_0 0>; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "wan"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_config_0 1>; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a0000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0xa0000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_9000: precal@9000 { | ||||
| 						reg = <0x9000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@120000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x120000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_config_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1a0000 { | ||||
| 				label = "reserved2"; | ||||
| 				reg = <0x1a0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@260000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x260000 0x400000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@660000 { | ||||
| 				label = "log"; | ||||
| 				reg = <0x660000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a60000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0xa60000 0xa0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "reserved3"; | ||||
| 				reg = <0xb00000 0x500000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1000000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0x1000000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1800000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1800000 0x1d00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x2800000>; | ||||
|  | ||||
| 			}; | ||||
| 			partition@7600000 { | ||||
| 				label = "iot-db"; | ||||
| 				reg = <0x7600000 0xa00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins =	"gpio52", "gpio53", "gpio58", | ||||
| 				"gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins =	"gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 2>; | ||||
| 	qcom,ath10k-calibration-variant = "ZTE-MF18A"; | ||||
| }; | ||||
|  | ||||
| //* This node is used for 5Ghz on QCA9982 */ | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 40 GPIO_ACTIVE_LOW>; | ||||
| 	clkreq-gpio = <&tlmm 39 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			compatible = "pci168c,0040"; | ||||
| 			nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 			nvmem-cells = <&precal_art_9000>, <&macaddr_config_0 3>; | ||||
| 			qcom,ath10k-calibration-variant = "ZTE-MF18A"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
|  | ||||
| @ -1,455 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2023, Andreas Böhler <dev@aboehler.at> | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF282Plus"; | ||||
| 	compatible = "zte,mf282plus"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_internal; | ||||
| 		led-failsafe = &led_internal; | ||||
| 		led-running = &led_internal; | ||||
| 		led-upgrade = &led_internal; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		/* | ||||
| 		 * bootargs forced by u-boot bootipq command: | ||||
| 		 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait' | ||||
| 		 */ | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	gpio_export { | ||||
| 		compatible = "gpio-export"; | ||||
|  | ||||
| 		modem { | ||||
| 			gpio-export,name = "modem-reset"; | ||||
| 			gpio-export,output = <0>; | ||||
| 			gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_internal: led-0 { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; | ||||
| 			label = "blue:internal_led"; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wifi { | ||||
| 			label = "wifi"; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 			gpios = <&tlmm 11 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		/* u-boot is looking for "n25q128a11" property */ | ||||
| 		compatible = "jedec,spi-nor", "n25q128a11"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 				}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_config_0 0>; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a0000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0xa0000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@120000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x120000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_config_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1a0000 { | ||||
| 				label = "reserved2"; | ||||
| 				reg = <0x1a0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@260000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x260000 0x400000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@660000 { | ||||
| 				label = "log"; | ||||
| 				reg = <0x660000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a60000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0xa60000 0xa0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "reserved3"; | ||||
| 				reg = <0xb00000 0x500000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1000000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0x1000000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1800000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1800000 0x1d00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x2800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@7600000 { | ||||
| 				label = "extra-cfg"; | ||||
| 				reg = <0x7600000 0xa00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins =	"gpio52", "gpio53", "gpio58", | ||||
| 				"gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins =	"gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| /* | ||||
|  * The MD5 sum of the board file of the MF286D is identical to the board | ||||
|  * file in the OEM firmware | ||||
|  */ | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 1>; | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf286d"; | ||||
| }; | ||||
|  | ||||
| /* | ||||
|  * The MD5 sum of the board file of the MF286D is identical to the board | ||||
|  * file in the OEM firmware | ||||
|  */ | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_config_0 1>; | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf286d"; | ||||
| }; | ||||
| @ -1,455 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF286D"; | ||||
| 	compatible = "zte,mf286d"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_internal; | ||||
| 		led-failsafe = &led_internal; | ||||
| 		led-running = &led_internal; | ||||
| 		led-upgrade = &led_internal; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		/* | ||||
| 		 * bootargs forced by u-boot bootipq command: | ||||
| 		 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait' | ||||
| 		 */ | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	gpio-restart { | ||||
| 		compatible = "gpio-restart"; | ||||
| 		gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_internal: led-0 { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; | ||||
| 			label = "blue:internal_led"; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wifi { | ||||
| 			label = "wifi"; | ||||
| 			linux,code = <KEY_RFKILL>; | ||||
| 			gpios = <&tlmm 11 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		/* u-boot is looking for "n25q128a11" property */ | ||||
| 		compatible = "jedec,spi-nor", "n25q128a11"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 				}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_config_0 0>; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a0000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0xa0000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@120000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x120000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_config_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1a0000 { | ||||
| 				label = "reserved2"; | ||||
| 				reg = <0x1a0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@260000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x260000 0x400000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@660000 { | ||||
| 				label = "log"; | ||||
| 				reg = <0x660000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a60000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0xa60000 0xa0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "reserved3"; | ||||
| 				reg = <0xb00000 0x500000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1000000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0x1000000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1800000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1800000 0x1d00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x3200000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_config_0 1>; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins =	"gpio52", "gpio53", "gpio58", | ||||
| 				"gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins =	"gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_config_0 2>; | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf286d"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_config_0 3>; | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf286d"; | ||||
| }; | ||||
| @ -1,441 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| // Copyright (c) 2022, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
| // Copyright (c) 2022, Giammarco Marzano <stich86@gmail.com>. | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ZTE MF289F"; | ||||
| 	compatible = "zte,mf289f"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_status; | ||||
| 		led-failsafe = &led_status; | ||||
| 		led-running = &led_status; | ||||
| 		led-upgrade = &led_status; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		/* | ||||
| 		 * bootargs forced by u-boot bootipq command: | ||||
| 		 * 'ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait' | ||||
| 		 */ | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	/* | ||||
| 	 * This node is used to restart modem module to avoid anomalous | ||||
| 	 * behaviours on initial communication. | ||||
| 	 */ | ||||
| 	gpio-restart { | ||||
| 		compatible = "gpio-restart"; | ||||
| 		gpios = <&tlmm 8 GPIO_ACTIVE_HIGH>; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_status: led-0 { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		key-reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		key-wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>, | ||||
| 		   <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1b0000 { | ||||
| 				label = "0:reserved1"; | ||||
| 				reg = <0x1b0000 0x50000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi-nand@1 { /* flash@1 ? */ | ||||
| 		compatible = "spi-nand"; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "fota-flag"; | ||||
| 				reg = <0x0 0xa0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a0000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0xa0000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@120000 { | ||||
| 				label = "mac"; | ||||
| 				reg = <0x120000 0x80000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_mac_0: macaddr@0 { | ||||
| 						compatible = "mac-base"; | ||||
| 						reg = <0x0 0x6>; | ||||
| 						#nvmem-cell-cells = <1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1a0000 { | ||||
| 				label = "reserved2"; | ||||
| 				reg = <0x1a0000 0xc0000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@260000 { | ||||
| 				label = "cfg-param"; | ||||
| 				reg = <0x260000 0x400000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@660000 { | ||||
| 				label = "log"; | ||||
| 				reg = <0x660000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@a60000 { | ||||
| 				label = "oops"; | ||||
| 				reg = <0xa60000 0xa0000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@b00000 { | ||||
| 				label = "reserved3"; | ||||
| 				reg = <0xb00000 0x500000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1000000 { | ||||
| 				label = "web"; | ||||
| 				reg = <0x1000000 0x800000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@1800000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x1800000 0x1d00000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@3500000 { | ||||
| 				label = "data"; | ||||
| 				reg = <0x3500000 0x1900000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4e00000 { | ||||
| 				label = "fota"; | ||||
| 				reg = <0x4e00000 0x3200000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_mac_0 0>; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "wan"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_mac_0 1>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio20", "gpio21"; | ||||
| 			function = "blsp_i2c0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12", "gpio54"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_1000>, <&macaddr_mac_0 2>; | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf289f"; | ||||
| }; | ||||
|  | ||||
| /* This node is used only on AT2 version for 5Ghz on IPQ4019 with board-id=21 */ | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration", "mac-address"; | ||||
| 	nvmem-cells = <&precal_art_5000>, <&macaddr_mac_0 3>; | ||||
| 	qcom,ath10k-calibration-variant = "zte,mf289f"; | ||||
| }; | ||||
|  | ||||
| /* This node is used only on AT1 version for 5Ghz on QCA9984 */ | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 40 GPIO_ACTIVE_LOW>; | ||||
| 	clkreq-gpio = <&tlmm 39 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			nvmem-cell-names = "mac-address"; | ||||
| 			nvmem-cells = <&macaddr_mac_0 4>; | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			qcom,ath10k-calibration-variant = "zte,mf289f"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,86 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| #include "qcom-ipq4019-xx8300.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Linksys MR8300 (Dallas)"; | ||||
| 	compatible = "linksys,mr8300", "qcom,ipq4019"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_blue; | ||||
| 		led-failsafe = &led_red; | ||||
| 		led-running = &led_blue; | ||||
| 		led-upgrade = &led_amber; | ||||
| 		serial0 = &blsp1_uart1; | ||||
| 	}; | ||||
|  | ||||
| 	// Top panel LEDs, above Linksys logo | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_red: red { | ||||
| 			function = LED_FUNCTION_ALARM; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_amber: amber { | ||||
| 			function = LED_FUNCTION_PROGRAMMING; | ||||
| 			color = <LED_COLOR_ID_AMBER>; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_blue: blue { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		// On back panel, above USB socket | ||||
|  | ||||
| 		led_usb: usb { | ||||
| 			function = LED_FUNCTION_USB; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_LOW>; | ||||
| 			trigger-sources = <&usb3_port1>, <&usb3_port2>, | ||||
| 					  <&usb2_port1>; | ||||
| 			linux,default-trigger = "usbport"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-mr8300-v0-fcc"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5170000 5330000>; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-mr8300-v0-fcc"; | ||||
| }; | ||||
|  | ||||
| &wifi2 { | ||||
| 	status = "okay"; | ||||
| 	ieee80211-freq-limit = <5490000 5835000>; | ||||
| 	qcom,ath10k-calibration-variant = "linksys-mr8300-v0-fcc"; | ||||
| }; | ||||
| @ -1,633 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-only OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
|  | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Sony NCP-HG100/Cellular"; | ||||
| 	compatible = "sony,ncp-hg100-cellular"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_cloud_green; | ||||
| 		led-failsafe = &led_cloud_red; | ||||
| 		led-running = &led_cloud_green; | ||||
| 		led-upgrade = &led_cloud_green; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "console=ttyMSM0,115200n8 root=/dev/mmcblk0p15 rootfstype=squashfs,ext4"; | ||||
| 	}; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x20000000>; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			status = "okay"; | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			status = "okay"; | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		ess_tcsr@1953000 { | ||||
| 			status = "okay"; | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1953000 0x1000>; | ||||
| 			qcom,ess-interface-select = <TCSR_ESS_PSGMII>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1957000 { | ||||
| 			status = "okay"; | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1957000 0x100>; | ||||
| 			qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys-repeat { | ||||
| 		compatible = "gpio-keys"; | ||||
| 		pinctrl-0 = <&keys_pins>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		autorepeat; | ||||
|  | ||||
| 		key-volup { | ||||
| 			label = "volume up"; | ||||
| 			linux,code = <KEY_VOLUMEUP>; | ||||
| 			gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,input-type = <EV_KEY>; | ||||
| 		}; | ||||
|  | ||||
| 		key-voldown { | ||||
| 			label = "volume down"; | ||||
| 			linux,code = <KEY_VOLUMEDOWN>; | ||||
| 			gpios = <&tlmm 40 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,input-type = <EV_KEY>; | ||||
| 		}; | ||||
|  | ||||
| 		key-alexatrigger { | ||||
| 			label = "alexa trigger"; | ||||
| 			linux,code = <BTN_0>; | ||||
| 			gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,input-type = <EV_KEY>; | ||||
| 		}; | ||||
|  | ||||
| 		key-mute { | ||||
| 			label = "mic mute"; | ||||
| 			linux,code = <BTN_1>; | ||||
| 			gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 			linux,input-type = <EV_SW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		key-reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		key-wps { | ||||
| 			label = "setup"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	pinctrl-0 = <&bt_pins>, <&aud_pins>, <&mcu_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	/* | ||||
| 	 * uart0 is shared for debug console and Z-Wave, | ||||
| 	 * use only for debug console in OpenWrt. | ||||
| 	 * | ||||
| 	 * 1: debug console | ||||
| 	 * 0: Z-Wave | ||||
| 	 */ | ||||
| 	uart0_ctrl_pins: uart0_ctrl_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio15"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	/* | ||||
| 	 * reset pin for Z-Wave | ||||
| 	 * active-low, >= 20ns | ||||
| 	 */ | ||||
| 	zwave_pins: zwave_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio59"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_1_pins: serial1_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio8", "gpio9", | ||||
| 				"gpio10", "gpio11"; | ||||
| 			function = "blsp_uart1"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	bt_pins: bt_pinmux { | ||||
| 		mux_reset { | ||||
| 			pins = "gpio66"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
|  | ||||
| 		mux_pwr { | ||||
| 			pins = "gpio68"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c_1_pins: i2c_1_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio12", "gpio13"; | ||||
| 			function = "blsp_i2c1"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys_pins: keys_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio39", "gpio40", "gpio42", "gpio47"; | ||||
| 			function = "gpio"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio2"; | ||||
| 			function = "gpio"; | ||||
| 			input; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	sd_pins: sd_pins { | ||||
| 		mux { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio23", "gpio24", "gpio25", "gpio26", | ||||
| 				"gpio28", "gpio29", "gpio30", "gpio31"; | ||||
| 			drive-strength = <4>; | ||||
| 		}; | ||||
|  | ||||
| 		mux_sd_clk { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio27"; | ||||
| 			drive-strength = <16>; | ||||
| 		}; | ||||
|  | ||||
| 		mux_sd7 { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio32"; | ||||
| 			drive-strength = <4>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aud_pins: aud_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio48", "gpio49", "gpio50", "gpio51"; | ||||
| 			function = "aud_pin"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	alc1304_pins: alc1304_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio44"; | ||||
| 			function = "gpio"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio45"; | ||||
| 			function = "gpio"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	cx2902x_reset: cx2902x_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio64"; | ||||
| 			function = "gpio"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio65"; | ||||
| 			function = "gpio"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	lte_pins: lte_pinmux { | ||||
| 		mux_en { | ||||
| 			pins = "gpio20"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
|  | ||||
| 		mux_reset { | ||||
| 			pins = "gpio35"; | ||||
| 			function = "gpio"; | ||||
| 			input; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_pins: usb3_pinmux { | ||||
| 		mux_en { | ||||
| 			pins = "gpio36"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
|  | ||||
| 		mux_flt { | ||||
| 			pins = "gpio4"; | ||||
| 			function = "gpio"; | ||||
| 			input; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mcu_pins: mcu_pinmux { | ||||
| 		mux_boot { | ||||
| 			pins = "gpio38"; | ||||
| 			function = "gpio"; | ||||
| 			output-low; | ||||
| 		}; | ||||
|  | ||||
| 		mux_reset { | ||||
| 			pins = "gpio5"; | ||||
| 			function = "gpio"; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c4 { | ||||
| 	/* | ||||
| 	 * There is no driver for the following devices: | ||||
| 	 * - CY8C4014LQI@14	: Touch-Sensor for buttons on top | ||||
| 	 * - MINI54FDE@15	: MCU for Fan/RGB LED/Thermal control | ||||
| 	 * - ALC5629@18		: I2S/PCM Audio DAC | ||||
| 	 * - CX20924@41		: Voice Input Processor | ||||
| 	 */ | ||||
| 	pinctrl-0 = <&i2c_1_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	led-controller@32 { | ||||
| 		compatible = "ti,lp55231"; | ||||
| 		reg = <0x32>; | ||||
| 		clock-mode = /bits/ 8 <0>; | ||||
| 		enable-gpio = <&tlmm 1 GPIO_ACTIVE_HIGH>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		led@0 { | ||||
| 			chan-name = "green:wan"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x0>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 		}; | ||||
|  | ||||
| 		led@1 { | ||||
| 			chan-name = "blue:wan"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x1>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 		}; | ||||
|  | ||||
| 		led@2 { | ||||
| 			chan-name = "green:lan"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x2>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 		}; | ||||
|  | ||||
| 		led@3 { | ||||
| 			chan-name = "blue:lan"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x3>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 		}; | ||||
|  | ||||
| 		led@4 { | ||||
| 			chan-name = "green:wlan-2"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x4>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <2>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led@5 { | ||||
| 			chan-name = "blue:wlan-2"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x5>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <2>; | ||||
| 		}; | ||||
|  | ||||
| 		led@6 { | ||||
| 			chan-name = "red:wan"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x6>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 		}; | ||||
|  | ||||
| 		led@7 { | ||||
| 			chan-name = "red:lan"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x7>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 		}; | ||||
|  | ||||
| 		led@8 { | ||||
| 			chan-name = "red:wlan-2"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x8>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <2>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	led-controller@33 { | ||||
| 		compatible = "ti,lp55231"; | ||||
| 		reg = <0x33>; | ||||
| 		clock-mode = /bits/ 8 <0>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		led@0 { | ||||
| 			chan-name = "green:wlan-5"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x0>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 			function-enumerator = <5>; | ||||
| 		}; | ||||
|  | ||||
| 		led@1 { | ||||
| 			chan-name = "blue:wlan-5"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x1>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <5>; | ||||
| 		}; | ||||
|  | ||||
| 		led@2 { | ||||
| 			chan-name = "green:wan-4"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x2>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_WAN; /* WWAN/LTE/4G */ | ||||
| 			function-enumerator = <4>; /* WWAN/LTE/4G */ | ||||
| 		}; | ||||
|  | ||||
| 		led@3 { | ||||
| 			chan-name = "blue:wan-4"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x3>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WAN; /* WWAN/LTE/4G */ | ||||
| 			function-enumerator = <4>; /* WWAN/LTE/4G */ | ||||
| 		}; | ||||
|  | ||||
| 		led_cloud_green: led@4 { | ||||
| 			chan-name = "green:power"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x4>; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
|  | ||||
| 		led@5 { | ||||
| 			chan-name = "blue:power"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x5>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
|  | ||||
| 		led@6 { | ||||
| 			chan-name = "red:wlan-5"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x6>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <5>; | ||||
| 		}; | ||||
|  | ||||
| 		led@7 { | ||||
| 			chan-name = "red:wan-4"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x7>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_WAN; /* WWAN/LTE/4G */ | ||||
| 			function-enumerator = <4>; /* WWAN/LTE/4G */ | ||||
| 		}; | ||||
|  | ||||
| 		led_cloud_red: led@8 { | ||||
| 			chan-name = "red:power"; | ||||
| 			led-cur = /bits/ 8 <50>; | ||||
| 			max-cur = /bits/ 8 <100>; | ||||
| 			reg = <0x8>; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>, <&uart0_ctrl_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart2 { | ||||
| 	pinctrl-0 = <&serial_1_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 41 GPIO_ACTIVE_LOW>; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &vqmmc { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &sdhci { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&sd_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	vqmmc-supply = <&vqmmc>; | ||||
| 	non-removable; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	emmc@0 { | ||||
| 		compatible = "mmc-card"; | ||||
| 		reg = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&usb3_pins>, <<e_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	device@1 { | ||||
| 		compatible = "usb1bc7,1900"; | ||||
| 		reg = <1>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "lan"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "wan"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "Sony-NCP-HG100-Cellular"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "Sony-NCP-HG100-Cellular"; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,338 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "EdgeCore OAP-100"; | ||||
| 	compatible = "edgecore,oap100"; | ||||
|  | ||||
| 	aliases { | ||||
| 		led-boot = &led_system; | ||||
| 		led-failsafe = &led_system; | ||||
| 		led-running = &led_system; | ||||
| 		led-upgrade = &led_system; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = " root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	key { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		button@1 { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,input-type = <1>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_system: led_system { | ||||
| 			label = "green:system"; | ||||
| 			gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_2g { | ||||
| 			label = "blue:wlan2g"; | ||||
| 			gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_5g { | ||||
| 			label = "blue:wlan5g"; | ||||
| 			gpios = <&tlmm 35 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	gpio_export { | ||||
| 		compatible = "gpio-export"; | ||||
|  | ||||
| 		usb { | ||||
| 			gpio-export,name = "usb-power"; | ||||
| 			gpio-export,output = <1>; | ||||
| 			gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		poe { | ||||
| 			gpio-export,name = "poe-power"; | ||||
| 			gpio-export,output = <0>; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_0_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio54", "gpio55", "gpio56", | ||||
| 				"gpio57", "gpio60", "gpio61", | ||||
| 				"gpio62", "gpio63", "gpio64", | ||||
| 				"gpio65", "gpio66", "gpio67", | ||||
| 				"gpio68", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		linux,modalias = "m25p80", "gd25q256"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition0@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x00000000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition1@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x00040000 0x00020000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition2@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x00060000 0x00060000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition3@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0x000c0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition4@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0x000d0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition5@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0x000e0000 0x00010000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition6@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0x000f0000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition7@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x00170000 0x00010000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x00000000 0x4000000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "Edgecore OAP100"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "Edgecore OAP100"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	usb@6000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		usb2_port1: port@1 { | ||||
| 			reg = <1>; | ||||
| 			#trigger-source-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,341 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	aliases { | ||||
| 		led-boot = &led_status_white; | ||||
| 		led-failsafe = &led_status_red; | ||||
| 		led-running = &led_status_green; | ||||
| 		led-upgrade = &led_status_blue; | ||||
| 		ethernet0 = &gmac; | ||||
| 		label-mac-device = &gmac; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		counter@4a1000 { | ||||
| 			compatible = "qcom,qca-gcnt"; | ||||
| 			reg = <0x4a1000 0x4>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led-0 { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; | ||||
| 			panic-indicator; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_green: led-2 { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_GREEN>; | ||||
| 			gpios = <&tlmm 53 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_red: led-3 { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_blue: led-4 { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_white: led-5 { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_WHITE>; | ||||
| 			gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &vqmmc { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &sdhci { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&sd_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	cd-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; | ||||
| 	vqmmc-supply = <&vqmmc>; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	i2c_0_pins: i2c_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_i2c0"; | ||||
| 			pins = "gpio58", "gpio59"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	sd_pins: sd_pins { | ||||
| 		pinmux { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio23", "gpio24", "gpio25", "gpio26", | ||||
| 				"gpio28", "gpio29", "gpio30", "gpio31"; | ||||
| 			drive-strength = <10>; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_sd_clk { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio27"; | ||||
| 			drive-strength = <16>; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_sd7 { | ||||
| 			function = "sdio"; | ||||
| 			pins = "gpio32"; | ||||
| 			drive-strength = <10>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_i2c3 { | ||||
| 	pinctrl-0 = <&i2c_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
|  | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	led-controller@27 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		compatible = "ti,tlc59108"; /* really is tlc59208f */ | ||||
| 		reg = <0x27>; | ||||
|  | ||||
| 		led0@0 { | ||||
| 			label = "rgb:led0"; | ||||
| 			reg = <0x0>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led1@1 { | ||||
| 			label = "rgb:led1"; | ||||
| 			reg = <0x1>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led2@2 { | ||||
| 			label = "rgb:led2"; | ||||
| 			reg = <0x2>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led3@3 { | ||||
| 			label = "rgb:led3"; | ||||
| 			reg = <0x3>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led4@4 { | ||||
| 			label = "rgb:led4"; | ||||
| 			reg = <0x4>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led5@5 { | ||||
| 			label = "rgb:led5"; | ||||
| 			reg = <0x5>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led6@6 { | ||||
| 			label = "rgb:led6"; | ||||
| 			reg = <0x6>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
|  | ||||
| 		led7@7 { | ||||
| 			label = "rgb:led7"; | ||||
| 			reg = <0x7>; | ||||
| 			linux,default-trigger = "default-on"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "wan"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	status = "disabled"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			ieee80211-freq-limit = <5470000 5875000>; | ||||
| 			qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60"; | ||||
| }; | ||||
| @ -1,258 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
| /* Copyright (c) 2017-2020, Sven Eckelmann <sven@narfation.org> | ||||
|  * Copyright (c) 2018, Marek Lindner <marek.lindner@kaiwoo.ai> | ||||
|  */ | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Plasma Cloud PA2200"; | ||||
| 	compatible = "plasmacloud,pa2200"; | ||||
|  | ||||
| 	soc { | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART >; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_power_orange; | ||||
| 		led-failsafe = &led_status_blue; | ||||
| 		led-running = &led_power_orange; | ||||
| 		led-upgrade = &led_status_blue; | ||||
| 		label-mac-device = &swport4; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power_orange: power_orange { | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_ORANGE>; | ||||
| 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		2g_blue { | ||||
| 			label = "blue:2g"; | ||||
| 			gpios = <&tlmm 46 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		2g_green { | ||||
| 			label = "green:5g1"; | ||||
| 			gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		5g2_green { | ||||
| 			label = "green:5g2"; | ||||
| 			gpios = <&tlmm 48 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy2tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led_status_blue: status_blue { | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &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; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		/* partitions are passed via bootloader */ | ||||
| 		partitions { | ||||
| 			partition-art { | ||||
| 				label = "0:ART"; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					macaddr_gmac0: macaddr@0 { | ||||
| 						reg = <0x0 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					macaddr_gmac1: macaddr@6 { | ||||
| 						reg = <0x6 0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_9000: precal@9000 { | ||||
| 						reg = <0x9000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			status = "okay"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
| 			qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200"; | ||||
| 			ieee80211-freq-limit = <5170000 5350000>; | ||||
|  | ||||
| 			nvmem-cell-names = "pre-calibration"; | ||||
| 			nvmem-cells = <&precal_art_9000>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet1"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac0>; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| 	label = "ethernet2"; | ||||
|  | ||||
| 	nvmem-cell-names = "mac-address"; | ||||
| 	nvmem-cells = <&macaddr_gmac1>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200"; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200"; | ||||
| 	ieee80211-freq-limit = <5470000 5875000>; | ||||
|  | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
| @ -1,18 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-r619ac.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "P&W R619AC 128M"; | ||||
| 	compatible = "p2w,r619ac-128m"; | ||||
| }; | ||||
|  | ||||
| &nand_rootfs { | ||||
| 	/* | ||||
| 	 * Watch out: stock MIBIB is set up for a 64MiB chip. | ||||
| 	 * If a 128MiB flash chip is used, make sure to have | ||||
| 	 * the right values in MIBIB or the device might not | ||||
| 	 * boot. | ||||
| 	 */ | ||||
| 	reg = <0x0 0x8000000>; | ||||
| }; | ||||
| @ -1,12 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-r619ac.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "P&W R619AC 64M"; | ||||
| 	compatible = "p2w,r619ac-64m"; | ||||
| }; | ||||
|  | ||||
| &nand_rootfs { | ||||
| 	reg = <0x0 0x4000000>; | ||||
| }; | ||||
| @ -1,389 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	chosen { | ||||
| 		bootargs-append = " ubi.mtd=ubi root=/dev/ubiblock0_1"; | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_sys; | ||||
| 		led-failsafe = &led_sys; | ||||
| 		led-running = &led_sys; | ||||
| 		led-upgrade = &led_sys; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_sys: led-0 { | ||||
| 			gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <0>; | ||||
| 		}; | ||||
|  | ||||
| 		led-2 { | ||||
| 			gpios = <&tlmm 50 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <1>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			nand_rootfs: partition@0 { | ||||
| 				label = "ubi"; | ||||
| 				/* reg defined in 64M/128M variant dts. */ | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&pcie_pins>; | ||||
| 	perst-gpio = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 40 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	/* Free slot for use */ | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &sdhci { | ||||
| 	pinctrl-0 = <&sd_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	vqmmc-supply = <&vqmmc>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	pcie_pins: pcie_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio2"; | ||||
| 			function = "gpio"; | ||||
| 			output-low; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	sd_0_pins: sd_0_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio23", "gpio24", "gpio25", "gpio26", "gpio28"; | ||||
| 			function = "sdio"; | ||||
| 			drive-strength = <10>; | ||||
| 		}; | ||||
|  | ||||
| 		mux_2 { | ||||
| 			pins = "gpio27"; | ||||
| 			function = "sdio"; | ||||
| 			drive-strength = <16>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_0_pins: serial0-pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
|  | ||||
| ðphy0 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy1 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy2 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy3 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| ðphy4 { | ||||
| 	qcom,single-led-1000; | ||||
| 	qcom,single-led-100; | ||||
| 	qcom,single-led-10; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan4"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan3"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &vqmmc { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| 	qcom,ath10k-calibration-variant = "P&W-R619AC"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| 	qcom,ath10k-calibration-variant = "P&W-R619AC"; | ||||
| }; | ||||
| @ -1,12 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-orbi.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "NETGEAR RBR40"; | ||||
| 	compatible = "netgear,rbr40"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,28 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-orbi.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "NETGEAR RBR50"; | ||||
| 	compatible = "netgear,rbr50"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,12 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-orbi.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "NETGEAR RBS40"; | ||||
| 	compatible = "netgear,rbs40"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,28 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-orbi.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "NETGEAR RBS50"; | ||||
| 	compatible = "netgear,rbs50"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| @ -1,326 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	model = "ASUS RT-AC42U"; | ||||
| 	compatible = "asus,rt-ac42u"; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x80000000 0x10000000>; /* 256MB */ | ||||
| 	}; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_power; | ||||
| 		led-failsafe = &led_power; | ||||
| 		led-running = &led_power; | ||||
| 		led-upgrade = &led_power; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			gpios = <&tlmm 11 GPIO_ACTIVE_LOW>; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power: led-0 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_STATUS; | ||||
| 			gpios = <&tlmm 40 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-1 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			gpios = <&tlmm 61 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "90000.mdio-1:04:link"; | ||||
| 		}; | ||||
|  | ||||
| 		led-2 { | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 			function = LED_FUNCTION_WAN; | ||||
| 			gpios = <&tlmm 68 GPIO_ACTIVE_HIGH>; | ||||
| 			linux,default-trigger = "none"; | ||||
| 		}; | ||||
|  | ||||
| 		led-3 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <0>; | ||||
| 			gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-4 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_WLAN; | ||||
| 			function-enumerator = <1>; | ||||
| 			gpios = <&tlmm 54 GPIO_ACTIVE_LOW>; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		led-5 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <1>; | ||||
| 			gpios = <&tlmm 45 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-6 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <2>; | ||||
| 			gpios = <&tlmm 43 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-7 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <3>; | ||||
| 			gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		led-8 { | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			function = LED_FUNCTION_LAN; | ||||
| 			function-enumerator = <4>; | ||||
| 			gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &qpic_bam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_0_pins: serial0_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	nand_pins: nand_pins { | ||||
| 		pullups { | ||||
| 			pins = "gpio53", "gpio58", "gpio59"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
|  | ||||
| 		pulldowns { | ||||
| 			pins = "gpio55", "gpio56", "gpio57", "gpio60", | ||||
| 				"gpio62", "gpio63", "gpio64", "gpio65", | ||||
| 				"gpio66", "gpio67", "gpio69"; | ||||
| 			function = "qpic"; | ||||
| 			bias-pull-down; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &nand { | ||||
| 	pinctrl-0 = <&nand_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	nand@0 { | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "SBL1"; | ||||
| 				reg = <0x00000000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@80000 { | ||||
| 				label = "MIBIB"; | ||||
| 				reg = <0x00080000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@100000 { | ||||
| 				label = "QSEE"; | ||||
| 				reg = <0x00100000 0x00100000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@200000 { | ||||
| 				label = "CDT"; | ||||
| 				reg = <0x00200000 0x00080000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@280000 { | ||||
| 				label = "APPSBL"; | ||||
| 				reg = <0x00280000 0x00140000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@3C0000 { | ||||
| 				label = "APPSBLENV"; | ||||
| 				reg = <0x003C0000 0x00040000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@400000 { | ||||
| 				label = "ubi"; | ||||
| 				reg = <0x00400000 0x07C00000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport5 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "ASUS-RT-AC42U"; | ||||
| }; | ||||
|  | ||||
| &pcie0 { | ||||
| 	status = "okay"; | ||||
| 	perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; | ||||
| 	wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; | ||||
| 	clkreq-gpio = <&tlmm 39 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	bridge@0,0 { | ||||
| 		reg = <0x00000000 0 0 0 0>; | ||||
| 		#address-cells = <3>; | ||||
| 		#size-cells = <2>; | ||||
| 		ranges; | ||||
|  | ||||
| 		wifi2: wifi@1,0 { | ||||
| 			compatible = "qcom,ath10k"; | ||||
| 			reg = <0x00010000 0 0 0 0>; | ||||
|  | ||||
| 			qcom,ath10k-calibration-variant = "ASUS-RT-AC42U"; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,399 +0,0 @@ | ||||
| // SPDX-License-Identifier: ISC | ||||
| // Copyright (c) 2015, The Linux Foundation. All rights reserved. | ||||
| // Copyright (c) 2019, Cezary Jackiewicz <cezary@eko.one.pl>. | ||||
| // Copyright (c) 2020, Pawel Dembicki <paweldembicki@gmail.com>. | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/leds/common.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Cell C RTL30VW"; | ||||
| 	compatible = "cellc,rtl30vw"; | ||||
|  | ||||
| 	aliases { | ||||
| 		// TODO: Verify if the ethernet0 alias is needed | ||||
| 		ethernet0 = &gmac; | ||||
| 		led-boot = &led_power_blue; | ||||
| 		led-failsafe = &led_power_red; | ||||
| 		led-running = &led_power_blue; | ||||
| 		led-upgrade = &led_power_red; | ||||
| 	}; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs-append = "ubi.mtd=ubifs root=/dev/ubiblock0_0 rootfstype=squashfs ro"; | ||||
| 	}; | ||||
|  | ||||
| 	led_spi { | ||||
| 		compatible = "spi-gpio"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		num-chipselects = <1>; | ||||
|  | ||||
| 		mosi-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; | ||||
| 		cs-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; | ||||
| 		sck-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 		led_gpio: led_gpio@0 { | ||||
| 			compatible = "fairchild,74hc595"; | ||||
| 			reg = <0>; | ||||
| 			gpio-controller; | ||||
| 			#gpio-cells = <2>; | ||||
| 			registers-number = <2>; | ||||
| 			spi-max-frequency = <1000000>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
|  | ||||
| 		led_power_blue: power_blue { | ||||
| 			gpios = <&led_gpio 0 GPIO_ACTIVE_HIGH>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
|  | ||||
| 		led_power_red: power_red { | ||||
| 			gpios = <&led_gpio 1 GPIO_ACTIVE_HIGH>; | ||||
| 			function = LED_FUNCTION_POWER; | ||||
| 			color = <LED_COLOR_ID_RED>; | ||||
| 		}; | ||||
|  | ||||
| 		tp28 { | ||||
| 			gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>; | ||||
| 			label = "ext:tp28"; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		tp27 { | ||||
| 			gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>; | ||||
| 			label = "ext:tp27"; | ||||
| 			default-state = "keep"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan2g { | ||||
| 			gpios = <&led_gpio 8 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:wlan2g"; | ||||
| 			linux,default-trigger = "phy0tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wlan5g { | ||||
| 			gpios = <&led_gpio 9 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:wlan5g"; | ||||
| 			linux,default-trigger = "phy1tpt"; | ||||
| 		}; | ||||
|  | ||||
| 		wps { | ||||
| 			gpios = <&led_gpio 10 GPIO_ACTIVE_HIGH>; | ||||
| 			function = LED_FUNCTION_WPS; | ||||
| 			color = <LED_COLOR_ID_BLUE>; | ||||
| 		}; | ||||
|  | ||||
| 		voip { | ||||
| 			gpios = <&led_gpio 11 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:voip"; | ||||
| 		}; | ||||
|  | ||||
| 		s1 { | ||||
| 			gpios = <&led_gpio 12 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:s1"; | ||||
| 		}; | ||||
|  | ||||
| 		s2 { | ||||
| 			gpios = <&led_gpio 13 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:s2"; | ||||
| 		}; | ||||
|  | ||||
| 		s3 { | ||||
| 			gpios = <&led_gpio 14 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:s3"; | ||||
| 		}; | ||||
|  | ||||
| 		s4 { | ||||
| 			gpios = <&led_gpio 15 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "blue:s4"; | ||||
| 		}; | ||||
|  | ||||
| 		signal { | ||||
| 			gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; | ||||
| 			label = "red:signal"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	keys { | ||||
| 		compatible = "gpio-keys"; | ||||
|  | ||||
| 		wps { | ||||
| 			label = "wps"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		reset { | ||||
| 			label = "reset"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			/* select hostmode */ | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &crypto { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>, <&tlmm 59 GPIO_ACTIVE_HIGH>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		/*"n25q128a11" is required for proper nand recognition in u-boot. */ | ||||
| 		compatible = "jedec,spi-nor", "n25q128a11"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		reg = <0>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 				}; | ||||
|  | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
|  | ||||
| 			partition@180000 { | ||||
| 				label = "0:BOOTCONFIG"; | ||||
| 				reg = <0x180000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	flash@1 { | ||||
| 		/* | ||||
| 		 * Factory U-boot looks in 0:BOOTCONFIG partition for active | ||||
| 		 * partitions settings and mangle partition config. So kernel | ||||
| 		 * /kernel_1 and rootfs/rootfs_1 pairs can be swaped. | ||||
| 		 * It isn't a problem but we never can be sure where OFW put | ||||
| 		 * factory images. "spinand,mt29f" value is required for proper | ||||
| 		 * nand recognition in u-boot. | ||||
| 		 */ | ||||
| 		compatible = "spi-nand","spinand,mt29f"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		reg = <1>; | ||||
| 		spi-max-frequency = <24000000>; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "kernel"; | ||||
| 				reg = <0x0 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@400000 { | ||||
| 				label = "rootfs"; | ||||
| 				reg = <0x400000 0x2000000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@2400000 { | ||||
| 				label = "kernel_1"; | ||||
| 				reg = <0x2400000 0x400000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@2800000 { | ||||
| 				label = "rootfs_1"; | ||||
| 				reg = <0x2800000 0x2000000>; | ||||
| 			}; | ||||
|  | ||||
| 			partition@4800000 { | ||||
| 				label = "ubifs"; | ||||
| 				reg = <0x4800000 0x3800000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &cryptobam { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	serial_pins: serial_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio60", "gpio61"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio55", "gpio56", "gpio57"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio54", "gpio59"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "cellc,rtl30vw"; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	qcom,ath10k-calibration-variant = "cellc,rtl30vw"; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &gmac { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &switch { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &swport3 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan1"; | ||||
| }; | ||||
|  | ||||
| &swport4 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	label = "lan2"; | ||||
| }; | ||||
| @ -1,12 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-orbi.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "NETGEAR SRR60"; | ||||
| 	compatible = "netgear,srr60"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_1)ro,256K(0:CDT)ro,256K(0:CDT_1)ro,512K(0:BOOTCONFIG1)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_1)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,64K(cert)ro,3840K(kernel-2)ro,31488K(rootfs-2)ro,35328K@44881K(firmware-2)ro,5M(device_table)ro,17M(cp_file)ro,102737K(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,12 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-orbi.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "NETGEAR SRS60"; | ||||
| 	compatible = "netgear,srs60"; | ||||
|  | ||||
| 	chosen { | ||||
| 		bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_1)ro,256K(0:CDT)ro,256K(0:CDT_1)ro,512K(0:BOOTCONFIG1)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_1)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,64K(cert)ro,3840K(kernel-2)ro,31488K(rootfs-2)ro,35328K@44881K(firmware-2)ro,5M(device_table)ro,17M(cp_file)ro,102737K(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait"; | ||||
| 	}; | ||||
| }; | ||||
| @ -1,91 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019-u4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
|  | ||||
| / { | ||||
| 	model = "Unielec U4019 (32M)"; | ||||
| 	compatible = "unielec,u4019-32m","unielec,u4019","qcom,ipq4019"; | ||||
| }; | ||||
|  | ||||
| &blsp1_spi1 { | ||||
| 	pinctrl-0 = <&spi_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| 	cs-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; | ||||
|  | ||||
| 	flash@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "jedec,spi-nor"; | ||||
| 		spi-max-frequency = <24000000>; | ||||
| 		broken-flash-reset; | ||||
|  | ||||
| 		partitions { | ||||
| 			compatible = "fixed-partitions"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | ||||
| 			partition@0 { | ||||
| 				label = "0:SBL1"; | ||||
| 				reg = <0x0 0x40000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@40000 { | ||||
| 				label = "0:MIBIB"; | ||||
| 				reg = <0x40000 0x20000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@60000 { | ||||
| 				label = "0:QSEE"; | ||||
| 				reg = <0x60000 0x60000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@c0000 { | ||||
| 				label = "0:CDT"; | ||||
| 				reg = <0xc0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@d0000 { | ||||
| 				label = "0:DDRPARAMS"; | ||||
| 				reg = <0xd0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@e0000 { | ||||
| 				label = "0:APPSBLENV"; | ||||
| 				reg = <0xe0000 0x10000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@f0000 { | ||||
| 				label = "0:APPSBL"; | ||||
| 				reg = <0xf0000 0x80000>; | ||||
| 				read-only; | ||||
| 			}; | ||||
| 			partition@170000 { | ||||
| 				label = "0:ART"; | ||||
| 				reg = <0x170000 0x10000>; | ||||
| 				read-only; | ||||
|  | ||||
| 				nvmem-layout { | ||||
| 					compatible = "fixed-layout"; | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <1>; | ||||
|  | ||||
| 					precal_art_1000: precal@1000 { | ||||
| 						reg = <0x1000 0x2f20>; | ||||
| 					}; | ||||
|  | ||||
| 					precal_art_5000: precal@5000 { | ||||
| 						reg = <0x5000 0x2f20>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			partition@180000 { | ||||
| 				compatible = "denx,fit"; | ||||
| 				label = "firmware"; | ||||
| 				reg = <0x180000 0x1e80000>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| @ -1,213 +0,0 @@ | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later OR MIT | ||||
|  | ||||
| #include "qcom-ipq4019.dtsi" | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include <dt-bindings/soc/qcom,tcsr.h> | ||||
|  | ||||
| / { | ||||
| 	compatible = "unielec,u4019","qcom,ipq4019"; | ||||
|  | ||||
| 	soc { | ||||
| 		tcsr@1949000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x1949000 0x100>; | ||||
| 			qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>; | ||||
| 		}; | ||||
|  | ||||
| 		tcsr@194b000 { | ||||
| 			compatible = "qcom,tcsr"; | ||||
| 			reg = <0x194b000 0x100>; | ||||
| 			qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>; | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		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>; | ||||
| 		}; | ||||
|  | ||||
| 		aliases { | ||||
| 			led-boot = &led_status; | ||||
| 			led-failsafe = &led_status; | ||||
| 			led-running = &led_status; | ||||
| 			led-upgrade = &led_status; | ||||
| 			serial0 = &blsp1_uart1; | ||||
| 			serial1 = &blsp1_uart2; | ||||
| 		}; | ||||
|  | ||||
| 		leds { | ||||
| 			compatible = "gpio-leds"; | ||||
| 			pinctrl-0 = <&led_pins>; | ||||
| 			pinctrl-names = "default"; | ||||
|  | ||||
| 			led_status: led2 { | ||||
| 				label = "green:led2"; | ||||
| 				gpios = <&tlmm 68 GPIO_ACTIVE_LOW>; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		keys { | ||||
| 			compatible = "gpio-keys"; | ||||
|  | ||||
| 			reset { | ||||
| 				label = "reset"; | ||||
| 				gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; | ||||
| 				linux,code = <KEY_RESTART>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &watchdog { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &prng { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp_dma { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart1 { | ||||
| 	pinctrl-0 = <&serial_0_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &blsp1_uart2 { | ||||
| 	pinctrl-0 = <&serial_1_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &tlmm { | ||||
| 	mdio_pins: mdio_pinmux { | ||||
| 		mux_1 { | ||||
| 			pins = "gpio6"; | ||||
| 			function = "mdio"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 		mux_2 { | ||||
| 			pins = "gpio7"; | ||||
| 			function = "mdc"; | ||||
| 			bias-pull-up; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	serial_0_pins: serial0-pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio16", "gpio17"; | ||||
| 			function = "blsp_uart0"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
| 	serial_1_pins: serial1_pinmux { | ||||
| 		mux { | ||||
| 			pins = "gpio8", "gpio9"; | ||||
| 			function = "blsp_uart1"; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	spi_0_pins: spi_0_pinmux { | ||||
| 		pinmux { | ||||
| 			function = "blsp_spi0"; | ||||
| 			pins = "gpio13", "gpio14", "gpio15"; | ||||
| 			drive-strength = <12>; | ||||
| 			bias-disable; | ||||
| 		}; | ||||
|  | ||||
| 		pinmux_cs { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio12"; | ||||
| 			drive-strength = <2>; | ||||
| 			bias-disable; | ||||
| 			output-high; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	led_pins: led_pinmux { | ||||
| 		mux { | ||||
| 			function = "gpio"; | ||||
| 			pins = "gpio68"; | ||||
| 			bias-disabled; | ||||
| 			output-low; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &usb3_ss_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb3_dwc { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
|  | ||||
| 	usb3_port1: port@1 { | ||||
| 		reg = <1>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_port2: port@2 { | ||||
| 		reg = <2>; | ||||
| 		#trigger-source-cells = <0>; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
|  | ||||
| &usb2_hs_phy { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | ||||
| &usb2 { | ||||
| 	status = "okay"; | ||||
|  | ||||
| 	usb@6000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		usb2_port1: port@1 { | ||||
| 			reg = <1>; | ||||
| 			#trigger-source-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
|  | ||||
| &mdio { | ||||
| 	status = "okay"; | ||||
| 	pinctrl-0 = <&mdio_pins>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	reset-gpios = <&tlmm 47 GPIO_ACTIVE_LOW>; | ||||
| 	reset-delay-us = <2000>; | ||||
| }; | ||||
|  | ||||
| &wifi0 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_1000>; | ||||
| }; | ||||
|  | ||||
| &wifi1 { | ||||
| 	status = "okay"; | ||||
| 	nvmem-cell-names = "pre-calibration"; | ||||
| 	nvmem-cells = <&precal_art_5000>; | ||||
| }; | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Tianling Shen
					Tianling Shen