|
@@ -0,0 +1,10431 @@
|
|
|
|
+From bb084c1d09e7b81ba4eda974ab0d7abcd6e3a114 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: AmadeusGhost <[email protected]>
|
|
|
|
+Date: Mon, 10 Apr 2023 23:15:08 +0800
|
|
|
|
+Subject: [PATCH] uboot-rockchip: bump to v2023.04
|
|
|
|
+
|
|
|
|
+For the python problem, just make clean.
|
|
|
|
+Skip the gpio patch due to it may broken boot.
|
|
|
|
+---
|
|
|
|
+ package/boot/uboot-rockchip/Makefile | 88 +-
|
|
|
|
+ ...hip-rk3568-add-boot-device-detection.patch | 43 -
|
|
|
|
+ ...k3568-enable-automatic-power-savings.patch | 52 -
|
|
|
|
+ ...le-rockchip-HACK-build-rk3568-images.patch | 47 -
|
|
|
|
+ .../004-arm-dts-sync-rk3568-with-linux.patch | 3520 -----------------
|
|
|
|
+ ...ckchip-rk356x-HACK-fix-sdmmc-support.patch | 50 -
|
|
|
|
+ ...rockchip-rk356x-add-quartz64-a-board.patch | 214 -
|
|
|
|
+ ...p-rk_gpio-support-v2-gpio-controller.patch | 755 ----
|
|
|
|
+ ...8-rockchip-allow-sdmmc-at-full-speed.patch | 22 -
|
|
|
|
+ ...ip-defconfig-add-gpio-v2-to-quartz64.patch | 25 -
|
|
|
|
+ ...6x-enable-usb2-support-on-quartz64-a.patch | 97 -
|
|
|
|
+ ...-rk356x-attempt-to-fix-ram-detection.patch | 173 -
|
|
|
|
+ ...ync-rk3566-device-tree-with-mainline.patch | 1060 -----
|
|
|
|
+ ...rockchip-rk356x-add-bpi-r2-pro-board.patch | 795 ----
|
|
|
|
+ .../014-uboot-add-Radxa-ROCK-3A-board.patch | 690 ----
|
|
|
|
+ .../015-uboot-add-NanoPi-R5S-board.patch | 132 +-
|
|
|
|
+ .../016-rk356x-ddr-fix-dbw-detect-bug.patch | 42 -
|
|
|
|
+ ...7-gpio-rockchip-fix-building-for-spl.patch | 44 -
|
|
|
|
+ ...lk-rockchip-rk3568-fix-reset-handler.patch | 28 -
|
|
|
|
+ ...8-driver-Makefile-support-adc-in-SPL.patch | 35 +
|
|
|
|
+ ...-rockchip-handle-bootrom-mode-in-spl.patch | 6 +-
|
|
|
|
+ ...CONFIG_USB_OHCI_NEW-et-al-to-Kconfig.patch | 282 --
|
|
|
|
+ ...104-mkimage-add-public-key-for-image.patch | 166 -
|
|
|
|
+ .../105-Only-build-dtc-if-needed.patch | 125 -
|
|
|
|
+ .../patches/106-no-kwbimage.patch | 2 +-
|
|
|
|
+ .../patches/110-force-pylibfdt-build.patch | 30 +
|
|
|
|
+ .../patches/111-fix-mkimage-host-build.patch | 24 +
|
|
|
|
+ ...-clk-scmi-Add-Kconfig-option-for-SPL.patch | 72 +
|
|
|
|
+ ...trl-rockchip-Fix-IO-mux-selection-on.patch | 126 +
|
|
|
|
+ ...rock64pro-disable-CONFIG_USE_PREBOOT.patch | 6 +-
|
|
|
|
+ ...s-rockchip-Add-GuangMiao-G4C-support.patch | 2 +-
|
|
|
|
+ ...328-Add-support-for-Orangepi-R1-Plus.patch | 22 +-
|
|
|
|
+ ...Add-support-for-Orangepi-R1-Plus-LTS.patch | 24 +-
|
|
|
|
+ ...Add-support-for-FriendlyARM-NanoPi-R.patch | 34 +-
|
|
|
|
+ ...Add-support-for-FriendlyARM-NanoPi-R.patch | 2 +-
|
|
|
|
+ ...399-Add-support-for-Rongpin-king3399.patch | 2 +-
|
|
|
|
+ ...399-Add-support-for-Rocktech-MPC1903.patch | 2 +-
|
|
|
|
+ ...399-Add-support-for-sharevdi-h3399pc.patch | 2 +-
|
|
|
|
+ ...68-Add-support-for-ezpro_mrkaio-m68s.patch | 56 +-
|
|
|
|
+ ...568-Add-support-for-hinlink-opc-h68k.patch | 56 +-
|
|
|
|
+ ...k3568-Add-support-for-fastrhino-r66s.patch | 54 +-
|
|
|
|
+ ...ip-rk3568-Add-support-for-Station-P2.patch | 43 +-
|
|
|
|
+ ...ip-rk3568-Add-support-for-photonicat.patch | 56 +-
|
|
|
|
+ ...hip-rk3568-Add-support-for-radxa_e25.patch | 62 +-
|
|
|
|
+ 44 files changed, 589 insertions(+), 8579 deletions(-)
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/001-rockchip-rk3568-add-boot-device-detection.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/002-rockchip-rk3568-enable-automatic-power-savings.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/003-Makefile-rockchip-HACK-build-rk3568-images.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/004-arm-dts-sync-rk3568-with-linux.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/005-rockchip-rk356x-HACK-fix-sdmmc-support.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/006-rockchip-rk356x-add-quartz64-a-board.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/007-gpio-rockchip-rk_gpio-support-v2-gpio-controller.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/008-rockchip-allow-sdmmc-at-full-speed.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/009-rockchip-defconfig-add-gpio-v2-to-quartz64.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/010-rockchip-rk356x-enable-usb2-support-on-quartz64-a.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/011-rockchip-rk356x-attempt-to-fix-ram-detection.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/012-resync-rk3566-device-tree-with-mainline.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/013-rockchip-rk356x-add-bpi-r2-pro-board.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/014-uboot-add-Radxa-ROCK-3A-board.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/016-rk356x-ddr-fix-dbw-detect-bug.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/017-gpio-rockchip-fix-building-for-spl.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/018-clk-rockchip-rk3568-fix-reset-handler.patch
|
|
|
|
+ create mode 100644 package/boot/uboot-rockchip/patches/018-driver-Makefile-support-adc-in-SPL.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/100-Convert-CONFIG_USB_OHCI_NEW-et-al-to-Kconfig.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/104-mkimage-add-public-key-for-image.patch
|
|
|
|
+ delete mode 100644 package/boot/uboot-rockchip/patches/105-Only-build-dtc-if-needed.patch
|
|
|
|
+ create mode 100644 package/boot/uboot-rockchip/patches/110-force-pylibfdt-build.patch
|
|
|
|
+ create mode 100644 package/boot/uboot-rockchip/patches/111-fix-mkimage-host-build.patch
|
|
|
|
+ create mode 100644 package/boot/uboot-rockchip/patches/120-clk-scmi-Add-Kconfig-option-for-SPL.patch
|
|
|
|
+ create mode 100644 package/boot/uboot-rockchip/patches/121-pinctrl-rockchip-Fix-IO-mux-selection-on.patch
|
|
|
|
+
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile
|
|
|
|
+index 3826317dcf0c..810a24543bf1 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/Makefile
|
|
|
|
++++ b/package/boot/uboot-rockchip/Makefile
|
|
|
|
+@@ -5,10 +5,10 @@
|
|
|
|
+ include $(TOPDIR)/rules.mk
|
|
|
|
+ include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
+
|
|
|
|
+-PKG_VERSION:=2022.07
|
|
|
|
++PKG_VERSION:=2023.04
|
|
|
|
+ PKG_RELEASE:=$(AUTORELEASE)
|
|
|
|
+
|
|
|
|
+-PKG_HASH:=92b08eb49c24da14c1adbf70a71ae8f37cc53eeb4230e859ad8b6733d13dcf5e
|
|
|
|
++PKG_HASH:=e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341
|
|
|
|
+
|
|
|
|
+ PKG_MAINTAINER:=Tobias Maedel <[email protected]>
|
|
|
|
+
|
|
|
|
+@@ -77,7 +77,7 @@ define U-Boot/guangmiao-g4c-rk3399
|
|
|
|
+ NAME:=GuangMiao G4C
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ sharevdi_guangmiao-g4c
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-guangmiao-g4c-rk3399:arm-trusted-firmware-rockchip
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-guangmiao-g4c-rk3399:trusted-firmware-a-rk3399
|
|
|
|
+ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
+ ATF:=rk3399_bl31.elf
|
|
|
|
+ endef
|
|
|
|
+@@ -109,7 +109,7 @@ define U-Boot/rock-pi-4-rk3399
|
|
|
|
+ NAME:=Rock Pi 4
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ radxa_rock-pi-4
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-rock-pi-4-rk3399:arm-trusted-firmware-rockchip
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-rock-pi-4-rk3399:trusted-firmware-a-rk3399
|
|
|
|
+ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
+ ATF:=rk3399_bl31.elf
|
|
|
|
+ endef
|
|
|
|
+@@ -119,7 +119,7 @@ define U-Boot/rockpro64-rk3399
|
|
|
|
+ NAME:=RockPro64
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ pine64_rockpro64
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-rockpro64-rk3399:arm-trusted-firmware-rockchip
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-rockpro64-rk3399:trusted-firmware-a-rk3399
|
|
|
|
+ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
+ ATF:=rk3399_bl31.elf
|
|
|
|
+ endef
|
|
|
|
+@@ -165,9 +165,9 @@ define U-Boot/mrkaio-m68s-rk3568
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ ezpro_mrkaio-m68s \
|
|
|
|
+ ezpro_mrkaio-m68s-plus
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-mrkaio-m68s-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-mrkaio-m68s-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -177,9 +177,9 @@ define U-Boot/nanopi-r5s-rk3568
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ friendlyarm_nanopi-r5c \
|
|
|
|
+ friendlyarm_nanopi-r5s
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-nanopi-r5s-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-nanopi-r5s-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -190,9 +190,9 @@ define U-Boot/opc-h68k-rk3568
|
|
|
|
+ hinlink_opc-h66k \
|
|
|
|
+ hinlink_opc-h68k \
|
|
|
|
+ hinlink_opc-h69k
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-opc-h68k-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-opc-h68k-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -201,9 +201,9 @@ define U-Boot/photonicat-rk3568
|
|
|
|
+ NAME:=Ariaboard Photonicat
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ ariaboard_photonicat
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-photonicat-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-photonicat-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -212,9 +212,9 @@ define U-Boot/radxa-e25-rk3568
|
|
|
|
+ NAME:=Radxa E25
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ radxa_e25
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-radxa-e25-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-radxa-e25-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -223,9 +223,9 @@ define U-Boot/rock-3a-rk3568
|
|
|
|
+ NAME:=ROCK3 Model A
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ radxa_rock-3a
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-rock-3a-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-rock-3a-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -235,9 +235,9 @@ define U-Boot/r66s-rk3568
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ fastrhino_r66s \
|
|
|
|
+ fastrhino_r68s
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-r66s-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-r66s-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -246,9 +246,9 @@ define U-Boot/station-p2-rk3568
|
|
|
|
+ NAME:=StationP2
|
|
|
|
+ BUILD_DEVICES:= \
|
|
|
|
+ firefly_station-p2
|
|
|
|
+- DEPENDS:=+PACKAGE_u-boot-station-p2-rk3568:arm-trusted-firmware-rk3568
|
|
|
|
+- PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip-vendor
|
|
|
|
+- ATF:=rk3568_bl31_v1.34.elf
|
|
|
|
++ DEPENDS:=+PACKAGE_u-boot-station-p2-rk3568:trusted-firmware-a-rk3568
|
|
|
|
++ PKG_BUILD_DEPENDS:=arm-trusted-firmware-rockchip
|
|
|
|
++ ATF:=rk3568_bl31.elf
|
|
|
|
+ DDR:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+@@ -279,15 +279,39 @@ UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
|
|
|
|
+ UBOOT_MAKE_FLAGS += \
|
|
|
|
+ BL31=$(STAGING_DIR_IMAGE)/$(ATF)
|
|
|
|
+
|
|
|
|
++ifeq ($(CONFIG_PACKAGE_trusted-firmware-a-rk3568),y)
|
|
|
|
++UBOOT_MAKE_FLAGS += \
|
|
|
|
++ ROCKCHIP_TPL=$(PKG_BUILD_DIR)/$(DDR)
|
|
|
|
++endif
|
|
|
|
++
|
|
|
|
++RKBIN_URL:=https://raw.githubusercontent.com/rockchip-linux/rkbin/b0c100f1a260d807df450019774993c761beb79d
|
|
|
|
++
|
|
|
|
++define Download/rk3566-ddr
|
|
|
|
++ FILE:=rk3566_ddr_1056MHz_v1.13.bin
|
|
|
|
++ URL:=$(RKBIN_URL)/bin/rk35/
|
|
|
|
++ HASH:=6f165b37640eb876b5f41297bcce6451eb8a86fa56649633d4aca76047136a36
|
|
|
|
++endef
|
|
|
|
++$(eval $(call Download,rk3566-ddr))
|
|
|
|
++
|
|
|
|
++define Download/rk3568-ddr
|
|
|
|
++ FILE:=rk3568_ddr_1560MHz_v1.13.bin
|
|
|
|
++ URL:=$(RKBIN_URL)/bin/rk35/
|
|
|
|
++ HASH:=53d5e893916e647ccb8c5a2a51f749e9e11bf7329e61a2f94d8c089a333d7812
|
|
|
|
++endef
|
|
|
|
++$(eval $(call Download,rk3568-ddr))
|
|
|
|
++
|
|
|
|
++define Build/Prepare
|
|
|
|
++ $(call Build/Prepare/Default)
|
|
|
|
++ $(CP) $(DL_DIR)/rk3566_ddr_1056MHz_v1.13.bin $(PKG_BUILD_DIR)/
|
|
|
|
++ $(CP) $(DL_DIR)/rk3568_ddr_1560MHz_v1.13.bin $(PKG_BUILD_DIR)/
|
|
|
|
++endef
|
|
|
|
++
|
|
|
|
+ define Build/Configure
|
|
|
|
+ $(call Build/Configure/U-Boot)
|
|
|
|
+
|
|
|
|
+ $(SED) 's/CONFIG_TOOLS_LIBCRYPTO=y/# CONFIG_TOOLS_LIBCRYPTO is not set/' $(PKG_BUILD_DIR)/.config
|
|
|
|
+ $(SED) 's#CONFIG_MKIMAGE_DTC_PATH=.*#CONFIG_MKIMAGE_DTC_PATH="$(PKG_BUILD_DIR)/scripts/dtc/dtc"#g' $(PKG_BUILD_DIR)/.config
|
|
|
|
+ echo 'CONFIG_IDENT_STRING=" OpenWrt"' >> $(PKG_BUILD_DIR)/.config
|
|
|
|
+-ifneq ($(DDR),)
|
|
|
|
+- $(CP) $(STAGING_DIR_IMAGE)/$(DDR) $(PKG_BUILD_DIR)/ram_init.bin
|
|
|
|
+-endif
|
|
|
|
+ endef
|
|
|
|
+
|
|
|
|
+ define Build/InstallDev
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/001-rockchip-rk3568-add-boot-device-detection.patch b/package/boot/uboot-rockchip/patches/001-rockchip-rk3568-add-boot-device-detection.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index b3dd30996f55..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/001-rockchip-rk3568-add-boot-device-detection.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,43 +0,0 @@
|
|
|
|
+-From 9b92a43a4f5acf4cba14fd9d473b3120688532dc Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 19 Dec 2021 08:10:24 -0500
|
|
|
|
+-Subject: [PATCH 01/11] rockchip: rk3568: add boot device detection
|
|
|
|
+-
|
|
|
|
+-Enable spl to detect which device it was booted from.
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/rk3568.c | 8 ++++++++
|
|
|
|
+- 1 file changed, 8 insertions(+)
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-@@ -7,6 +7,7 @@
|
|
|
|
+- #include <dm.h>
|
|
|
|
+- #include <asm/armv8/mmu.h>
|
|
|
|
+- #include <asm/io.h>
|
|
|
|
+-+#include <asm/arch-rockchip/bootrom.h>
|
|
|
|
+- #include <asm/arch-rockchip/grf_rk3568.h>
|
|
|
|
+- #include <asm/arch-rockchip/hardware.h>
|
|
|
|
+- #include <dt-bindings/clock/rk3568-cru.h>
|
|
|
|
+-@@ -23,6 +24,7 @@
|
|
|
|
+- #define SGRF_SOC_CON4 0x10
|
|
|
|
+- #define EMMC_HPROT_SECURE_CTRL 0x03
|
|
|
|
+- #define SDMMC0_HPROT_SECURE_CTRL 0x01
|
|
|
|
+-+
|
|
|
|
+- /* PMU_GRF_GPIO0D_IOMUX_L */
|
|
|
|
+- enum {
|
|
|
|
+- GPIO0D1_SHIFT = 4,
|
|
|
|
+-@@ -43,6 +45,12 @@ enum {
|
|
|
|
+- UART2_IO_SEL_M0 = 0,
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
|
|
|
|
+-+ [BROM_BOOTSOURCE_EMMC] = "/sdhci@fe310000",
|
|
|
|
+-+ [BROM_BOOTSOURCE_SPINOR] = "/spi@fe300000/flash@0",
|
|
|
|
+-+ [BROM_BOOTSOURCE_SD] = "/mmc@fe2b0000",
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- static struct mm_region rk3568_mem_map[] = {
|
|
|
|
+- {
|
|
|
|
+- .virt = 0x0UL,
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/002-rockchip-rk3568-enable-automatic-power-savings.patch b/package/boot/uboot-rockchip/patches/002-rockchip-rk3568-enable-automatic-power-savings.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index f38d9f4df934..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/002-rockchip-rk3568-enable-automatic-power-savings.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,52 +0,0 @@
|
|
|
|
+-From 09d877cf076cbb67c79054e12bbb7c63a91faa71 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 19 Dec 2021 08:11:56 -0500
|
|
|
|
+-Subject: [PATCH 02/11] rockchip: rk3568: enable automatic power savings
|
|
|
|
+-
|
|
|
|
+-Enable automatic clock gating, solves the 7c temperature difference on
|
|
|
|
+-SoQuartz.
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/rk3568.c | 23 +++++++++++++++++++++++
|
|
|
|
+- 1 file changed, 23 insertions(+)
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-@@ -25,6 +25,15 @@
|
|
|
|
+- #define EMMC_HPROT_SECURE_CTRL 0x03
|
|
|
|
+- #define SDMMC0_HPROT_SECURE_CTRL 0x01
|
|
|
|
+-
|
|
|
|
+-+#define PMU_BASE_ADDR 0xfdd90000
|
|
|
|
+-+#define PMU_NOC_AUTO_CON0 (0x70)
|
|
|
|
+-+#define PMU_NOC_AUTO_CON1 (0x74)
|
|
|
|
+-+#define EDP_PHY_GRF_BASE 0xfdcb0000
|
|
|
|
+-+#define EDP_PHY_GRF_CON0 (EDP_PHY_GRF_BASE + 0x00)
|
|
|
|
+-+#define EDP_PHY_GRF_CON10 (EDP_PHY_GRF_BASE + 0x28)
|
|
|
|
+-+#define CPU_GRF_BASE 0xfdc30000
|
|
|
|
+-+#define GRF_CORE_PVTPLL_CON0 (0x10)
|
|
|
|
+-+
|
|
|
|
+- /* PMU_GRF_GPIO0D_IOMUX_L */
|
|
|
|
+- enum {
|
|
|
|
+- GPIO0D1_SHIFT = 4,
|
|
|
|
+-@@ -99,6 +108,20 @@ void board_debug_uart_init(void)
|
|
|
|
+- int arch_cpu_init(void)
|
|
|
|
+- {
|
|
|
|
+- #ifdef CONFIG_SPL_BUILD
|
|
|
|
+-+ /*
|
|
|
|
+-+ * When perform idle operation, corresponding clock can
|
|
|
|
+-+ * be opened or gated automatically.
|
|
|
|
+-+ */
|
|
|
|
+-+ writel(0xffffffff, PMU_BASE_ADDR + PMU_NOC_AUTO_CON0);
|
|
|
|
+-+ writel(0x000f000f, PMU_BASE_ADDR + PMU_NOC_AUTO_CON1);
|
|
|
|
+-+
|
|
|
|
+-+ /* Disable eDP phy by default */
|
|
|
|
+-+ writel(0x00070007, EDP_PHY_GRF_CON10);
|
|
|
|
+-+ writel(0x0ff10ff1, EDP_PHY_GRF_CON0);
|
|
|
|
+-+
|
|
|
|
+-+ /* Set core pvtpll ring length */
|
|
|
|
+-+ writel(0x00ff002b, CPU_GRF_BASE + GRF_CORE_PVTPLL_CON0);
|
|
|
|
+-+
|
|
|
|
+- /* Set the emmc sdmmc0 to secure */
|
|
|
|
+- rk_clrreg(SGRF_BASE + SGRF_SOC_CON4, (EMMC_HPROT_SECURE_CTRL << 11
|
|
|
|
+- | SDMMC0_HPROT_SECURE_CTRL << 4));
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/003-Makefile-rockchip-HACK-build-rk3568-images.patch b/package/boot/uboot-rockchip/patches/003-Makefile-rockchip-HACK-build-rk3568-images.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 5a8173016314..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/003-Makefile-rockchip-HACK-build-rk3568-images.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,47 +0,0 @@
|
|
|
|
+-From ddbcec939789d1f7264134b3628ffb649ec88168 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 19 Dec 2021 08:20:33 -0500
|
|
|
|
+-Subject: [PATCH 03/11] Makefile: rockchip: HACK: build rk3568 images
|
|
|
|
+-
|
|
|
|
+-This is a hack to build rk3568 images.
|
|
|
|
+-It seems makefile can't cope with the format mkimage expects for
|
|
|
|
+-multiple file entries, so hack around the situation.
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- Makefile | 10 ++++++++++
|
|
|
|
+- 1 file changed, 10 insertions(+)
|
|
|
|
+-
|
|
|
|
+---- a/Makefile
|
|
|
|
+-+++ b/Makefile
|
|
|
|
+-@@ -1047,6 +1047,9 @@ quiet_cmd_mkimage = MKIMAGE $@
|
|
|
|
+- cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
|
|
|
|
+- >$(MKIMAGEOUTPUT) $(if $(KBUILD_VERBOSE:0=), && cat $(MKIMAGEOUTPUT))
|
|
|
|
+-
|
|
|
|
+-+cmd_mkimage_combined = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $(COMBINED_FILE):$< $@ \
|
|
|
|
+-+ >$(MKIMAGEOUTPUT) $(if $(KBUILD_VERBOSE:0=), && cat $(MKIMAGEOUTPUT))
|
|
|
|
+-+
|
|
|
|
+- quiet_cmd_mkfitimage = MKIMAGE $@
|
|
|
|
+- cmd_mkfitimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) \
|
|
|
|
+- -f $(U_BOOT_ITS) -p $(CONFIG_FIT_EXTERNAL_OFFSET) $@ \
|
|
|
|
+-@@ -1491,6 +1494,7 @@ u-boot-with-spl.bin: $(SPL_IMAGE) $(SPL_
|
|
|
|
+- ifeq ($(CONFIG_ARCH_ROCKCHIP),y)
|
|
|
|
+-
|
|
|
|
+- # TPL + SPL
|
|
|
|
+-+ifneq ($(CONFIG_SYS_SOC),$(filter $(CONFIG_SYS_SOC),"rk3568" "rk3566"))
|
|
|
|
+- ifeq ($(CONFIG_SPL)$(CONFIG_TPL),yy)
|
|
|
|
+- MKIMAGEFLAGS_u-boot-tpl-rockchip.bin = -n $(CONFIG_SYS_SOC) -T rksd
|
|
|
|
+- tpl/u-boot-tpl-rockchip.bin: tpl/u-boot-tpl.bin FORCE
|
|
|
|
+-@@ -1502,6 +1506,12 @@ MKIMAGEFLAGS_idbloader.img = -n $(CONFIG
|
|
|
|
+- idbloader.img: spl/u-boot-spl.bin FORCE
|
|
|
|
+- $(call if_changed,mkimage)
|
|
|
|
+- endif
|
|
|
|
+-+else
|
|
|
|
+-+MKIMAGEFLAGS_idbloader.img = -n $(CONFIG_SYS_SOC) -T rksd
|
|
|
|
+-+COMBINED_FILE = ram_init.bin
|
|
|
|
+-+idbloader.img: spl/u-boot-spl.bin FORCE
|
|
|
|
+-+ $(call if_changed,mkimage_combined)
|
|
|
|
+-+endif
|
|
|
|
+-
|
|
|
|
+- ifeq ($(CONFIG_ARM64),y)
|
|
|
|
+- OBJCOPYFLAGS_u-boot-rockchip.bin = -I binary -O binary \
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/004-arm-dts-sync-rk3568-with-linux.patch b/package/boot/uboot-rockchip/patches/004-arm-dts-sync-rk3568-with-linux.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 422f1c4d378f..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/004-arm-dts-sync-rk3568-with-linux.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,3520 +0,0 @@
|
|
|
|
+-From 25624318957d560ce58be672fe2fa8537716afc7 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 19 Dec 2021 15:14:47 -0500
|
|
|
|
+-Subject: [PATCH 04/11] arm: dts: sync rk3568 with linux
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/Makefile | 3 +-
|
|
|
|
+- arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi | 24 +
|
|
|
|
+- arch/arm/dts/rk3566-quartz64-a.dts | 860 +++++++++++
|
|
|
|
+- arch/arm/dts/rk3566.dtsi | 32 +
|
|
|
|
+- arch/arm/dts/rk3568-evb.dts | 5 +
|
|
|
|
+- arch/arm/dts/rk3568-pinctrl.dtsi | 9 +
|
|
|
|
+- arch/arm/dts/rk3568.dtsi | 860 ++---------
|
|
|
|
+- arch/arm/dts/rk356x.dtsi | 1630 ++++++++++++++++++++
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/rk3568.c | 2 +-
|
|
|
|
+- 9 files changed, 2672 insertions(+), 753 deletions(-)
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3566-quartz64-a.dts
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3566.dtsi
|
|
|
|
+- create mode 100644 arch/arm/dts/rk356x.dtsi
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/Makefile
|
|
|
|
+-+++ b/arch/arm/dts/Makefile
|
|
|
|
+-@@ -164,7 +164,8 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
+- rk3399pro-rock-pi-n10.dtb
|
|
|
|
+-
|
|
|
|
+- dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+-- rk3568-evb.dtb
|
|
|
|
+-+ rk3568-evb.dtb \
|
|
|
|
+-+ rk3566-quartz64-a.dtb
|
|
|
|
+-
|
|
|
|
+- dtb-$(CONFIG_ROCKCHIP_RV1108) += \
|
|
|
|
+- rv1108-elgin-r1.dtb \
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-@@ -0,0 +1,24 @@
|
|
|
|
+-+// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+/*
|
|
|
|
+-+ * (C) Copyright 2021 Rockchip Electronics Co., Ltd
|
|
|
|
+-+ */
|
|
|
|
+-+
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ chosen {
|
|
|
|
+-+ stdout-path = &uart2;
|
|
|
|
+-+ u-boot,spl-boot-order = "same-as-spl", &sdmmc0, &sdhci;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ u-boot,dm-spl;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart2 {
|
|
|
|
+-+ clock-frequency = <24000000>;
|
|
|
|
+-+ u-boot,dm-spl;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3566-quartz64-a.dts
|
|
|
|
+-@@ -0,0 +1,860 @@
|
|
|
|
+-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+-+
|
|
|
|
+-+/dts-v1/;
|
|
|
|
+-+
|
|
|
|
+-+#include <dt-bindings/gpio/gpio.h>
|
|
|
|
+-+#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+-+#include "rk3566.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ model = "Pine64 RK3566 Quartz64-A Board";
|
|
|
|
+-+ compatible = "pine64,quartz64-a", "rockchip,rk3566";
|
|
|
|
+-+
|
|
|
|
+-+ aliases {
|
|
|
|
+-+ ethernet0 = &gmac1;
|
|
|
|
+-+ mmc0 = &sdmmc0;
|
|
|
|
+-+ mmc1 = &sdhci;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ chosen: chosen {
|
|
|
|
+-+ stdout-path = "serial2:1500000n8";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ battery_cell: battery-cell {
|
|
|
|
+-+ compatible = "simple-battery";
|
|
|
|
+-+ charge-full-design-microamp-hours = <2500000>;
|
|
|
|
+-+ charge-term-current-microamp = <300000>;
|
|
|
|
+-+ constant-charge-current-max-microamp = <2000000>;
|
|
|
|
+-+ constant-charge-voltage-max-microvolt = <4200000>;
|
|
|
|
+-+ factory-internal-resistance-micro-ohms = <180000>;
|
|
|
|
+-+ voltage-max-design-microvolt = <4106000>;
|
|
|
|
+-+ voltage-min-design-microvolt = <3625000>;
|
|
|
|
+-+
|
|
|
|
+-+ ocv-capacity-celsius = <20>;
|
|
|
|
+-+ ocv-capacity-table-0 = <4106000 100>, <4071000 95>, <4018000 90>, <3975000 85>,
|
|
|
|
+-+ <3946000 80>, <3908000 75>, <3877000 70>, <3853000 65>,
|
|
|
|
+-+ <3834000 60>, <3816000 55>, <3802000 50>, <3788000 45>,
|
|
|
|
+-+ <3774000 40>, <3760000 35>, <3748000 30>, <3735000 25>,
|
|
|
|
+-+ <3718000 20>, <3697000 15>, <3685000 10>, <3625000 0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gmac1_clkin: external-gmac1-clock {
|
|
|
|
+-+ compatible = "fixed-clock";
|
|
|
|
+-+ clock-frequency = <125000000>;
|
|
|
|
+-+ clock-output-names = "gmac1_clkin";
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ fan: gpio_fan {
|
|
|
|
+-+ compatible = "gpio-fan";
|
|
|
|
+-+ gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ gpio-fan,speed-map = <0 0
|
|
|
|
+-+ 4500 1>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&fan_en_h>;
|
|
|
|
+-+ #cooling-cells = <2>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ leds {
|
|
|
|
+-+ compatible = "gpio-leds";
|
|
|
|
+-+
|
|
|
|
+-+ led-work {
|
|
|
|
+-+ label = "work-led";
|
|
|
|
+-+ default-state = "off";
|
|
|
|
+-+ gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&work_led_enable_h>;
|
|
|
|
+-+ retain-state-suspended;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ led-diy {
|
|
|
|
+-+ label = "diy-led";
|
|
|
|
+-+ default-state = "on";
|
|
|
|
+-+ gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ linux,default-trigger = "heartbeat";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&diy_led_enable_h>;
|
|
|
|
+-+ retain-state-suspended;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ rk817-sound {
|
|
|
|
+-+ compatible = "simple-audio-card";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&hp_det_h>;
|
|
|
|
+-+ simple-audio-card,format = "i2s";
|
|
|
|
+-+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ simple-audio-card,name = "Analog RK817";
|
|
|
|
+-+ simple-audio-card,mclk-fs = <256>;
|
|
|
|
+-+ simple-audio-card,widgets =
|
|
|
|
+-+ "Microphone", "Mic Jack",
|
|
|
|
+-+ "Headphone", "Headphones",
|
|
|
|
+-+ "Speaker", "Speaker";
|
|
|
|
+-+ simple-audio-card,routing =
|
|
|
|
+-+ "MICL", "Mic Jack",
|
|
|
|
+-+ "Headphones", "HPOL",
|
|
|
|
+-+ "Headphones", "HPOR",
|
|
|
|
+-+ "Speaker", "SPKO";
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,cpu {
|
|
|
|
+-+ sound-dai = <&i2s1_8ch>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,codec {
|
|
|
|
+-+ sound-dai = <&rk817>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ spdif_dit: spdif-dit {
|
|
|
|
+-+ compatible = "linux,spdif-dit";
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ spdif_sound: spdif-sound {
|
|
|
|
+-+ compatible = "simple-audio-card";
|
|
|
|
+-+ simple-audio-card,name = "SPDIF";
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,cpu {
|
|
|
|
+-+ sound-dai = <&spdif>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,codec {
|
|
|
|
+-+ sound-dai = <&spdif_dit>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sdio_pwrseq: sdio-pwrseq {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ compatible = "mmc-pwrseq-simple";
|
|
|
|
+-+ clocks = <&rk817 1>;
|
|
|
|
+-+ clock-names = "ext_clock";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&wifi_enable_h>;
|
|
|
|
+-+ reset-gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ post-power-on-delay-ms = <100>;
|
|
|
|
+-+ power-off-delay-us = <5000000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ spdif_sound: spdif-sound {
|
|
|
|
+-+ compatible = "simple-audio-card";
|
|
|
|
+-+ simple-audio-card,name = "SPDIF";
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,cpu {
|
|
|
|
+-+ sound-dai = <&spdif>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,codec {
|
|
|
|
+-+ sound-dai = <&spdif_dit>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ spdif_dit: spdif-dit {
|
|
|
|
+-+ compatible = "linux,spdif-dit";
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc12v_dcin: vcc12v_dcin {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc12v_dcin";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <12000000>;
|
|
|
|
+-+ regulator-max-microvolt = <12000000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ /* vbus feeds the rk817 usb input.
|
|
|
|
+-+ * With no battery attached, also feeds vcc_bat+
|
|
|
|
+-+ * via ON/OFF_BAT jumper
|
|
|
|
+-+ */
|
|
|
|
+-+ vbus: vbus {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vbus";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc12v_dcin>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb: vcc5v0_usb {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_usb";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc12v_dcin>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ /* all four ports are controlled by one gpio
|
|
|
|
+-+ * the host ports are sourced from vcc5v0_usb
|
|
|
|
+-+ * the otg port is sourced from vcc5v0_midu
|
|
|
|
+-+ */
|
|
|
|
+-+ vcc5v0_usb20_host: vcc5v0_usb20_host {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_usb20_host";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb20_host_en_h>;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb20_otg: vcc5v0_usb20_otg {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_usb20_otg";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&dcdc_boost>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_pcie_p: vcc3v3_pcie_p {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&pcie_enable_h>;
|
|
|
|
+-+ regulator-name = "vcc3v3_pcie_p";
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ vin-supply = <&vcc_3v3>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_sd: vcc3v3_sd {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-low;
|
|
|
|
+-+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc_sd_h>;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-name = "vcc3v3_sd";
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ vin-supply = <&vcc_3v3>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ /* sourced from vbus and vcc_bat+ via rk817 sw5 */
|
|
|
|
+-+ vcc_sys: vcc_sys {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc_sys";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <4400000>;
|
|
|
|
+-+ regulator-max-microvolt = <4400000>;
|
|
|
|
+-+ vin-supply = <&vbus>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ /* sourced from vcc_sys, sdio module operates internally at 3.3v */
|
|
|
|
+-+ vcc_wl: vcc_wl {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc_wl";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ vin-supply = <&vcc_sys>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy1_usq {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ rockchip,enable-ssc;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy2_psq {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu0 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu1 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu2 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu3 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu_thermal {
|
|
|
|
+-+ trips {
|
|
|
|
+-+ cpu_hot: cpu_hot {
|
|
|
|
+-+ temperature = <55000>;
|
|
|
|
+-+ hysteresis = <2000>;
|
|
|
|
+-+ type = "active";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cooling-maps {
|
|
|
|
+-+ map1 {
|
|
|
|
+-+ trip = <&cpu_hot>;
|
|
|
|
+-+ cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gmac1 {
|
|
|
|
+-+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
|
|
|
+-+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
|
|
|
+-+ clock_in_out = "input";
|
|
|
|
+-+ phy-supply = <&vcc_3v3>;
|
|
|
|
+-+ phy-mode = "rgmii";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&gmac1m0_miim
|
|
|
|
+-+ &gmac1m0_tx_bus2
|
|
|
|
+-+ &gmac1m0_rx_bus2
|
|
|
|
+-+ &gmac1m0_rgmii_clk
|
|
|
|
+-+ &gmac1m0_clkinout
|
|
|
|
+-+ &gmac1m0_rgmii_bus>;
|
|
|
|
+-+ snps,reset-gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ snps,reset-active-low;
|
|
|
|
+-+ /* Reset time is 20ms, 100ms for rtl8211f */
|
|
|
|
+-+ snps,reset-delays-us = <0 20000 100000>;
|
|
|
|
+-+ tx_delay = <0x30>;
|
|
|
|
+-+ rx_delay = <0x10>;
|
|
|
|
+-+ phy-handle = <&rgmii_phy1>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&hdmi {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ avdd-0v9-supply = <&vdda_0v9>;
|
|
|
|
+-+ avdd-1v8-supply = <&vcc_1v8>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&hdmi_in_vp0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gpu {
|
|
|
|
+-+ mali-supply = <&vdd_gpu>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2c0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+
|
|
|
|
+-+ vdd_cpu: regulator@1c {
|
|
|
|
+-+ compatible = "tcs,tcs4525";
|
|
|
|
+-+ reg = <0x1c>;
|
|
|
|
+-+ fcs,suspend-voltage-selector = <1>;
|
|
|
|
+-+ regulator-name = "vdd_cpu";
|
|
|
|
+-+ regulator-min-microvolt = <800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1150000>;
|
|
|
|
+-+ regulator-ramp-delay = <2300>;
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ vin-supply = <&vcc_sys>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ rk817: pmic@20 {
|
|
|
|
+-+ compatible = "rockchip,rk817";
|
|
|
|
+-+ reg = <0x20>;
|
|
|
|
+-+ interrupt-parent = <&gpio0>;
|
|
|
|
+-+ interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
+-+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
|
|
+-+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
|
|
|
+-+ clock-names = "mclk";
|
|
|
|
+-+ clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
|
|
+-+ clock-output-names = "rk808-clkout1", "rk808-clkout2";
|
|
|
|
+-+ #clock-cells = <1>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
|
|
|
|
+-+ rockchip,system-power-controller;
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ wakeup-source;
|
|
|
|
+-+
|
|
|
|
+-+ vcc1-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc2-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc3-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc4-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc5-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc6-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc7-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc8-supply = <&vcc_sys>;
|
|
|
|
+-+ vcc9-supply = <&dcdc_boost>;
|
|
|
|
+-+
|
|
|
|
+-+ regulators {
|
|
|
|
+-+ vdd_logic: DCDC_REG1 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-name = "vdd_logic";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <900000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdd_gpu: DCDC_REG2 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-name = "vdd_gpu";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_ddr: DCDC_REG3 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1100000>;
|
|
|
|
+-+ regulator-max-microvolt = <1100000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-name = "vcc_ddr";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_3v3: DCDC_REG4 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-name = "vcc_3v3";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca1v8_pmu: LDO_REG1 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+ regulator-name = "vcca1v8_pmu";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <1800000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda_0v9: LDO_REG2 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+ regulator-name = "vdda_0v9";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda0v9_pmu: LDO_REG3 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+ regulator-name = "vdda0v9_pmu";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <900000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vccio_acodec: LDO_REG4 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ regulator-name = "vccio_acodec";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vccio_sd: LDO_REG5 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ regulator-name = "vccio_sd";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_pmu: LDO_REG6 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ regulator-name = "vcc3v3_pmu";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <3300000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_1v8: LDO_REG7 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+ regulator-name = "vcc_1v8";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc1v8_dvp: LDO_REG8 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+ regulator-name = "vcc1v8_dvp";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc2v8_dvp: LDO_REG9 {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <2800000>;
|
|
|
|
+-+ regulator-max-microvolt = <2800000>;
|
|
|
|
+-+ regulator-name = "vcc2v8_dvp";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ dcdc_boost: BOOST {
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ regulator-name = "boost";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ otg_switch: OTG_SWITCH {
|
|
|
|
+-+ regulator-name = "otg_switch";
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ rk817_battery: battery {
|
|
|
|
+-+ monitored-battery = <&battery_cell>;
|
|
|
|
+-+ rockchip,resistor-sense-micro-ohms = <10000>;
|
|
|
|
+-+ rockchip,sleep-enter-current-microamp = <300000>;
|
|
|
|
+-+ rockchip,sleep-filter-current-microamp = <100000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2s1_8ch {
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&i2s1m0_sclktx
|
|
|
|
+-+ &i2s1m0_lrcktx
|
|
|
|
+-+ &i2s1m0_sdi0
|
|
|
|
+-+ &i2s1m0_sdo0>;
|
|
|
|
+-+ rockchip,trcm-sync-tx-only;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&mdio1 {
|
|
|
|
+-+ rgmii_phy1: ethernet-phy@0 {
|
|
|
|
+-+ compatible = "ethernet-phy-ieee802.3-c22";
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pcie2x1 {
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&pcie_reset_h>;
|
|
|
|
+-+ reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ vpcie3v3-supply = <&vcc3v3_pcie_p>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pinctrl {
|
|
|
|
+-+ bt {
|
|
|
|
+-+ bt_enable_h: bt-enable-h {
|
|
|
|
+-+ rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ bt_host_wake_l: bt-host-wake-l {
|
|
|
|
+-+ rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ bt_wake_l: bt-wake-l {
|
|
|
|
+-+ rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ fan {
|
|
|
|
+-+ fan_en_h: fan-en-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ leds {
|
|
|
|
+-+ work_led_enable_h: work-led-enable-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ diy_led_enable_h: diy-led-enable-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pcie {
|
|
|
|
+-+ pcie_enable_h: pcie-enable-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pcie_reset_h: pcie-reset-h {
|
|
|
|
+-+ rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmic {
|
|
|
|
+-+ pmic_int_l: pmic-int-l {
|
|
|
|
+-+ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ hp_det_h: hp-det-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sdio-pwrseq {
|
|
|
|
+-+ wifi_enable_h: wifi-enable-h {
|
|
|
|
+-+ rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb2 {
|
|
|
|
+-+ vcc5v0_usb20_host_en_h: vcc5v0-usb20-host-en_h {
|
|
|
|
+-+ rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_sd {
|
|
|
|
+-+ vcc_sd_h: vcc-sd-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pmu_io_domains {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ pmuio1-supply = <&vcc3v3_pmu>;
|
|
|
|
+-+ pmuio2-supply = <&vcc3v3_pmu>;
|
|
|
|
+-+ vccio1-supply = <&vccio_acodec>;
|
|
|
|
+-+ vccio2-supply = <&vcc_1v8>;
|
|
|
|
+-+ vccio3-supply = <&vccio_sd>;
|
|
|
|
+-+ vccio4-supply = <&vcc_1v8>;
|
|
|
|
+-+ vccio5-supply = <&vcc_3v3>;
|
|
|
|
+-+ vccio6-supply = <&vcc1v8_dvp>;
|
|
|
|
+-+ vccio7-supply = <&vcc_3v3>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+/* sata1 is muxed with the usb3 port */
|
|
|
|
+-+&sata1 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+/* sata2 is muxed with the pcie2 slot*/
|
|
|
|
+-+&sata2 {
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdhci {
|
|
|
|
+-+ bus-width = <8>;
|
|
|
|
+-+ mmc-hs200-1_8v;
|
|
|
|
+-+ non-removable;
|
|
|
|
+-+ vmmc-supply = <&vcc_3v3>;
|
|
|
|
+-+ vqmmc-supply = <&vcc_1v8>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+-+ cap-sd-highspeed;
|
|
|
|
+-+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ disable-wp;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
|
|
|
+-+ sd-uhs-sdr104;
|
|
|
|
+-+ vmmc-supply = <&vcc3v3_sd>;
|
|
|
|
+-+ vqmmc-supply = <&vccio_sd>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&spdif {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc1 {
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+-+ cap-sd-highspeed;
|
|
|
|
+-+ cap-sdio-irq;
|
|
|
|
+-+ disable-wp;
|
|
|
|
+-+ keep-power-in-suspend;
|
|
|
|
+-+ mmc-pwrseq = <&sdio_pwrseq>;
|
|
|
|
+-+ non-removable;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
|
|
|
|
+-+ sd-uhs-sdr104;
|
|
|
|
+-+ vmmc-supply = <&vcc_wl>;
|
|
|
|
+-+ vqmmc-supply = <&vcc_1v8>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sfc {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ flash@0 {
|
|
|
|
+-+ compatible = "jedec,spi-nor";
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ spi-max-frequency = <108000000>;
|
|
|
|
+-+ spi-rx-bus-width = <4>;
|
|
|
|
+-+ spi-tx-bus-width = <1>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&tsadc {
|
|
|
|
+-+ /* tshut mode 0:CRU 1:GPIO */
|
|
|
|
+-+ rockchip,hw-tshut-mode = <1>;
|
|
|
|
+-+ /* tshut polarity 0:LOW 1:HIGH */
|
|
|
|
+-+ rockchip,hw-tshut-polarity = <0>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart0 {
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&uart0_xfer>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart1 {
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ uart-has-rtscts;
|
|
|
|
+-+
|
|
|
|
+-+ bluetooth {
|
|
|
|
+-+ compatible = "brcm,bcm43438-bt";
|
|
|
|
+-+ clocks = <&rk817 1>;
|
|
|
|
+-+ clock-names = "lpo";
|
|
|
|
+-+ device-wake-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ host-wake-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
|
|
|
|
+-+ vbat-supply = <&vcc_sys>;
|
|
|
|
+-+ vddio-supply = <&vcca1v8_pmu>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart2 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&u2phy0_host {
|
|
|
|
+-+ phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&u2phy0_otg {
|
|
|
|
+-+ phy-supply = <&vcc5v0_usb20_otg>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&u2phy1_host {
|
|
|
|
+-+ phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&u2phy1_otg {
|
|
|
|
+-+ phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb2phy0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb2phy1 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usbdrd_dwc3 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usbdrd30 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+/* usb3 controller is muxed with sata1 */
|
|
|
|
+-+&usbhost_dwc3 {
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+/* usb3 controller is muxed with sata1 */
|
|
|
|
+-+&usbhost30 {
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ehci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ohci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ehci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ohci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&vop {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
|
|
|
+-+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&vop_mmu {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&vp0_out_hdmi {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3566.dtsi
|
|
|
|
+-@@ -0,0 +1,32 @@
|
|
|
|
+-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+-+
|
|
|
|
+-+#include "rk356x.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ compatible = "rockchip,rk3566";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pipegrf {
|
|
|
|
+-+ compatible = "rockchip,rk3566-pipegrf", "syscon";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&power {
|
|
|
|
+-+ power-domain@RK3568_PD_PIPE {
|
|
|
|
+-+ reg = <RK3568_PD_PIPE>;
|
|
|
|
+-+ clocks = <&cru PCLK_PIPE>;
|
|
|
|
+-+ pm_qos = <&qos_pcie2x1>,
|
|
|
|
+-+ <&qos_sata1>,
|
|
|
|
+-+ <&qos_sata2>,
|
|
|
|
+-+ <&qos_usb3_0>,
|
|
|
|
+-+ <&qos_usb3_1>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usbdrd_dwc3 {
|
|
|
|
+-+ phys = <&u2phy0_otg>;
|
|
|
|
+-+ phy-names = "usb2-phy";
|
|
|
|
+-+ extcon = <&usb2phy0>;
|
|
|
|
+-+ maximum-speed = "high-speed";
|
|
|
|
+-+ snps,dis_u2_susphy_quirk;
|
|
|
|
+-+};
|
|
|
|
+---- a/arch/arm/dts/rk3568-evb.dts
|
|
|
|
+-+++ b/arch/arm/dts/rk3568-evb.dts
|
|
|
|
+-@@ -74,6 +74,11 @@
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ max-frequency = <52000000>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- &uart2 {
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+---- a/arch/arm/dts/rk3568-pinctrl.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3568-pinctrl.dtsi
|
|
|
|
+-@@ -3108,4 +3108,13 @@
|
|
|
|
+- <4 RK_PA0 3 &pcfg_pull_none_drv_level_2>;
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-+
|
|
|
|
+-+ tsadc {
|
|
|
|
+-+ /omit-if-no-ref/
|
|
|
|
+-+ tsadc_pin: tsadc-pin {
|
|
|
|
+-+ rockchip,pins =
|
|
|
|
+-+ /* tsadc_pin */
|
|
|
|
+-+ <0 RK_PA1 0 &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+- };
|
|
|
|
+---- a/arch/arm/dts/rk3568.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3568.dtsi
|
|
|
|
+-@@ -3,777 +3,135 @@
|
|
|
|
+- * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
|
|
|
|
+- */
|
|
|
|
+-
|
|
|
|
+--#include <dt-bindings/clock/rk3568-cru.h>
|
|
|
|
+--#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
+--#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
+--#include <dt-bindings/phy/phy.h>
|
|
|
|
+--#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+--#include <dt-bindings/soc/rockchip,boot-mode.h>
|
|
|
|
+--#include <dt-bindings/thermal/thermal.h>
|
|
|
|
+-+#include "rk356x.dtsi"
|
|
|
|
+-
|
|
|
|
+- / {
|
|
|
|
+- compatible = "rockchip,rk3568";
|
|
|
|
+-
|
|
|
|
+-- interrupt-parent = <&gic>;
|
|
|
|
+-- #address-cells = <2>;
|
|
|
|
+-- #size-cells = <2>;
|
|
|
|
+--
|
|
|
|
+-- aliases {
|
|
|
|
+-- gpio0 = &gpio0;
|
|
|
|
+-- gpio1 = &gpio1;
|
|
|
|
+-- gpio2 = &gpio2;
|
|
|
|
+-- gpio3 = &gpio3;
|
|
|
|
+-- gpio4 = &gpio4;
|
|
|
|
+-- i2c0 = &i2c0;
|
|
|
|
+-- i2c1 = &i2c1;
|
|
|
|
+-- i2c2 = &i2c2;
|
|
|
|
+-- i2c3 = &i2c3;
|
|
|
|
+-- i2c4 = &i2c4;
|
|
|
|
+-- i2c5 = &i2c5;
|
|
|
|
+-- serial0 = &uart0;
|
|
|
|
+-- serial1 = &uart1;
|
|
|
|
+-- serial2 = &uart2;
|
|
|
|
+-- serial3 = &uart3;
|
|
|
|
+-- serial4 = &uart4;
|
|
|
|
+-- serial5 = &uart5;
|
|
|
|
+-- serial6 = &uart6;
|
|
|
|
+-- serial7 = &uart7;
|
|
|
|
+-- serial8 = &uart8;
|
|
|
|
+-- serial9 = &uart9;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- cpus {
|
|
|
|
+-- #address-cells = <2>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+--
|
|
|
|
+-- cpu0: cpu@0 {
|
|
|
|
+-- device_type = "cpu";
|
|
|
|
+-- compatible = "arm,cortex-a55";
|
|
|
|
+-- reg = <0x0 0x0>;
|
|
|
|
+-- clocks = <&scmi_clk 0>;
|
|
|
|
+-- enable-method = "psci";
|
|
|
|
+-- operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- cpu1: cpu@100 {
|
|
|
|
+-- device_type = "cpu";
|
|
|
|
+-- compatible = "arm,cortex-a55";
|
|
|
|
+-- reg = <0x0 0x100>;
|
|
|
|
+-- enable-method = "psci";
|
|
|
|
+-- operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- cpu2: cpu@200 {
|
|
|
|
+-- device_type = "cpu";
|
|
|
|
+-- compatible = "arm,cortex-a55";
|
|
|
|
+-- reg = <0x0 0x200>;
|
|
|
|
+-- enable-method = "psci";
|
|
|
|
+-- operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- cpu3: cpu@300 {
|
|
|
|
+-- device_type = "cpu";
|
|
|
|
+-- compatible = "arm,cortex-a55";
|
|
|
|
+-- reg = <0x0 0x300>;
|
|
|
|
+-- enable-method = "psci";
|
|
|
|
+-- operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-- };
|
|
|
|
+-+ sata0: sata@fc000000 {
|
|
|
|
+-+ compatible = "snps,dwc-ahci";
|
|
|
|
+-+ reg = <0 0xfc000000 0 0x1000>;
|
|
|
|
+-+ clocks = <&cru ACLK_SATA0>, <&cru CLK_SATA0_PMALIVE>,
|
|
|
|
+-+ <&cru CLK_SATA0_RXOOB>;
|
|
|
|
+-+ clock-names = "sata", "pmalive", "rxoob";
|
|
|
|
+-+ interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "hostc";
|
|
|
|
+-+ phys = <&combphy0_us PHY_TYPE_SATA>;
|
|
|
|
+-+ phy-names = "sata-phy";
|
|
|
|
+-+ ports-implemented = <0x1>;
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- cpu0_opp_table: cpu0-opp-table {
|
|
|
|
+-- compatible = "operating-points-v2";
|
|
|
|
+-- opp-shared;
|
|
|
|
+--
|
|
|
|
+-- opp-408000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <408000000>;
|
|
|
|
+-- opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-- clock-latency-ns = <40000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- opp-600000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <600000000>;
|
|
|
|
+-- opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- opp-816000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <816000000>;
|
|
|
|
+-- opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-- opp-suspend;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- opp-1104000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <1104000000>;
|
|
|
|
+-- opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- opp-1416000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <1416000000>;
|
|
|
|
+-- opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- opp-1608000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <1608000000>;
|
|
|
|
+-- opp-microvolt = <975000 975000 1150000>;
|
|
|
|
+-- };
|
|
|
|
+-+ qos_pcie3x1: qos@fe190080 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190080 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_pcie3x2: qos@fe190100 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190100 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_sata0: qos@fe190200 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190200 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gmac0: ethernet@fe2a0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
|
|
|
|
+-+ reg = <0x0 0xfe2a0000 0x0 0x10000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "macirq", "eth_wake_irq";
|
|
|
|
+-+ clocks = <&cru SCLK_GMAC0>, <&cru SCLK_GMAC0_RX_TX>,
|
|
|
|
+-+ <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>,
|
|
|
|
+-+ <&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>,
|
|
|
|
+-+ <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>,
|
|
|
|
+-+ <&cru PCLK_XPCS>;
|
|
|
|
+-+ clock-names = "stmmaceth", "mac_clk_rx",
|
|
|
|
+-+ "mac_clk_tx", "clk_mac_refout",
|
|
|
|
+-+ "aclk_mac", "pclk_mac",
|
|
|
|
+-+ "clk_mac_speed", "ptp_ref",
|
|
|
|
+-+ "pclk_xpcs";
|
|
|
|
+-+ resets = <&cru SRST_A_GMAC0>;
|
|
|
|
+-+ reset-names = "stmmaceth";
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ snps,axi-config = <&gmac0_stmmac_axi_setup>;
|
|
|
|
+-+ snps,mixed-burst;
|
|
|
|
+-+ snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
|
|
|
|
+-+ snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
|
|
|
|
+-+ snps,tso;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-
|
|
|
|
+-- opp-1800000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <1800000000>;
|
|
|
|
+-- opp-microvolt = <1050000 1050000 1150000>;
|
|
|
|
+-+ mdio0: mdio {
|
|
|
|
+-+ compatible = "snps,dwmac-mdio";
|
|
|
|
+-+ #address-cells = <0x1>;
|
|
|
|
+-+ #size-cells = <0x0>;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- opp-1992000000 {
|
|
|
|
+-- opp-hz = /bits/ 64 <1992000000>;
|
|
|
|
+-- opp-microvolt = <1150000 1150000 1150000>;
|
|
|
|
+-+ gmac0_stmmac_axi_setup: stmmac-axi-config {
|
|
|
|
+-+ snps,blen = <0 0 0 0 16 8 4>;
|
|
|
|
+-+ snps,rd_osr_lmt = <8>;
|
|
|
|
+-+ snps,wr_osr_lmt = <4>;
|
|
|
|
+- };
|
|
|
|
+-- };
|
|
|
|
+-
|
|
|
|
+-- firmware {
|
|
|
|
+-- scmi: scmi {
|
|
|
|
+-- compatible = "arm,scmi-smc";
|
|
|
|
+-- arm,smc-id = <0x82000010>;
|
|
|
|
+-- shmem = <&scmi_shmem>;
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+--
|
|
|
|
+-- scmi_clk: protocol@14 {
|
|
|
|
+-- reg = <0x14>;
|
|
|
|
+-- #clock-cells = <1>;
|
|
|
|
+-- };
|
|
|
|
+-+ gmac0_mtl_rx_setup: rx-queues-config {
|
|
|
|
+-+ snps,rx-queues-to-use = <1>;
|
|
|
|
+-+ queue0 {};
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pmu {
|
|
|
|
+-- compatible = "arm,cortex-a55-pmu";
|
|
|
|
+-- interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- psci {
|
|
|
|
+-- compatible = "arm,psci-1.0";
|
|
|
|
+-- method = "smc";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- timer {
|
|
|
|
+-- compatible = "arm,armv8-timer";
|
|
|
|
+-- interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- arm,no-tick-in-suspend;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- xin24m: xin24m {
|
|
|
|
+-- compatible = "fixed-clock";
|
|
|
|
+-- clock-frequency = <24000000>;
|
|
|
|
+-- clock-output-names = "xin24m";
|
|
|
|
+-- #clock-cells = <0>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- xin32k: xin32k {
|
|
|
|
+-- compatible = "fixed-clock";
|
|
|
|
+-- clock-frequency = <32768>;
|
|
|
|
+-- clock-output-names = "xin32k";
|
|
|
|
+-- pinctrl-0 = <&clk32k_out0>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #clock-cells = <0>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- sram@10f000 {
|
|
|
|
+-- compatible = "mmio-sram";
|
|
|
|
+-- reg = <0x0 0x0010f000 0x0 0x100>;
|
|
|
|
+--
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <1>;
|
|
|
|
+-- ranges = <0 0x0 0x0010f000 0x100>;
|
|
|
|
+--
|
|
|
|
+-- scmi_shmem: sram@0 {
|
|
|
|
+-- compatible = "arm,scmi-shmem";
|
|
|
|
+-- reg = <0x0 0x100>;
|
|
|
|
+-+ gmac0_mtl_tx_setup: tx-queues-config {
|
|
|
|
+-+ snps,tx-queues-to-use = <1>;
|
|
|
|
+-+ queue0 {};
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- gic: interrupt-controller@fd400000 {
|
|
|
|
+-- compatible = "arm,gic-v3";
|
|
|
|
+-- reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
|
|
|
|
+-- <0x0 0xfd460000 0 0x80000>; /* GICR */
|
|
|
|
+-- interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- interrupt-controller;
|
|
|
|
+-- #interrupt-cells = <3>;
|
|
|
|
+-- mbi-alias = <0x0 0xfd100000>;
|
|
|
|
+-- mbi-ranges = <296 24>;
|
|
|
|
+-- msi-controller;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pmugrf: syscon@fdc20000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
|
|
|
|
+-- reg = <0x0 0xfdc20000 0x0 0x10000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- grf: syscon@fdc60000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
|
|
|
|
+-- reg = <0x0 0xfdc60000 0x0 0x10000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pmucru: clock-controller@fdd00000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pmucru";
|
|
|
|
+-- reg = <0x0 0xfdd00000 0x0 0x1000>;
|
|
|
|
+-- #clock-cells = <1>;
|
|
|
|
+-- #reset-cells = <1>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- cru: clock-controller@fdd20000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-cru";
|
|
|
|
+-- reg = <0x0 0xfdd20000 0x0 0x1000>;
|
|
|
|
+-- #clock-cells = <1>;
|
|
|
|
+-- #reset-cells = <1>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- i2c0: i2c@fdd40000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-- reg = <0x0 0xfdd40000 0x0 0x1000>;
|
|
|
|
+-- interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
|
|
|
|
+-- clock-names = "i2c", "pclk";
|
|
|
|
+-- pinctrl-0 = <&i2c0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart0: serial@fdd50000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfdd50000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 0>, <&dmac0 1>;
|
|
|
|
+-- pinctrl-0 = <&uart0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm0: pwm@fdd70000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfdd70000 0x0 0x10>;
|
|
|
|
+-- clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm0m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm1: pwm@fdd70010 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfdd70010 0x0 0x10>;
|
|
|
|
+-- clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm1m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm2: pwm@fdd70020 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfdd70020 0x0 0x10>;
|
|
|
|
+-- clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm2m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm3: pwm@fdd70030 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfdd70030 0x0 0x10>;
|
|
|
|
+-- clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm3_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- sdmmc2: mmc@fe000000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+-- reg = <0x0 0xfe000000 0x0 0x4000>;
|
|
|
|
+-- interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
|
|
|
|
+-- <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
|
|
|
|
+-- clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
|
|
+-- fifo-depth = <0x100>;
|
|
|
|
+-- max-frequency = <150000000>;
|
|
|
|
+-- resets = <&cru SRST_SDMMC2>;
|
|
|
|
+-- reset-names = "reset";
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- sdmmc0: mmc@fe2b0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+-- reg = <0x0 0xfe2b0000 0x0 0x4000>;
|
|
|
|
+-- interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
|
|
|
|
+-- <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
|
|
|
|
+-- clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
|
|
+-- fifo-depth = <0x100>;
|
|
|
|
+-- max-frequency = <150000000>;
|
|
|
|
+-- resets = <&cru SRST_SDMMC0>;
|
|
|
|
+-- reset-names = "reset";
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- sdmmc1: mmc@fe2c0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+-- reg = <0x0 0xfe2c0000 0x0 0x4000>;
|
|
|
|
+-- interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
|
|
|
|
+-- <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
|
|
|
|
+-- clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
|
|
+-- fifo-depth = <0x100>;
|
|
|
|
+-- max-frequency = <150000000>;
|
|
|
|
+-- resets = <&cru SRST_SDMMC1>;
|
|
|
|
+-- reset-names = "reset";
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- sdhci: mmc@fe310000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-dwcmshc";
|
|
|
|
+-- reg = <0x0 0xfe310000 0x0 0x10000>;
|
|
|
|
+-- interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
|
|
|
|
+-- assigned-clock-rates = <200000000>, <24000000>;
|
|
|
|
+-- clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
|
|
|
|
+-- <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
|
|
|
|
+-- <&cru TCLK_EMMC>;
|
|
|
|
+-- clock-names = "core", "bus", "axi", "block", "timer";
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- dmac0: dmac@fe530000 {
|
|
|
|
+-- compatible = "arm,pl330", "arm,primecell";
|
|
|
|
+-- reg = <0x0 0xfe530000 0x0 0x4000>;
|
|
|
|
+-- interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- arm,pl330-periph-burst;
|
|
|
|
+-- clocks = <&cru ACLK_BUS>;
|
|
|
|
+-- clock-names = "apb_pclk";
|
|
|
|
+-- #dma-cells = <1>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- dmac1: dmac@fe550000 {
|
|
|
|
+-- compatible = "arm,pl330", "arm,primecell";
|
|
|
|
+-- reg = <0x0 0xfe550000 0x0 0x4000>;
|
|
|
|
+-- interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-- <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- arm,pl330-periph-burst;
|
|
|
|
+-- clocks = <&cru ACLK_BUS>;
|
|
|
|
+-- clock-names = "apb_pclk";
|
|
|
|
+-- #dma-cells = <1>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- i2c1: i2c@fe5a0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-- reg = <0x0 0xfe5a0000 0x0 0x1000>;
|
|
|
|
+-- interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
|
|
|
|
+-- clock-names = "i2c", "pclk";
|
|
|
|
+-- pinctrl-0 = <&i2c1_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- i2c2: i2c@fe5b0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-- reg = <0x0 0xfe5b0000 0x0 0x1000>;
|
|
|
|
+-- interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
|
|
|
|
+-- clock-names = "i2c", "pclk";
|
|
|
|
+-- pinctrl-0 = <&i2c2m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- i2c3: i2c@fe5c0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-- reg = <0x0 0xfe5c0000 0x0 0x1000>;
|
|
|
|
+-- interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
|
|
|
|
+-- clock-names = "i2c", "pclk";
|
|
|
|
+-- pinctrl-0 = <&i2c3m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- i2c4: i2c@fe5d0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-- reg = <0x0 0xfe5d0000 0x0 0x1000>;
|
|
|
|
+-- interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
|
|
|
|
+-- clock-names = "i2c", "pclk";
|
|
|
|
+-- pinctrl-0 = <&i2c4m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- i2c5: i2c@fe5e0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-- reg = <0x0 0xfe5e0000 0x0 0x1000>;
|
|
|
|
+-- interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
|
|
|
|
+-- clock-names = "i2c", "pclk";
|
|
|
|
+-- pinctrl-0 = <&i2c5m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- #address-cells = <1>;
|
|
|
|
+-- #size-cells = <0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- wdt: watchdog@fe600000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
|
|
|
|
+-- reg = <0x0 0xfe600000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
|
|
|
|
+-- clock-names = "tclk", "pclk";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart1: serial@fe650000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe650000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 2>, <&dmac0 3>;
|
|
|
|
+-- pinctrl-0 = <&uart1m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart2: serial@fe660000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe660000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 4>, <&dmac0 5>;
|
|
|
|
+-- pinctrl-0 = <&uart2m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart3: serial@fe670000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe670000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 6>, <&dmac0 7>;
|
|
|
|
+-- pinctrl-0 = <&uart3m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart4: serial@fe680000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe680000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 8>, <&dmac0 9>;
|
|
|
|
+-- pinctrl-0 = <&uart4m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart5: serial@fe690000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe690000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 10>, <&dmac0 11>;
|
|
|
|
+-- pinctrl-0 = <&uart5m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart6: serial@fe6a0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe6a0000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 12>, <&dmac0 13>;
|
|
|
|
+-- pinctrl-0 = <&uart6m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart7: serial@fe6b0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe6b0000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 14>, <&dmac0 15>;
|
|
|
|
+-- pinctrl-0 = <&uart7m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart8: serial@fe6c0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe6c0000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 16>, <&dmac0 17>;
|
|
|
|
+-- pinctrl-0 = <&uart8m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- uart9: serial@fe6d0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-- reg = <0x0 0xfe6d0000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
|
|
|
|
+-- clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-- dmas = <&dmac0 18>, <&dmac0 19>;
|
|
|
|
+-- pinctrl-0 = <&uart9m0_xfer>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- reg-io-width = <4>;
|
|
|
|
+-- reg-shift = <2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm4: pwm@fe6e0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6e0000 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm4_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm5: pwm@fe6e0010 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6e0010 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm5_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm6: pwm@fe6e0020 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6e0020 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm6_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm7: pwm@fe6e0030 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6e0030 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm7_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm8: pwm@fe6f0000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6f0000 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm8m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm9: pwm@fe6f0010 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6f0010 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm9m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm10: pwm@fe6f0020 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6f0020 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm10m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm11: pwm@fe6f0030 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe6f0030 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm11m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm12: pwm@fe700000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe700000 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm12m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm13: pwm@fe700010 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe700010 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm13m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- pwm14: pwm@fe700020 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe700020 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm14m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-+ combphy0_us: phy@fe820000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-+ reg = <0x0 0xfe820000 0x0 0x100>;
|
|
|
|
+-+ #phy-cells = <1>;
|
|
|
|
+-+ assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
|
|
|
|
+-+ assigned-clock-rates = <100000000>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PCIEPHY0_REF>, <&cru PCLK_PIPEPHY0>,
|
|
|
|
+-+ <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref", "apb", "pipe";
|
|
|
|
+-+ resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>;
|
|
|
|
+-+ reset-names = "combphy-apb", "combphy";
|
|
|
|
+-+ rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-+ rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-+};
|
|
|
|
+-
|
|
|
|
+-- pwm15: pwm@fe700030 {
|
|
|
|
+-- compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-- reg = <0x0 0xfe700030 0x0 0x10>;
|
|
|
|
+-- clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-- clock-names = "pwm", "pclk";
|
|
|
|
+-- pinctrl-0 = <&pwm15m0_pins>;
|
|
|
|
+-- pinctrl-names = "active";
|
|
|
|
+-- #pwm-cells = <3>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-+&cpu0_opp_table {
|
|
|
|
+-+ opp-1992000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <1992000000>;
|
|
|
|
+-+ opp-microvolt = <1150000 1150000 1150000>;
|
|
|
|
+- };
|
|
|
|
+-+};
|
|
|
|
+-
|
|
|
|
+-- pinctrl: pinctrl {
|
|
|
|
+-- compatible = "rockchip,rk3568-pinctrl";
|
|
|
|
+-- rockchip,grf = <&grf>;
|
|
|
|
+-- rockchip,pmu = <&pmugrf>;
|
|
|
|
+-- #address-cells = <2>;
|
|
|
|
+-- #size-cells = <2>;
|
|
|
|
+-- ranges;
|
|
|
|
+--
|
|
|
|
+-- gpio0: gpio@fdd60000 {
|
|
|
|
+-- compatible = "rockchip,gpio-bank";
|
|
|
|
+-- reg = <0x0 0xfdd60000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
|
|
|
|
+-- gpio-controller;
|
|
|
|
+-- #gpio-cells = <2>;
|
|
|
|
+-- interrupt-controller;
|
|
|
|
+-- #interrupt-cells = <2>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- gpio1: gpio@fe740000 {
|
|
|
|
+-- compatible = "rockchip,gpio-bank";
|
|
|
|
+-- reg = <0x0 0xfe740000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
|
|
|
|
+-- gpio-controller;
|
|
|
|
+-- #gpio-cells = <2>;
|
|
|
|
+-- interrupt-controller;
|
|
|
|
+-- #interrupt-cells = <2>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- gpio2: gpio@fe750000 {
|
|
|
|
+-- compatible = "rockchip,gpio-bank";
|
|
|
|
+-- reg = <0x0 0xfe750000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
|
|
|
|
+-- gpio-controller;
|
|
|
|
+-- #gpio-cells = <2>;
|
|
|
|
+-- interrupt-controller;
|
|
|
|
+-- #interrupt-cells = <2>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- gpio3: gpio@fe760000 {
|
|
|
|
+-- compatible = "rockchip,gpio-bank";
|
|
|
|
+-- reg = <0x0 0xfe760000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
|
|
|
|
+-- gpio-controller;
|
|
|
|
+-- #gpio-cells = <2>;
|
|
|
|
+-- interrupt-controller;
|
|
|
|
+-- #interrupt-cells = <2>;
|
|
|
|
+-- };
|
|
|
|
+-+&pipegrf {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pipegrf", "syscon";
|
|
|
|
+-+};
|
|
|
|
+-
|
|
|
|
+-- gpio4: gpio@fe770000 {
|
|
|
|
+-- compatible = "rockchip,gpio-bank";
|
|
|
|
+-- reg = <0x0 0xfe770000 0x0 0x100>;
|
|
|
|
+-- interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
|
|
|
|
+-- gpio-controller;
|
|
|
|
+-- #gpio-cells = <2>;
|
|
|
|
+-- interrupt-controller;
|
|
|
|
+-- #interrupt-cells = <2>;
|
|
|
|
+-- };
|
|
|
|
+-+&power {
|
|
|
|
+-+ power-domain@RK3568_PD_PIPE {
|
|
|
|
+-+ reg = <RK3568_PD_PIPE>;
|
|
|
|
+-+ clocks = <&cru PCLK_PIPE>;
|
|
|
|
+-+ pm_qos = <&qos_pcie2x1>,
|
|
|
|
+-+ <&qos_pcie3x1>,
|
|
|
|
+-+ <&qos_pcie3x2>,
|
|
|
|
+-+ <&qos_sata0>,
|
|
|
|
+-+ <&qos_sata1>,
|
|
|
|
+-+ <&qos_sata2>,
|
|
|
|
+-+ <&qos_usb3_0>,
|
|
|
|
+-+ <&qos_usb3_1>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--#include "rk3568-pinctrl.dtsi"
|
|
|
|
+-+&usbdrd_dwc3 {
|
|
|
|
+-+ phys = <&u2phy0_otg>, <&combphy0_us PHY_TYPE_USB3>;
|
|
|
|
+-+ phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+-+};
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk356x.dtsi
|
|
|
|
+-@@ -0,0 +1,1630 @@
|
|
|
|
+-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+-+/*
|
|
|
|
+-+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
|
|
|
|
+-+ */
|
|
|
|
+-+
|
|
|
|
+-+#include <dt-bindings/clock/rk3568-cru.h>
|
|
|
|
+-+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
+-+#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
+-+#include <dt-bindings/phy/phy.h>
|
|
|
|
+-+#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+-+#include <dt-bindings/power/rk3568-power.h>
|
|
|
|
+-+#include <dt-bindings/soc/rockchip,boot-mode.h>
|
|
|
|
+-+#include <dt-bindings/thermal/thermal.h>
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ interrupt-parent = <&gic>;
|
|
|
|
+-+ #address-cells = <2>;
|
|
|
|
+-+ #size-cells = <2>;
|
|
|
|
+-+
|
|
|
|
+-+ aliases {
|
|
|
|
+-+ gpio0 = &gpio0;
|
|
|
|
+-+ gpio1 = &gpio1;
|
|
|
|
+-+ gpio2 = &gpio2;
|
|
|
|
+-+ gpio3 = &gpio3;
|
|
|
|
+-+ gpio4 = &gpio4;
|
|
|
|
+-+ i2c0 = &i2c0;
|
|
|
|
+-+ i2c1 = &i2c1;
|
|
|
|
+-+ i2c2 = &i2c2;
|
|
|
|
+-+ i2c3 = &i2c3;
|
|
|
|
+-+ i2c4 = &i2c4;
|
|
|
|
+-+ i2c5 = &i2c5;
|
|
|
|
+-+ serial0 = &uart0;
|
|
|
|
+-+ serial1 = &uart1;
|
|
|
|
+-+ serial2 = &uart2;
|
|
|
|
+-+ serial3 = &uart3;
|
|
|
|
+-+ serial4 = &uart4;
|
|
|
|
+-+ serial5 = &uart5;
|
|
|
|
+-+ serial6 = &uart6;
|
|
|
|
+-+ serial7 = &uart7;
|
|
|
|
+-+ serial8 = &uart8;
|
|
|
|
+-+ serial9 = &uart9;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cpus {
|
|
|
|
+-+ #address-cells = <2>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ cpu0: cpu@0 {
|
|
|
|
+-+ device_type = "cpu";
|
|
|
|
+-+ compatible = "arm,cortex-a55";
|
|
|
|
+-+ reg = <0x0 0x0>;
|
|
|
|
+-+ clocks = <&scmi_clk 0>;
|
|
|
|
+-+ #cooling-cells = <2>;
|
|
|
|
+-+ enable-method = "psci";
|
|
|
|
+-+ operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cpu1: cpu@100 {
|
|
|
|
+-+ device_type = "cpu";
|
|
|
|
+-+ compatible = "arm,cortex-a55";
|
|
|
|
+-+ reg = <0x0 0x100>;
|
|
|
|
+-+ #cooling-cells = <2>;
|
|
|
|
+-+ enable-method = "psci";
|
|
|
|
+-+ operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cpu2: cpu@200 {
|
|
|
|
+-+ device_type = "cpu";
|
|
|
|
+-+ compatible = "arm,cortex-a55";
|
|
|
|
+-+ reg = <0x0 0x200>;
|
|
|
|
+-+ #cooling-cells = <2>;
|
|
|
|
+-+ enable-method = "psci";
|
|
|
|
+-+ operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cpu3: cpu@300 {
|
|
|
|
+-+ device_type = "cpu";
|
|
|
|
+-+ compatible = "arm,cortex-a55";
|
|
|
|
+-+ reg = <0x0 0x300>;
|
|
|
|
+-+ #cooling-cells = <2>;
|
|
|
|
+-+ enable-method = "psci";
|
|
|
|
+-+ operating-points-v2 = <&cpu0_opp_table>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cpu0_opp_table: opp-table-0 {
|
|
|
|
+-+ compatible = "operating-points-v2";
|
|
|
|
+-+ opp-shared;
|
|
|
|
+-+
|
|
|
|
+-+ opp-408000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <408000000>;
|
|
|
|
+-+ opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-+ clock-latency-ns = <40000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-600000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <600000000>;
|
|
|
|
+-+ opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-816000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <816000000>;
|
|
|
|
+-+ opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-+ opp-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-1104000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <1104000000>;
|
|
|
|
+-+ opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-1416000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <1416000000>;
|
|
|
|
+-+ opp-microvolt = <900000 900000 1150000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-1608000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <1608000000>;
|
|
|
|
+-+ opp-microvolt = <975000 975000 1150000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-1800000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <1800000000>;
|
|
|
|
+-+ opp-microvolt = <1050000 1050000 1150000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpu_opp_table: gpu-opp-table {
|
|
|
|
+-+ compatible = "operating-points-v2";
|
|
|
|
+-+
|
|
|
|
+-+ opp-200000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <200000000>;
|
|
|
|
+-+ opp-microvolt = <825000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-300000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <300000000>;
|
|
|
|
+-+ opp-microvolt = <825000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-400000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <400000000>;
|
|
|
|
+-+ opp-microvolt = <825000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-600000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <600000000>;
|
|
|
|
+-+ opp-microvolt = <825000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-700000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <700000000>;
|
|
|
|
+-+ opp-microvolt = <900000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ opp-800000000 {
|
|
|
|
+-+ opp-hz = /bits/ 64 <800000000>;
|
|
|
|
+-+ opp-microvolt = <1000000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ firmware {
|
|
|
|
+-+ scmi: scmi {
|
|
|
|
+-+ compatible = "arm,scmi-smc";
|
|
|
|
+-+ arm,smc-id = <0x82000010>;
|
|
|
|
+-+ shmem = <&scmi_shmem>;
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ scmi_clk: protocol@14 {
|
|
|
|
+-+ reg = <0x14>;
|
|
|
|
+-+ #clock-cells = <1>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmu {
|
|
|
|
+-+ compatible = "arm,cortex-a55-pmu";
|
|
|
|
+-+ interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ psci {
|
|
|
|
+-+ compatible = "arm,psci-1.0";
|
|
|
|
+-+ method = "smc";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ timer {
|
|
|
|
+-+ compatible = "arm,armv8-timer";
|
|
|
|
+-+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ arm,no-tick-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ xin24m: xin24m {
|
|
|
|
+-+ compatible = "fixed-clock";
|
|
|
|
+-+ clock-frequency = <24000000>;
|
|
|
|
+-+ clock-output-names = "xin24m";
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ xin32k: xin32k {
|
|
|
|
+-+ compatible = "fixed-clock";
|
|
|
|
+-+ clock-frequency = <32768>;
|
|
|
|
+-+ clock-output-names = "xin32k";
|
|
|
|
+-+ pinctrl-0 = <&clk32k_out0>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sram@10f000 {
|
|
|
|
+-+ compatible = "mmio-sram";
|
|
|
|
+-+ reg = <0x0 0x0010f000 0x0 0x100>;
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <1>;
|
|
|
|
+-+ ranges = <0 0x0 0x0010f000 0x100>;
|
|
|
|
+-+
|
|
|
|
+-+ scmi_shmem: sram@0 {
|
|
|
|
+-+ compatible = "arm,scmi-shmem";
|
|
|
|
+-+ reg = <0x0 0x100>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sata1: sata@fc400000 {
|
|
|
|
+-+ compatible = "snps,dwc-ahci";
|
|
|
|
+-+ reg = <0 0xfc400000 0 0x1000>;
|
|
|
|
+-+ clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
|
|
|
|
+-+ <&cru CLK_SATA1_RXOOB>;
|
|
|
|
+-+ clock-names = "sata", "pmalive", "rxoob";
|
|
|
|
+-+ interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "hostc";
|
|
|
|
+-+ phys = <&combphy1_usq PHY_TYPE_SATA>;
|
|
|
|
+-+ phy-names = "sata-phy";
|
|
|
|
+-+ ports-implemented = <0x1>;
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sata2: sata@fc800000 {
|
|
|
|
+-+ compatible = "snps,dwc-ahci";
|
|
|
|
+-+ reg = <0 0xfc800000 0 0x1000>;
|
|
|
|
+-+ clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
|
|
|
|
+-+ <&cru CLK_SATA2_RXOOB>;
|
|
|
|
+-+ clock-names = "sata", "pmalive", "rxoob";
|
|
|
|
+-+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "hostc";
|
|
|
|
+-+ phys = <&combphy2_psq PHY_TYPE_SATA>;
|
|
|
|
+-+ phy-names = "sata-phy";
|
|
|
|
+-+ ports-implemented = <0x1>;
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usbdrd30: usbdrd {
|
|
|
|
+-+ compatible = "rockchip,rk3399-dwc3", "snps,dwc3";
|
|
|
|
+-+ clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
|
|
|
|
+-+ <&cru ACLK_USB3OTG0>, <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref_clk", "suspend_clk",
|
|
|
|
+-+ "bus_clk", "pipe_clk";
|
|
|
|
+-+ #address-cells = <2>;
|
|
|
|
+-+ #size-cells = <2>;
|
|
|
|
+-+ ranges;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ usbdrd_dwc3: dwc3@fcc00000 {
|
|
|
|
+-+ compatible = "snps,dwc3";
|
|
|
|
+-+ reg = <0x0 0xfcc00000 0x0 0x400000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ dr_mode = "host";
|
|
|
|
+-+ phys = <&u2phy0_otg>, <&combphy0_us PHY_TYPE_USB3>;
|
|
|
|
+-+ phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+-+ phy_type = "utmi_wide";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ resets = <&cru SRST_USB3OTG0>;
|
|
|
|
+-+ reset-names = "usb3-otg";
|
|
|
|
+-+ snps,dis_enblslpm_quirk;
|
|
|
|
+-+ snps,dis-u2-freeclk-exists-quirk;
|
|
|
|
+-+ snps,dis-del-phy-power-chg-quirk;
|
|
|
|
+-+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
|
|
+-+ snps,xhci-trb-ent-quirk;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usbhost30: usbhost {
|
|
|
|
+-+ compatible = "rockchip,rk3399-dwc3", "snps,dwc3";
|
|
|
|
+-+ clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
|
|
|
|
+-+ <&cru ACLK_USB3OTG1>, <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref_clk", "suspend_clk",
|
|
|
|
+-+ "bus_clk", "pipe_clk";
|
|
|
|
+-+ #address-cells = <2>;
|
|
|
|
+-+ #size-cells = <2>;
|
|
|
|
+-+ assigned-clocks = <&cru CLK_PCIEPHY1_REF>;
|
|
|
|
+-+ assigned-clock-rates = <25000000>;
|
|
|
|
+-+ ranges;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ usbhost_dwc3: dwc3@fd000000 {
|
|
|
|
+-+ compatible = "snps,dwc3";
|
|
|
|
+-+ reg = <0x0 0xfd000000 0x0 0x400000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ dr_mode = "host";
|
|
|
|
+-+ phys = <&u2phy0_host>, <&combphy1_usq PHY_TYPE_USB3>;
|
|
|
|
+-+ phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+-+ phy_type = "utmi_wide";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ resets = <&cru SRST_USB3OTG1>;
|
|
|
|
+-+ reset-names = "usb3-host";
|
|
|
|
+-+ snps,dis_enblslpm_quirk;
|
|
|
|
+-+ snps,dis-u2-freeclk-exists-quirk;
|
|
|
|
+-+ snps,dis_u2_susphy_quirk;
|
|
|
|
+-+ snps,dis-del-phy-power-chg-quirk;
|
|
|
|
+-+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gic: interrupt-controller@fd400000 {
|
|
|
|
+-+ compatible = "arm,gic-v3";
|
|
|
|
+-+ reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
|
|
|
|
+-+ <0x0 0xfd460000 0 0x80000>; /* GICR */
|
|
|
|
+-+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ #interrupt-cells = <3>;
|
|
|
|
+-+ mbi-alias = <0x0 0xfd410000>;
|
|
|
|
+-+ mbi-ranges = <296 24>;
|
|
|
|
+-+ msi-controller;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb_host0_ehci: usb@fd800000 {
|
|
|
|
+-+ compatible = "generic-ehci";
|
|
|
|
+-+ reg = <0x0 0xfd800000 0x0 0x40000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
|
|
|
|
+-+ <&cru PCLK_USB>;
|
|
|
|
+-+ phys = <&u2phy1_otg>;
|
|
|
|
+-+ phy-names = "usb2-phy";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb_host0_ohci: usb@fd840000 {
|
|
|
|
+-+ compatible = "generic-ohci";
|
|
|
|
+-+ reg = <0x0 0xfd840000 0x0 0x40000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
|
|
|
|
+-+ <&cru PCLK_USB>;
|
|
|
|
+-+ phys = <&u2phy1_otg>;
|
|
|
|
+-+ phy-names = "usb2-phy";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb_host1_ehci: usb@fd880000 {
|
|
|
|
+-+ compatible = "generic-ehci";
|
|
|
|
+-+ reg = <0x0 0xfd880000 0x0 0x40000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
|
|
|
|
+-+ <&cru PCLK_USB>;
|
|
|
|
+-+ phys = <&u2phy1_host>;
|
|
|
|
+-+ phy-names = "usb2-phy";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb_host1_ohci: usb@fd8c0000 {
|
|
|
|
+-+ compatible = "generic-ohci";
|
|
|
|
+-+ reg = <0x0 0xfd8c0000 0x0 0x40000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
|
|
|
|
+-+ <&cru PCLK_USB>;
|
|
|
|
+-+ phys = <&u2phy1_host>;
|
|
|
|
+-+ phy-names = "usb2-phy";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmugrf: syscon@fdc20000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
|
|
|
|
+-+ reg = <0x0 0xfdc20000 0x0 0x10000>;
|
|
|
|
+-+
|
|
|
|
+-+ pmu_io_domains: io-domains {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pmu-io-voltage-domain";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pipegrf: syscon@fdc50000 {
|
|
|
|
+-+ reg = <0x0 0xfdc50000 0x0 0x1000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ grf: syscon@fdc60000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
|
|
|
|
+-+ reg = <0x0 0xfdc60000 0x0 0x10000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pipe_phy_grf0: syscon@fdc70000 {
|
|
|
|
+-+ compatible = "rockchip,pipe-phy-grf", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfdc70000 0x0 0x1000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pipe_phy_grf1: syscon@fdc80000 {
|
|
|
|
+-+ compatible = "rockchip,pipe-phy-grf", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfdc80000 0x0 0x1000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pipe_phy_grf2: syscon@fdc90000 {
|
|
|
|
+-+ compatible = "rockchip,pipe-phy-grf", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfdc90000 0x0 0x1000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb2phy0_grf: syscon@fdca0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfdca0000 0x0 0x8000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb2phy1_grf: syscon@fdca8000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfdca8000 0x0 0x8000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmucru: clock-controller@fdd00000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pmucru";
|
|
|
|
+-+ reg = <0x0 0xfdd00000 0x0 0x1000>;
|
|
|
|
+-+ #clock-cells = <1>;
|
|
|
|
+-+ #reset-cells = <1>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cru: clock-controller@fdd20000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-cru";
|
|
|
|
+-+ reg = <0x0 0xfdd20000 0x0 0x1000>;
|
|
|
|
+-+ #clock-cells = <1>;
|
|
|
|
+-+ #reset-cells = <1>;
|
|
|
|
+-+ assigned-clocks = <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
|
|
|
|
+-+ assigned-clock-rates = <1200000000>, <200000000>;
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2c0: i2c@fdd40000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-+ reg = <0x0 0xfdd40000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
|
|
|
|
+-+ clock-names = "i2c", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&i2c0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart0: serial@fdd50000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfdd50000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 0>, <&dmac0 1>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm0: pwm@fdd70000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfdd70000 0x0 0x10>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm0m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm1: pwm@fdd70010 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfdd70010 0x0 0x10>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm1m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm2: pwm@fdd70020 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfdd70020 0x0 0x10>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm2m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm3: pwm@fdd70030 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfdd70030 0x0 0x10>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm3_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmu: power-management@fdd90000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
|
|
|
|
+-+ reg = <0x0 0xfdd90000 0x0 0x1000>;
|
|
|
|
+-+
|
|
|
|
+-+ power: power-controller {
|
|
|
|
+-+ compatible = "rockchip,rk3568-power-controller";
|
|
|
|
+-+ #power-domain-cells = <1>;
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ /* These power domains are grouped by VD_GPU */
|
|
|
|
+-+ power-domain@RK3568_PD_GPU {
|
|
|
|
+-+ reg = <RK3568_PD_GPU>;
|
|
|
|
+-+ clocks = <&cru ACLK_GPU_PRE>,
|
|
|
|
+-+ <&cru PCLK_GPU_PRE>;
|
|
|
|
+-+ pm_qos = <&qos_gpu>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ /* These power domains are grouped by VD_LOGIC */
|
|
|
|
+-+ power-domain@RK3568_PD_VI {
|
|
|
|
+-+ reg = <RK3568_PD_VI>;
|
|
|
|
+-+ clocks = <&cru HCLK_VI>,
|
|
|
|
+-+ <&cru PCLK_VI>;
|
|
|
|
+-+ pm_qos = <&qos_isp>,
|
|
|
|
+-+ <&qos_vicap0>,
|
|
|
|
+-+ <&qos_vicap1>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ power-domain@RK3568_PD_VO {
|
|
|
|
+-+ reg = <RK3568_PD_VO>;
|
|
|
|
+-+ clocks = <&cru HCLK_VO>,
|
|
|
|
+-+ <&cru PCLK_VO>,
|
|
|
|
+-+ <&cru ACLK_VOP_PRE>;
|
|
|
|
+-+ pm_qos = <&qos_hdcp>,
|
|
|
|
+-+ <&qos_vop_m0>,
|
|
|
|
+-+ <&qos_vop_m1>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ power-domain@RK3568_PD_RGA {
|
|
|
|
+-+ reg = <RK3568_PD_RGA>;
|
|
|
|
+-+ clocks = <&cru HCLK_RGA_PRE>,
|
|
|
|
+-+ <&cru PCLK_RGA_PRE>;
|
|
|
|
+-+ pm_qos = <&qos_ebc>,
|
|
|
|
+-+ <&qos_iep>,
|
|
|
|
+-+ <&qos_jpeg_dec>,
|
|
|
|
+-+ <&qos_jpeg_enc>,
|
|
|
|
+-+ <&qos_rga_rd>,
|
|
|
|
+-+ <&qos_rga_wr>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ power-domain@RK3568_PD_VPU {
|
|
|
|
+-+ reg = <RK3568_PD_VPU>;
|
|
|
|
+-+ clocks = <&cru HCLK_VPU_PRE>;
|
|
|
|
+-+ pm_qos = <&qos_vpu>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ power-domain@RK3568_PD_RKVDEC {
|
|
|
|
+-+ clocks = <&cru HCLK_RKVDEC_PRE>;
|
|
|
|
+-+ reg = <RK3568_PD_RKVDEC>;
|
|
|
|
+-+ pm_qos = <&qos_rkvdec>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ power-domain@RK3568_PD_RKVENC {
|
|
|
|
+-+ reg = <RK3568_PD_RKVENC>;
|
|
|
|
+-+ clocks = <&cru HCLK_RKVENC_PRE>;
|
|
|
|
+-+ pm_qos = <&qos_rkvenc_rd_m0>,
|
|
|
|
+-+ <&qos_rkvenc_rd_m1>,
|
|
|
|
+-+ <&qos_rkvenc_wr_m0>;
|
|
|
|
+-+ #power-domain-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpu: gpu@fde60000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
|
|
|
|
+-+ reg = <0x0 0xfde60000 0x0 0x4000>;
|
|
|
|
+-+
|
|
|
|
+-+ interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "job", "mmu", "gpu";
|
|
|
|
+-+ clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
|
|
|
|
+-+ clock-names = "core", "bus";
|
|
|
|
+-+ operating-points-v2 = <&gpu_opp_table>;
|
|
|
|
+-+ #cooling-cells = <2>;
|
|
|
|
+-+ power-domains = <&power RK3568_PD_GPU>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sdmmc2: mmc@fe000000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+-+ reg = <0x0 0xfe000000 0x0 0x4000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
|
|
|
|
+-+ <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
|
|
|
|
+-+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
|
|
+-+ fifo-depth = <0x100>;
|
|
|
|
+-+ max-frequency = <150000000>;
|
|
|
|
+-+ resets = <&cru SRST_SDMMC2>;
|
|
|
|
+-+ reset-names = "reset";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gmac1: ethernet@fe010000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
|
|
|
|
+-+ reg = <0x0 0xfe010000 0x0 0x10000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "macirq", "eth_wake_irq";
|
|
|
|
+-+ clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
|
|
|
|
+-+ <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
|
|
|
|
+-+ <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
|
|
|
|
+-+ <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
|
|
|
|
+-+ clock-names = "stmmaceth", "mac_clk_rx",
|
|
|
|
+-+ "mac_clk_tx", "clk_mac_refout",
|
|
|
|
+-+ "aclk_mac", "pclk_mac",
|
|
|
|
+-+ "clk_mac_speed", "ptp_ref";
|
|
|
|
+-+ resets = <&cru SRST_A_GMAC1>;
|
|
|
|
+-+ reset-names = "stmmaceth";
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ snps,axi-config = <&gmac1_stmmac_axi_setup>;
|
|
|
|
+-+ snps,mixed-burst;
|
|
|
|
+-+ snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
|
|
|
|
+-+ snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
|
|
|
|
+-+ snps,tso;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ mdio1: mdio {
|
|
|
|
+-+ compatible = "snps,dwmac-mdio";
|
|
|
|
+-+ #address-cells = <0x1>;
|
|
|
|
+-+ #size-cells = <0x0>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gmac1_stmmac_axi_setup: stmmac-axi-config {
|
|
|
|
+-+ snps,blen = <0 0 0 0 16 8 4>;
|
|
|
|
+-+ snps,rd_osr_lmt = <8>;
|
|
|
|
+-+ snps,wr_osr_lmt = <4>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gmac1_mtl_rx_setup: rx-queues-config {
|
|
|
|
+-+ snps,rx-queues-to-use = <1>;
|
|
|
|
+-+ queue0 {};
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gmac1_mtl_tx_setup: tx-queues-config {
|
|
|
|
+-+ snps,tx-queues-to-use = <1>;
|
|
|
|
+-+ queue0 {};
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ display_subsystem: display-subsystem {
|
|
|
|
+-+ compatible = "rockchip,display-subsystem";
|
|
|
|
+-+ ports = <&vop_out>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vop: vop@fe040000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-vop";
|
|
|
|
+-+ reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
|
|
|
|
+-+ reg-names = "regs", "gamma_lut";
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
|
|
|
|
+-+ clock-names = "aclk_vop", "hclk_vop", "dclk_vp0", "dclk_vp1", "dclk_vp2";
|
|
|
|
+-+ iommus = <&vop_mmu>;
|
|
|
|
+-+ power-domains = <&power RK3568_PD_VO>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ vop_out: ports {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ vp0: port@0 {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ vp0_out_hdmi: endpoint@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ remote-endpoint = <&hdmi_in_vp0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vp1: port@1 {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ reg = <1>;
|
|
|
|
+-+
|
|
|
|
+-+ vp1_out_hdmi: endpoint@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ remote-endpoint = <&hdmi_in_vp1>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vp2: port@2 {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ reg = <2>;
|
|
|
|
+-+
|
|
|
|
+-+ vp2_out_hdmi: endpoint@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ remote-endpoint = <&hdmi_in_vp2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vop_mmu: iommu@fe043e00 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-iommu";
|
|
|
|
+-+ reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "vop_mmu";
|
|
|
|
+-+ clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
|
|
|
|
+-+ clock-names = "aclk", "iface";
|
|
|
|
+-+ #iommu-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ hdmi: hdmi@fe0a0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-dw-hdmi";
|
|
|
|
+-+ reg = <0x0 0xfe0a0000 0x0 0x20000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru PCLK_HDMI_HOST>,
|
|
|
|
+-+ <&cru CLK_HDMI_SFR>,
|
|
|
|
+-+ <&cru CLK_HDMI_CEC>,
|
|
|
|
+-+ <&cru HCLK_VOP>;
|
|
|
|
+-+ clock-names = "iahb", "isfr", "cec", "hclk";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_VO>;
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ ports {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ hdmi_in: port@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ hdmi_in_vp0: endpoint@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ remote-endpoint = <&vp0_out_hdmi>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ hdmi_in_vp1: endpoint@1 {
|
|
|
|
+-+ reg = <1>;
|
|
|
|
+-+ remote-endpoint = <&vp1_out_hdmi>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ hdmi_in_vp2: endpoint@2 {
|
|
|
|
+-+ reg = <2>;
|
|
|
|
+-+ remote-endpoint = <&vp2_out_hdmi>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_gpu: qos@fe128000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe128000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_rkvenc_rd_m0: qos@fe138080 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe138080 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_rkvenc_rd_m1: qos@fe138100 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe138100 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_rkvenc_wr_m0: qos@fe138180 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe138180 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_isp: qos@fe148000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe148000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_vicap0: qos@fe148080 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe148080 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_vicap1: qos@fe148100 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe148100 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_vpu: qos@fe150000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe150000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_ebc: qos@fe158000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe158000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_iep: qos@fe158100 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe158100 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_jpeg_dec: qos@fe158180 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe158180 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_jpeg_enc: qos@fe158200 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe158200 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_rga_rd: qos@fe158280 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe158280 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_rga_wr: qos@fe158300 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe158300 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_npu: qos@fe180000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe180000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_pcie2x1: qos@fe190000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_sata1: qos@fe190280 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190280 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_sata2: qos@fe190300 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190300 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_usb3_0: qos@fe190380 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190380 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_usb3_1: qos@fe190400 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe190400 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_rkvdec: qos@fe198000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe198000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_hdcp: qos@fe1a8000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe1a8000 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_vop_m0: qos@fe1a8080 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe1a8080 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ qos_vop_m1: qos@fe1a8100 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfe1a8100 0x0 0x20>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pcie2x1: pcie@fe260000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pcie";
|
|
|
|
+-+ #address-cells = <3>;
|
|
|
|
+-+ #size-cells = <2>;
|
|
|
|
+-+ bus-range = <0x0 0xf>;
|
|
|
|
+-+ assigned-clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
|
|
|
|
+-+ <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
|
|
|
|
+-+ <&cru CLK_PCIE20_AUX_NDFT>;
|
|
|
|
+-+ clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
|
|
|
|
+-+ <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
|
|
|
|
+-+ <&cru CLK_PCIE20_AUX_NDFT>;
|
|
|
|
+-+ clock-names = "aclk_mst", "aclk_slv",
|
|
|
|
+-+ "aclk_dbi", "pclk", "aux";
|
|
|
|
+-+ device_type = "pci";
|
|
|
|
+-+ interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ interrupt-names = "sys", "pmc", "msi", "legacy", "err";
|
|
|
|
+-+ #interrupt-cells = <1>;
|
|
|
|
+-+ interrupt-map-mask = <0 0 0 7>;
|
|
|
|
+-+ interrupt-map = <0 0 0 1 &pcie_intc 0>,
|
|
|
|
+-+ <0 0 0 2 &pcie_intc 1>,
|
|
|
|
+-+ <0 0 0 3 &pcie_intc 2>,
|
|
|
|
+-+ <0 0 0 4 &pcie_intc 3>;
|
|
|
|
+-+ linux,pci-domain = <0>;
|
|
|
|
+-+ num-ib-windows = <6>;
|
|
|
|
+-+ num-ob-windows = <2>;
|
|
|
|
+-+ max-link-speed = <2>;
|
|
|
|
+-+ msi-map = <0x0 &gic 0x0 0x1000>;
|
|
|
|
+-+ num-lanes = <1>;
|
|
|
|
+-+ phys = <&combphy2_psq PHY_TYPE_PCIE>;
|
|
|
|
+-+ phy-names = "pcie-phy";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ reg = <0x3 0xc0000000 0x0 0x400000>,
|
|
|
|
+-+ <0x0 0xfe260000 0x0 0x10000>,
|
|
|
|
+-+ <0x3 0x3f800000 0x0 0x800000>;
|
|
|
|
+-+ ranges = <0x1000000 0x0 0x7f700000 0x3 0x3f700000 0x0 0x00100000
|
|
|
|
+-+ 0x2000000 0x0 0x40000000 0x3 0x00000000 0x0 0x3f700000>;
|
|
|
|
+-+ reg-names = "dbi", "apb", "config";
|
|
|
|
+-+ resets = <&cru SRST_PCIE20_POWERUP>;
|
|
|
|
+-+ reset-names = "pipe";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ pcie_intc: legacy-interrupt-controller {
|
|
|
|
+-+ #address-cells = <0>;
|
|
|
|
+-+ #interrupt-cells = <1>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ interrupt-parent = <&gic>;
|
|
|
|
+-+ interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sdmmc0: mmc@fe2b0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+-+ reg = <0x0 0xfe2b0000 0x0 0x4000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
|
|
|
|
+-+ <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
|
|
|
|
+-+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
|
|
+-+ fifo-depth = <0x100>;
|
|
|
|
+-+ max-frequency = <150000000>;
|
|
|
|
+-+ resets = <&cru SRST_SDMMC0>;
|
|
|
|
+-+ reset-names = "reset";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sdmmc1: mmc@fe2c0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+-+ reg = <0x0 0xfe2c0000 0x0 0x4000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
|
|
|
|
+-+ <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
|
|
|
|
+-+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
|
|
|
|
+-+ fifo-depth = <0x100>;
|
|
|
|
+-+ max-frequency = <150000000>;
|
|
|
|
+-+ resets = <&cru SRST_SDMMC1>;
|
|
|
|
+-+ reset-names = "reset";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sfc: spi@fe300000 {
|
|
|
|
+-+ compatible = "rockchip,sfc";
|
|
|
|
+-+ reg = <0x0 0xfe300000 0x0 0x4000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
|
|
|
|
+-+ clock-names = "clk_sfc", "hclk_sfc";
|
|
|
|
+-+ pinctrl-0 = <&fspi_pins>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ sdhci: mmc@fe310000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-dwcmshc";
|
|
|
|
+-+ reg = <0x0 0xfe310000 0x0 0x10000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
|
|
|
|
+-+ assigned-clock-rates = <200000000>, <24000000>;
|
|
|
|
+-+ clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
|
|
|
|
+-+ <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
|
|
|
|
+-+ <&cru TCLK_EMMC>;
|
|
|
|
+-+ clock-names = "core", "bus", "axi", "block", "timer";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ spdif: spdif@fe460000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-spdif";
|
|
|
|
+-+ reg = <0x0 0xfe460000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clock-names = "mclk", "hclk";
|
|
|
|
+-+ clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
|
|
|
|
+-+ dmas = <&dmac1 1>;
|
|
|
|
+-+ dma-names = "tx";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&spdifm0_tx>;
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2s1_8ch: i2s@fe410000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2s-tdm";
|
|
|
|
+-+ reg = <0x0 0xfe410000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
|
|
|
|
+-+ assigned-clock-rates = <1188000000>, <1188000000>;
|
|
|
|
+-+ clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
|
|
|
|
+-+ <&cru HCLK_I2S1_8CH>;
|
|
|
|
+-+ clock-names = "mclk_tx", "mclk_rx", "hclk";
|
|
|
|
+-+ dmas = <&dmac1 3>, <&dmac1 2>;
|
|
|
|
+-+ dma-names = "rx", "tx";
|
|
|
|
+-+ resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
|
|
|
|
+-+ reset-names = "tx-m", "rx-m";
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
|
|
|
|
+-+ &i2s1m0_lrcktx &i2s1m0_lrckrx
|
|
|
|
+-+ &i2s1m0_sdi0 &i2s1m0_sdi1
|
|
|
|
+-+ &i2s1m0_sdi2 &i2s1m0_sdi3
|
|
|
|
+-+ &i2s1m0_sdo0 &i2s1m0_sdo1
|
|
|
|
+-+ &i2s1m0_sdo2 &i2s1m0_sdo3>;
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ dmac0: dmac@fe530000 {
|
|
|
|
+-+ compatible = "arm,pl330", "arm,primecell";
|
|
|
|
+-+ reg = <0x0 0xfe530000 0x0 0x4000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ arm,pl330-periph-burst;
|
|
|
|
+-+ clocks = <&cru ACLK_BUS>;
|
|
|
|
+-+ clock-names = "apb_pclk";
|
|
|
|
+-+ #dma-cells = <1>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ dmac1: dmac@fe550000 {
|
|
|
|
+-+ compatible = "arm,pl330", "arm,primecell";
|
|
|
|
+-+ reg = <0x0 0xfe550000 0x0 0x4000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
+-+ <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ arm,pl330-periph-burst;
|
|
|
|
+-+ clocks = <&cru ACLK_BUS>;
|
|
|
|
+-+ clock-names = "apb_pclk";
|
|
|
|
+-+ #dma-cells = <1>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2c1: i2c@fe5a0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-+ reg = <0x0 0xfe5a0000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
|
|
|
|
+-+ clock-names = "i2c", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&i2c1_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2c2: i2c@fe5b0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-+ reg = <0x0 0xfe5b0000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
|
|
|
|
+-+ clock-names = "i2c", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&i2c2m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2c3: i2c@fe5c0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-+ reg = <0x0 0xfe5c0000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
|
|
|
|
+-+ clock-names = "i2c", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&i2c3m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2c4: i2c@fe5d0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-+ reg = <0x0 0xfe5d0000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
|
|
|
|
+-+ clock-names = "i2c", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&i2c4m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ i2c5: i2c@fe5e0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
|
|
|
|
+-+ reg = <0x0 0xfe5e0000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
|
|
|
|
+-+ clock-names = "i2c", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&i2c5m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ wdt: watchdog@fe600000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
|
|
|
|
+-+ reg = <0x0 0xfe600000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
|
|
|
|
+-+ clock-names = "tclk", "pclk";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart1: serial@fe650000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe650000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 2>, <&dmac0 3>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart1m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart2: serial@fe660000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe660000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 4>, <&dmac0 5>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart2m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart3: serial@fe670000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe670000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 6>, <&dmac0 7>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart3m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart4: serial@fe680000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe680000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 8>, <&dmac0 9>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart4m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart5: serial@fe690000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe690000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 10>, <&dmac0 11>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart5m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart6: serial@fe6a0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe6a0000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 12>, <&dmac0 13>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart6m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart7: serial@fe6b0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe6b0000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 14>, <&dmac0 15>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart7m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart8: serial@fe6c0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe6c0000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 16>, <&dmac0 17>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart8m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ uart9: serial@fe6d0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
|
|
|
|
+-+ reg = <0x0 0xfe6d0000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
|
|
|
|
+-+ clock-names = "baudclk", "apb_pclk";
|
|
|
|
+-+ dmas = <&dmac0 18>, <&dmac0 19>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ pinctrl-0 = <&uart9m0_xfer>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ reg-io-width = <4>;
|
|
|
|
+-+ reg-shift = <2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ thermal_zones: thermal-zones {
|
|
|
|
+-+ cpu_thermal: cpu-thermal {
|
|
|
|
+-+ polling-delay-passive = <100>;
|
|
|
|
+-+ polling-delay = <1000>;
|
|
|
|
+-+
|
|
|
|
+-+ thermal-sensors = <&tsadc 0>;
|
|
|
|
+-+
|
|
|
|
+-+ trips {
|
|
|
|
+-+ cpu_alert0: cpu_alert0 {
|
|
|
|
+-+ temperature = <70000>;
|
|
|
|
+-+ hysteresis = <2000>;
|
|
|
|
+-+ type = "passive";
|
|
|
|
+-+ };
|
|
|
|
+-+ cpu_alert1: cpu_alert1 {
|
|
|
|
+-+ temperature = <75000>;
|
|
|
|
+-+ hysteresis = <2000>;
|
|
|
|
+-+ type = "passive";
|
|
|
|
+-+ };
|
|
|
|
+-+ cpu_crit: cpu_crit {
|
|
|
|
+-+ temperature = <95000>;
|
|
|
|
+-+ hysteresis = <2000>;
|
|
|
|
+-+ type = "critical";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ cooling-maps {
|
|
|
|
+-+ map0 {
|
|
|
|
+-+ trip = <&cpu_alert0>;
|
|
|
|
+-+ cooling-device =
|
|
|
|
+-+ <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
|
|
+-+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
|
|
+-+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
|
|
+-+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpu_thermal: gpu-thermal {
|
|
|
|
+-+ polling-delay-passive = <20>; /* milliseconds */
|
|
|
|
+-+ polling-delay = <1000>; /* milliseconds */
|
|
|
|
+-+
|
|
|
|
+-+ thermal-sensors = <&tsadc 1>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ tsadc: tsadc@fe710000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-tsadc";
|
|
|
|
+-+ reg = <0x0 0xfe710000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
|
|
|
|
+-+ assigned-clock-rates = <17000000>, <700000>;
|
|
|
|
+-+ clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
|
|
|
|
+-+ clock-names = "tsadc", "apb_pclk";
|
|
|
|
+-+ resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
|
|
|
|
+-+ <&cru SRST_TSADCPHY>;
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ rockchip,hw-tshut-temp = <95000>;
|
|
|
|
+-+ pinctrl-names = "init", "default", "sleep";
|
|
|
|
+-+ pinctrl-0 = <&tsadc_pin>;
|
|
|
|
+-+ pinctrl-1 = <&tsadc_shutorg>;
|
|
|
|
+-+ pinctrl-2 = <&tsadc_pin>;
|
|
|
|
+-+ #thermal-sensor-cells = <1>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ saradc: saradc@fe720000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
|
|
|
|
+-+ reg = <0x0 0xfe720000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
|
|
|
|
+-+ clock-names = "saradc", "apb_pclk";
|
|
|
|
+-+ resets = <&cru SRST_P_SARADC>;
|
|
|
|
+-+ reset-names = "saradc-apb";
|
|
|
|
+-+ #io-channel-cells = <1>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm4: pwm@fe6e0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6e0000 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm4_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm5: pwm@fe6e0010 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6e0010 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm5_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm6: pwm@fe6e0020 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6e0020 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm6_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm7: pwm@fe6e0030 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6e0030 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm7_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm8: pwm@fe6f0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6f0000 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm8m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm9: pwm@fe6f0010 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6f0010 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm9m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm10: pwm@fe6f0020 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6f0020 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm10m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm11: pwm@fe6f0030 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe6f0030 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm11m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm12: pwm@fe700000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe700000 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm12m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm13: pwm@fe700010 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe700010 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm13m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm14: pwm@fe700020 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe700020 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm14m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pwm15: pwm@fe700030 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
|
|
|
|
+-+ reg = <0x0 0xfe700030 0x0 0x10>;
|
|
|
|
+-+ clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
|
|
|
|
+-+ clock-names = "pwm", "pclk";
|
|
|
|
+-+ pinctrl-0 = <&pwm15m0_pins>;
|
|
|
|
+-+ pinctrl-names = "active";
|
|
|
|
+-+ #pwm-cells = <3>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ combphy1_usq: phy@fe830000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-+ reg = <0x0 0xfe830000 0x0 0x100>;
|
|
|
|
+-+ #phy-cells = <1>;
|
|
|
|
+-+ assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
|
|
|
|
+-+ assigned-clock-rates = <100000000>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PCIEPHY1_REF>, <&cru PCLK_PIPEPHY1>,
|
|
|
|
+-+ <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref", "apb", "pipe";
|
|
|
|
+-+ resets = <&cru SRST_P_PIPEPHY1>, <&cru SRST_PIPEPHY1>;
|
|
|
|
+-+ reset-names = "combphy-apb", "combphy";
|
|
|
|
+-+ rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-+ rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ combphy2_psq: phy@fe840000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-+ reg = <0x0 0xfe840000 0x0 0x100>;
|
|
|
|
+-+ #phy-cells = <1>;
|
|
|
|
+-+ assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
|
|
|
|
+-+ assigned-clock-rates = <100000000>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PCIEPHY2_REF>, <&cru PCLK_PIPEPHY2>,
|
|
|
|
+-+ <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref", "apb", "pipe";
|
|
|
|
+-+ resets = <&cru SRST_P_PIPEPHY2>, <&cru SRST_PIPEPHY2>;
|
|
|
|
+-+ reset-names = "combphy-apb", "combphy";
|
|
|
|
+-+ rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-+ rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb2phy0: usb2-phy@fe8a0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-usb2phy";
|
|
|
|
+-+ reg = <0x0 0xfe8a0000 0x0 0x10000>;
|
|
|
|
+-+ clocks = <&pmucru CLK_USBPHY0_REF>;
|
|
|
|
+-+ clock-names = "phyclk";
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+-+ clock-output-names = "usb480m_phy";
|
|
|
|
+-+ interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ rockchip,usbgrf = <&usb2phy0_grf>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ u2phy0_host: host-port {
|
|
|
|
+-+ #phy-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ u2phy0_otg: otg-port {
|
|
|
|
+-+ #phy-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb2phy1: usb2-phy@fe8b0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-usb2phy";
|
|
|
|
+-+ reg = <0x0 0xfe8b0000 0x0 0x10000>;
|
|
|
|
+-+ clocks = <&pmucru CLK_USBPHY1_REF>;
|
|
|
|
+-+ clock-names = "phyclk";
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+-+ interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ rockchip,usbgrf = <&usb2phy1_grf>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+
|
|
|
|
+-+ u2phy1_host: host-port {
|
|
|
|
+-+ #phy-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ u2phy1_otg: otg-port {
|
|
|
|
+-+ #phy-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pinctrl: pinctrl {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pinctrl";
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ rockchip,pmu = <&pmugrf>;
|
|
|
|
+-+ #address-cells = <2>;
|
|
|
|
+-+ #size-cells = <2>;
|
|
|
|
+-+ ranges;
|
|
|
|
+-+
|
|
|
|
+-+ gpio0: gpio@fdd60000 {
|
|
|
|
+-+ compatible = "rockchip,gpio-bank";
|
|
|
|
+-+ reg = <0x0 0xfdd60000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
|
|
|
|
+-+ gpio-controller;
|
|
|
|
+-+ #gpio-cells = <2>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ #interrupt-cells = <2>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpio1: gpio@fe740000 {
|
|
|
|
+-+ compatible = "rockchip,gpio-bank";
|
|
|
|
+-+ reg = <0x0 0xfe740000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
|
|
|
|
+-+ gpio-controller;
|
|
|
|
+-+ #gpio-cells = <2>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ #interrupt-cells = <2>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpio2: gpio@fe750000 {
|
|
|
|
+-+ compatible = "rockchip,gpio-bank";
|
|
|
|
+-+ reg = <0x0 0xfe750000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
|
|
|
|
+-+ gpio-controller;
|
|
|
|
+-+ #gpio-cells = <2>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ #interrupt-cells = <2>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpio3: gpio@fe760000 {
|
|
|
|
+-+ compatible = "rockchip,gpio-bank";
|
|
|
|
+-+ reg = <0x0 0xfe760000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
|
|
|
|
+-+ gpio-controller;
|
|
|
|
+-+ #gpio-cells = <2>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ #interrupt-cells = <2>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ gpio4: gpio@fe770000 {
|
|
|
|
+-+ compatible = "rockchip,gpio-bank";
|
|
|
|
+-+ reg = <0x0 0xfe770000 0x0 0x100>;
|
|
|
|
+-+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
|
|
|
|
+-+ gpio-controller;
|
|
|
|
+-+ #gpio-cells = <2>;
|
|
|
|
+-+ interrupt-controller;
|
|
|
|
+-+ #interrupt-cells = <2>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+#include "rk3568-pinctrl.dtsi"
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-@@ -55,7 +55,7 @@ enum {
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
|
|
|
|
+-- [BROM_BOOTSOURCE_EMMC] = "/sdhci@fe310000",
|
|
|
|
+-+ [BROM_BOOTSOURCE_EMMC] = "/mmc@fe310000",
|
|
|
|
+- [BROM_BOOTSOURCE_SPINOR] = "/spi@fe300000/flash@0",
|
|
|
|
+- [BROM_BOOTSOURCE_SD] = "/mmc@fe2b0000",
|
|
|
|
+- };
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/005-rockchip-rk356x-HACK-fix-sdmmc-support.patch b/package/boot/uboot-rockchip/patches/005-rockchip-rk356x-HACK-fix-sdmmc-support.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 10e4dd1198bc..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/005-rockchip-rk356x-HACK-fix-sdmmc-support.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,50 +0,0 @@
|
|
|
|
+-From 01e8a38985a90043abddc5c5bcd049c74bb29a53 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 19 Dec 2021 18:52:18 -0500
|
|
|
|
+-Subject: [PATCH 05/11] rockchip: rk356x: HACK: fix sdmmc support
|
|
|
|
+-
|
|
|
|
+-HACK: lock mmc0 to initial frequency and disable dw-mmc control of power
|
|
|
|
+-line.
|
|
|
|
+-
|
|
|
|
+-The sdmmc on quartz64-a is powered by the sdmmc0 power line, which is
|
|
|
|
+-active low.
|
|
|
|
+-Even though it is set as a gpio, it still seems to be triggered by the
|
|
|
|
+-dw-mmc driver toggling the power line.
|
|
|
|
+-Downstream fixes this by setting this to "0" instead of "1" using
|
|
|
|
+-kconfigs.
|
|
|
|
+-
|
|
|
|
+-Also, for some reason the controller will only operate at initial
|
|
|
|
+-frequencies.
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi | 4 +++-
|
|
|
|
+- drivers/mmc/dw_mmc.c | 3 ++-
|
|
|
|
+- 2 files changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-@@ -13,8 +13,10 @@
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &sdmmc0 {
|
|
|
|
+-+ max-frequency = <400000>;
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+- u-boot,dm-spl;
|
|
|
|
+-- status = "okay";
|
|
|
|
+-+ u-boot,spl-fifo-mode;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &uart2 {
|
|
|
|
+---- a/drivers/mmc/dw_mmc.c
|
|
|
|
+-+++ b/drivers/mmc/dw_mmc.c
|
|
|
|
+-@@ -529,7 +529,8 @@ static int dwmci_init(struct mmc *mmc)
|
|
|
|
+- if (host->board_init)
|
|
|
|
+- host->board_init(host);
|
|
|
|
+-
|
|
|
|
+-- dwmci_writel(host, DWMCI_PWREN, 1);
|
|
|
|
+-+// dwmci_writel(host, DWMCI_PWREN, 1);
|
|
|
|
+-+ dwmci_writel(host, DWMCI_PWREN, 0);
|
|
|
|
+-
|
|
|
|
+- if (!dwmci_wait_reset(host, DWMCI_RESET_ALL)) {
|
|
|
|
+- debug("%s[%d] Fail-reset!!\n", __func__, __LINE__);
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/006-rockchip-rk356x-add-quartz64-a-board.patch b/package/boot/uboot-rockchip/patches/006-rockchip-rk356x-add-quartz64-a-board.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 0a5d784b15bb..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/006-rockchip-rk356x-add-quartz64-a-board.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,214 +0,0 @@
|
|
|
|
+-From 9f623c0e96fc7c3b5c9b7a81f0a3017c47033ec7 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 19 Dec 2021 18:57:36 -0500
|
|
|
|
+-Subject: [PATCH 06/11] rockchip: rk356x: add quartz64-a board
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/Kconfig | 12 ++-
|
|
|
|
+- board/pine64/quartz64-a-rk3566/Kconfig | 15 ++++
|
|
|
|
+- board/pine64/quartz64-a-rk3566/Makefile | 4 +
|
|
|
|
+- .../quartz64-a-rk3566/quartz64-a-rk3566.c | 1 +
|
|
|
|
+- configs/quartz64-a-rk3566_defconfig | 77 +++++++++++++++++++
|
|
|
|
+- include/configs/quartz64-a-rk3566.h | 14 ++++
|
|
|
|
+- include/dt-bindings/power/rk3568-power.h | 32 ++++++++
|
|
|
|
+- 7 files changed, 154 insertions(+), 1 deletion(-)
|
|
|
|
+- create mode 100644 board/pine64/quartz64-a-rk3566/Kconfig
|
|
|
|
+- create mode 100644 board/pine64/quartz64-a-rk3566/Makefile
|
|
|
|
+- create mode 100644 board/pine64/quartz64-a-rk3566/quartz64-a-rk3566.c
|
|
|
|
+- create mode 100644 configs/quartz64-a-rk3566_defconfig
|
|
|
|
+- create mode 100644 include/configs/quartz64-a-rk3566.h
|
|
|
|
+- create mode 100644 include/dt-bindings/power/rk3568-power.h
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/Kconfig
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/Kconfig
|
|
|
|
+-@@ -1,11 +1,20 @@
|
|
|
|
+- if ROCKCHIP_RK3568
|
|
|
|
+-
|
|
|
|
+-+choice
|
|
|
|
+-+ prompt "RK3568/RK3566 board select"
|
|
|
|
+-+
|
|
|
|
+- config TARGET_EVB_RK3568
|
|
|
|
+- bool "RK3568 evaluation board"
|
|
|
|
+-- select BOARD_LATE_INIT
|
|
|
|
+- help
|
|
|
|
+- RK3568 EVB is a evaluation board for Rockchp RK3568.
|
|
|
|
+-
|
|
|
|
+-+config TARGET_QUARTZ64_A_RK3566
|
|
|
|
+-+ bool "Quartz64 Model A RK3566 development board"
|
|
|
|
+-+ help
|
|
|
|
+-+ Quartz64 Model A RK3566 is a development board from Pine64.
|
|
|
|
+-+
|
|
|
|
+-+endchoice
|
|
|
|
+-+
|
|
|
|
+- config ROCKCHIP_BOOT_MODE_REG
|
|
|
|
+- default 0xfdc20200
|
|
|
|
+-
|
|
|
|
+-@@ -19,5 +28,6 @@ config SYS_MALLOC_F_LEN
|
|
|
|
+- default 0x2000
|
|
|
|
+-
|
|
|
|
+- source "board/rockchip/evb_rk3568/Kconfig"
|
|
|
|
+-+source "board/pine64/quartz64-a-rk3566/Kconfig"
|
|
|
|
+-
|
|
|
|
+- endif
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/pine64/quartz64-a-rk3566/Kconfig
|
|
|
|
+-@@ -0,0 +1,15 @@
|
|
|
|
+-+if TARGET_QUARTZ64_A_RK3566
|
|
|
|
+-+
|
|
|
|
+-+config SYS_BOARD
|
|
|
|
+-+ default "quartz64-a-rk3566"
|
|
|
|
+-+
|
|
|
|
+-+config SYS_VENDOR
|
|
|
|
+-+ default "pine64"
|
|
|
|
+-+
|
|
|
|
+-+config SYS_CONFIG_NAME
|
|
|
|
+-+ default "quartz64-a-rk3566"
|
|
|
|
+-+
|
|
|
|
+-+config BOARD_SPECIFIC_OPTIONS # dummy
|
|
|
|
+-+ def_bool y
|
|
|
|
+-+
|
|
|
|
+-+endif
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/pine64/quartz64-a-rk3566/Makefile
|
|
|
|
+-@@ -0,0 +1,4 @@
|
|
|
|
+-+# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+#
|
|
|
|
+-+
|
|
|
|
+-+obj-y += quartz64-a-rk3566.o
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/pine64/quartz64-a-rk3566/quartz64-a-rk3566.c
|
|
|
|
+-@@ -0,0 +1 @@
|
|
|
|
+-+// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-@@ -0,0 +1,77 @@
|
|
|
|
+-+CONFIG_ARM=y
|
|
|
|
+-+CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+-+CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+-+CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+-+CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+-+CONFIG_DEFAULT_DEVICE_TREE="rk3566-quartz64-a"
|
|
|
|
+-+CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+-+CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+-+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+-+CONFIG_SPL_MMC=y
|
|
|
|
+-+CONFIG_SPL_SERIAL=y
|
|
|
|
+-+CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+-+CONFIG_TARGET_QUARTZ64_A_RK3566=y
|
|
|
|
+-+CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+-+CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+-+CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+-+CONFIG_FIT=y
|
|
|
|
+-+CONFIG_FIT_VERBOSE=y
|
|
|
|
+-+CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-quartz64-a.dtb"
|
|
|
|
+-+# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+-+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+-+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-+CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+-+CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_ATF_LOAD_IMAGE_V2=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+-+CONFIG_CMD_GPIO=y
|
|
|
|
+-+CONFIG_CMD_GPT=y
|
|
|
|
+-+CONFIG_CMD_I2C=y
|
|
|
|
+-+CONFIG_CMD_MMC=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+-+CONFIG_CMD_REGULATOR=y
|
|
|
|
+-+# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+-+CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+-+CONFIG_OF_LIVE=y
|
|
|
|
+-+CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_REGMAP=y
|
|
|
|
+-+CONFIG_SPL_SYSCON=y
|
|
|
|
+-+CONFIG_SPL_CLK=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+-+CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_MMC_DW=y
|
|
|
|
+-+CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+-+CONFIG_MMC_SDHCI=y
|
|
|
|
+-+CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+-+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+-+CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+-+CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+-+CONFIG_DM_PMIC=y
|
|
|
|
+-+CONFIG_PMIC_RK8XX=y
|
|
|
|
+-+CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+-+CONFIG_REGULATOR_PWM=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+-+CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+-+CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+-+CONFIG_BAUDRATE=1500000
|
|
|
|
+-+CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+-+CONFIG_SYSRESET=y
|
|
|
|
+-+CONFIG_SYSRESET_PSCI=y
|
|
|
|
+-+CONFIG_ERRNO_STR=y
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/include/configs/quartz64-a-rk3566.h
|
|
|
|
+-@@ -0,0 +1,14 @@
|
|
|
|
+-+/* SPDX-License-Identifier: GPL-2.0+ */
|
|
|
|
+-+
|
|
|
|
+-+#ifndef __QUARTZ64_A_RK3566_H
|
|
|
|
+-+#define __QUARTZ64_A_RK3566_H
|
|
|
|
+-+
|
|
|
|
+-+#include <configs/rk3568_common.h>
|
|
|
|
+-+
|
|
|
|
+-+#define CONFIG_SUPPORT_EMMC_RPMB
|
|
|
|
+-+
|
|
|
|
+-+#define ROCKCHIP_DEVICE_SETTINGS \
|
|
|
|
+-+ "stdout=serial,vidconsole\0" \
|
|
|
|
+-+ "stderr=serial,vidconsole\0"
|
|
|
|
+-+
|
|
|
|
+-+#endif
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/include/dt-bindings/power/rk3568-power.h
|
|
|
|
+-@@ -0,0 +1,32 @@
|
|
|
|
+-+/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
+-+#ifndef __DT_BINDINGS_POWER_RK3568_POWER_H__
|
|
|
|
+-+#define __DT_BINDINGS_POWER_RK3568_POWER_H__
|
|
|
|
+-+
|
|
|
|
+-+/* VD_CORE */
|
|
|
|
+-+#define RK3568_PD_CPU_0 0
|
|
|
|
+-+#define RK3568_PD_CPU_1 1
|
|
|
|
+-+#define RK3568_PD_CPU_2 2
|
|
|
|
+-+#define RK3568_PD_CPU_3 3
|
|
|
|
+-+#define RK3568_PD_CORE_ALIVE 4
|
|
|
|
+-+
|
|
|
|
+-+/* VD_PMU */
|
|
|
|
+-+#define RK3568_PD_PMU 5
|
|
|
|
+-+
|
|
|
|
+-+/* VD_NPU */
|
|
|
|
+-+#define RK3568_PD_NPU 6
|
|
|
|
+-+
|
|
|
|
+-+/* VD_GPU */
|
|
|
|
+-+#define RK3568_PD_GPU 7
|
|
|
|
+-+
|
|
|
|
+-+/* VD_LOGIC */
|
|
|
|
+-+#define RK3568_PD_VI 8
|
|
|
|
+-+#define RK3568_PD_VO 9
|
|
|
|
+-+#define RK3568_PD_RGA 10
|
|
|
|
+-+#define RK3568_PD_VPU 11
|
|
|
|
+-+#define RK3568_PD_CENTER 12
|
|
|
|
+-+#define RK3568_PD_RKVDEC 13
|
|
|
|
+-+#define RK3568_PD_RKVENC 14
|
|
|
|
+-+#define RK3568_PD_PIPE 15
|
|
|
|
+-+#define RK3568_PD_LOGIC_ALIVE 16
|
|
|
|
+-+
|
|
|
|
+-+#endif
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/007-gpio-rockchip-rk_gpio-support-v2-gpio-controller.patch b/package/boot/uboot-rockchip/patches/007-gpio-rockchip-rk_gpio-support-v2-gpio-controller.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 3066eaaf4329..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/007-gpio-rockchip-rk_gpio-support-v2-gpio-controller.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,755 +0,0 @@
|
|
|
|
+-From 3a4d973a743bc76cc734db9616f9053f45fa922f Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Jianqun Xu <[email protected]>
|
|
|
|
+-Date: Thu, 28 May 2020 11:01:58 +0800
|
|
|
|
+-Subject: [PATCH 07/11] gpio/rockchip: rk_gpio support v2 gpio controller
|
|
|
|
+-
|
|
|
|
+-The v2 gpio controller add write enable bit for some register,
|
|
|
|
+-such as data register, data direction register and so on.
|
|
|
|
+-
|
|
|
|
+-This patch support v2 gpio controller by redefine the read and
|
|
|
|
+-write operation functions.
|
|
|
|
+-
|
|
|
|
+-Also adds support for the rk3568 pinctrl device.
|
|
|
|
+-
|
|
|
|
+-Squash all fixes into this commit.
|
|
|
|
+-
|
|
|
|
+-Change-Id: I2adbcca06a37c48e6f494b89833cd034ba0dae29
|
|
|
|
+-Signed-off-by: Jianqun Xu <[email protected]>
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/include/asm/arch-rockchip/gpio.h | 36 ++
|
|
|
|
+- drivers/gpio/Kconfig | 13 +
|
|
|
|
+- drivers/gpio/rk_gpio.c | 89 ++++-
|
|
|
|
+- drivers/pinctrl/rockchip/Makefile | 1 +
|
|
|
|
+- drivers/pinctrl/rockchip/pinctrl-rk3568.c | 360 ++++++++++++++++++
|
|
|
|
+- .../pinctrl/rockchip/pinctrl-rockchip-core.c | 11 +-
|
|
|
|
+- drivers/pinctrl/rockchip/pinctrl-rockchip.h | 42 ++
|
|
|
|
+- 7 files changed, 530 insertions(+), 22 deletions(-)
|
|
|
|
+- create mode 100644 drivers/pinctrl/rockchip/pinctrl-rk3568.c
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/include/asm/arch-rockchip/gpio.h
|
|
|
|
+-+++ b/arch/arm/include/asm/arch-rockchip/gpio.h
|
|
|
|
+-@@ -6,6 +6,7 @@
|
|
|
|
+- #ifndef _ASM_ARCH_GPIO_H
|
|
|
|
+- #define _ASM_ARCH_GPIO_H
|
|
|
|
+-
|
|
|
|
+-+#ifndef CONFIG_ROCKCHIP_GPIO_V2
|
|
|
|
+- struct rockchip_gpio_regs {
|
|
|
|
+- u32 swport_dr;
|
|
|
|
+- u32 swport_ddr;
|
|
|
|
+-@@ -23,6 +24,41 @@ struct rockchip_gpio_regs {
|
|
|
|
+- u32 ls_sync;
|
|
|
|
+- };
|
|
|
|
+- check_member(rockchip_gpio_regs, ls_sync, 0x60);
|
|
|
|
+-+#else
|
|
|
|
+-+struct rockchip_gpio_regs {
|
|
|
|
+-+ u32 swport_dr_l; /* ADDRESS OFFSET: 0x0000 */
|
|
|
|
+-+ u32 swport_dr_h; /* ADDRESS OFFSET: 0x0004 */
|
|
|
|
+-+ u32 swport_ddr_l; /* ADDRESS OFFSET: 0x0008 */
|
|
|
|
+-+ u32 swport_ddr_h; /* ADDRESS OFFSET: 0x000c */
|
|
|
|
+-+ u32 int_en_l; /* ADDRESS OFFSET: 0x0010 */
|
|
|
|
+-+ u32 int_en_h; /* ADDRESS OFFSET: 0x0014 */
|
|
|
|
+-+ u32 int_mask_l; /* ADDRESS OFFSET: 0x0018 */
|
|
|
|
+-+ u32 int_mask_h; /* ADDRESS OFFSET: 0x001c */
|
|
|
|
+-+ u32 int_type_l; /* ADDRESS OFFSET: 0x0020 */
|
|
|
|
+-+ u32 int_type_h; /* ADDRESS OFFSET: 0x0024 */
|
|
|
|
+-+ u32 int_polarity_l; /* ADDRESS OFFSET: 0x0028 */
|
|
|
|
+-+ u32 int_polarity_h; /* ADDRESS OFFSET: 0x002c */
|
|
|
|
+-+ u32 int_bothedge_l; /* ADDRESS OFFSET: 0x0030 */
|
|
|
|
+-+ u32 int_bothedge_h; /* ADDRESS OFFSET: 0x0034 */
|
|
|
|
+-+ u32 debounce_l; /* ADDRESS OFFSET: 0x0038 */
|
|
|
|
+-+ u32 debounce_h; /* ADDRESS OFFSET: 0x003c */
|
|
|
|
+-+ u32 dbclk_div_en_l; /* ADDRESS OFFSET: 0x0040 */
|
|
|
|
+-+ u32 dbclk_div_en_h; /* ADDRESS OFFSET: 0x0044 */
|
|
|
|
+-+ u32 dbclk_div_con; /* ADDRESS OFFSET: 0x0048 */
|
|
|
|
+-+ u32 reserved004c; /* ADDRESS OFFSET: 0x004c */
|
|
|
|
+-+ u32 int_status; /* ADDRESS OFFSET: 0x0050 */
|
|
|
|
+-+ u32 reserved0054; /* ADDRESS OFFSET: 0x0054 */
|
|
|
|
+-+ u32 int_rawstatus; /* ADDRESS OFFSET: 0x0058 */
|
|
|
|
+-+ u32 reserved005c; /* ADDRESS OFFSET: 0x005c */
|
|
|
|
+-+ u32 port_eoi_l; /* ADDRESS OFFSET: 0x0060 */
|
|
|
|
+-+ u32 port_eoi_h; /* ADDRESS OFFSET: 0x0064 */
|
|
|
|
+-+ u32 reserved0068[2]; /* ADDRESS OFFSET: 0x0068 */
|
|
|
|
+-+ u32 ext_port; /* ADDRESS OFFSET: 0x0070 */
|
|
|
|
+-+ u32 reserved0074; /* ADDRESS OFFSET: 0x0074 */
|
|
|
|
+-+ u32 ver_id; /* ADDRESS OFFSET: 0x0078 */
|
|
|
|
+-+};
|
|
|
|
+-+check_member(rockchip_gpio_regs, ver_id, 0x0078);
|
|
|
|
+-+#endif
|
|
|
|
+-
|
|
|
|
+- enum gpio_pu_pd {
|
|
|
|
+- GPIO_PULL_NORMAL = 0,
|
|
|
|
+---- a/drivers/gpio/Kconfig
|
|
|
|
+-+++ b/drivers/gpio/Kconfig
|
|
|
|
+-@@ -341,6 +341,19 @@ config ROCKCHIP_GPIO
|
|
|
|
+- The GPIOs for a device are defined in the device tree with one node
|
|
|
|
+- for each bank.
|
|
|
|
+-
|
|
|
|
+-+config ROCKCHIP_GPIO_V2
|
|
|
|
+-+ bool "Rockchip GPIO driver version 2.0"
|
|
|
|
+-+ depends on ROCKCHIP_GPIO
|
|
|
|
+-+ default n
|
|
|
|
+-+ help
|
|
|
|
+-+ Support GPIO access on Rockchip SoCs. The GPIOs are arranged into
|
|
|
|
+-+ a number of banks (different for each SoC type) each with 32 GPIOs.
|
|
|
|
+-+ The GPIOs for a device are defined in the device tree with one node
|
|
|
|
+-+ for each bank.
|
|
|
|
+-+
|
|
|
|
+-+ Support version 2.0 GPIO controller, which support write enable bits
|
|
|
|
+-+ for some registers, such as dr, ddr.
|
|
|
|
+-+
|
|
|
|
+- config SANDBOX_GPIO
|
|
|
|
+- bool "Enable sandbox GPIO driver"
|
|
|
|
+- depends on SANDBOX && DM && DM_GPIO
|
|
|
|
+---- a/drivers/gpio/rk_gpio.c
|
|
|
|
+-+++ b/drivers/gpio/rk_gpio.c
|
|
|
|
+-@@ -2,12 +2,15 @@
|
|
|
|
+- /*
|
|
|
|
+- * (C) Copyright 2015 Google, Inc
|
|
|
|
+- *
|
|
|
|
+-- * (C) Copyright 2008-2014 Rockchip Electronics
|
|
|
|
+-+ * (C) Copyright 2008-2020 Rockchip Electronics
|
|
|
|
+- * Peter, Software Engineering, <[email protected]>.
|
|
|
|
+-+ * Jianqun Xu, Software Engineering, <[email protected]>.
|
|
|
|
+- */
|
|
|
|
+-
|
|
|
|
+- #include <common.h>
|
|
|
|
+- #include <dm.h>
|
|
|
|
+-+#include <dm/of_access.h>
|
|
|
|
+-+#include <dm/device_compat.h>
|
|
|
|
+- #include <syscon.h>
|
|
|
|
+- #include <linux/errno.h>
|
|
|
|
+- #include <asm/gpio.h>
|
|
|
|
+-@@ -17,12 +20,34 @@
|
|
|
|
+- #include <dm/pinctrl.h>
|
|
|
|
+- #include <dt-bindings/clock/rk3288-cru.h>
|
|
|
|
+-
|
|
|
|
+--enum {
|
|
|
|
+-- ROCKCHIP_GPIOS_PER_BANK = 32,
|
|
|
|
+--};
|
|
|
|
+-+#include "../pinctrl/rockchip/pinctrl-rockchip.h"
|
|
|
|
+-
|
|
|
|
+- #define OFFSET_TO_BIT(bit) (1UL << (bit))
|
|
|
|
+-
|
|
|
|
+-+#ifdef CONFIG_ROCKCHIP_GPIO_V2
|
|
|
|
+-+#define REG_L(R) (R##_l)
|
|
|
|
+-+#define REG_H(R) (R##_h)
|
|
|
|
+-+#define READ_REG(REG) ((readl(REG_L(REG)) & 0xFFFF) | \
|
|
|
|
+-+ ((readl(REG_H(REG)) & 0xFFFF) << 16))
|
|
|
|
+-+#define WRITE_REG(REG, VAL) \
|
|
|
|
+-+{\
|
|
|
|
+-+ writel(((VAL) & 0xFFFF) | 0xFFFF0000, REG_L(REG)); \
|
|
|
|
+-+ writel((((VAL) & 0xFFFF0000) >> 16) | 0xFFFF0000, REG_H(REG));\
|
|
|
|
+-+}
|
|
|
|
+-+#define CLRBITS_LE32(REG, MASK) WRITE_REG(REG, READ_REG(REG) & ~(MASK))
|
|
|
|
+-+#define SETBITS_LE32(REG, MASK) WRITE_REG(REG, READ_REG(REG) | (MASK))
|
|
|
|
+-+#define CLRSETBITS_LE32(REG, MASK, VAL) WRITE_REG(REG, \
|
|
|
|
+-+ (READ_REG(REG) & ~(MASK)) | (VAL))
|
|
|
|
+-+
|
|
|
|
+-+#else
|
|
|
|
+-+#define READ_REG(REG) readl(REG)
|
|
|
|
+-+#define WRITE_REG(REG, VAL) writel(VAL, REG)
|
|
|
|
+-+#define CLRBITS_LE32(REG, MASK) clrbits_le32(REG, MASK)
|
|
|
|
+-+#define SETBITS_LE32(REG, MASK) setbits_le32(REG, MASK)
|
|
|
|
+-+#define CLRSETBITS_LE32(REG, MASK, VAL) clrsetbits_le32(REG, MASK, VAL)
|
|
|
|
+-+#endif
|
|
|
|
+-+
|
|
|
|
+-+
|
|
|
|
+- struct rockchip_gpio_priv {
|
|
|
|
+- struct rockchip_gpio_regs *regs;
|
|
|
|
+- struct udevice *pinctrl;
|
|
|
|
+-@@ -35,7 +60,7 @@ static int rockchip_gpio_direction_input
|
|
|
|
+- struct rockchip_gpio_priv *priv = dev_get_priv(dev);
|
|
|
|
+- struct rockchip_gpio_regs *regs = priv->regs;
|
|
|
|
+-
|
|
|
|
+-- clrbits_le32(®s->swport_ddr, OFFSET_TO_BIT(offset));
|
|
|
|
+-+ CLRBITS_LE32(®s->swport_ddr, OFFSET_TO_BIT(offset));
|
|
|
|
+-
|
|
|
|
+- return 0;
|
|
|
|
+- }
|
|
|
|
+-@@ -47,8 +72,8 @@ static int rockchip_gpio_direction_outpu
|
|
|
|
+- struct rockchip_gpio_regs *regs = priv->regs;
|
|
|
|
+- int mask = OFFSET_TO_BIT(offset);
|
|
|
|
+-
|
|
|
|
+-- clrsetbits_le32(®s->swport_dr, mask, value ? mask : 0);
|
|
|
|
+-- setbits_le32(®s->swport_ddr, mask);
|
|
|
|
+-+ CLRSETBITS_LE32(®s->swport_dr, mask, value ? mask : 0);
|
|
|
|
+-+ SETBITS_LE32(®s->swport_ddr, mask);
|
|
|
|
+-
|
|
|
|
+- return 0;
|
|
|
|
+- }
|
|
|
|
+-@@ -68,7 +93,7 @@ static int rockchip_gpio_set_value(struc
|
|
|
|
+- struct rockchip_gpio_regs *regs = priv->regs;
|
|
|
|
+- int mask = OFFSET_TO_BIT(offset);
|
|
|
|
+-
|
|
|
|
+-- clrsetbits_le32(®s->swport_dr, mask, value ? mask : 0);
|
|
|
|
+-+ CLRSETBITS_LE32(®s->swport_dr, mask, value ? mask : 0);
|
|
|
|
+-
|
|
|
|
+- return 0;
|
|
|
|
+- }
|
|
|
|
+-@@ -86,8 +111,8 @@ static int rockchip_gpio_get_function(st
|
|
|
|
+- ret = pinctrl_get_gpio_mux(priv->pinctrl, priv->bank, offset);
|
|
|
|
+- if (ret)
|
|
|
|
+- return ret;
|
|
|
|
+-- is_output = readl(®s->swport_ddr) & OFFSET_TO_BIT(offset);
|
|
|
|
+--
|
|
|
|
+-+ is_output = READ_REG(®s->swport_ddr) & OFFSET_TO_BIT(offset);
|
|
|
|
+-+
|
|
|
|
+- return is_output ? GPIOF_OUTPUT : GPIOF_INPUT;
|
|
|
|
+- #endif
|
|
|
|
+- }
|
|
|
|
+-@@ -142,19 +167,49 @@ static int rockchip_gpio_probe(struct ud
|
|
|
|
+- {
|
|
|
|
+- struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
|
|
|
|
+- struct rockchip_gpio_priv *priv = dev_get_priv(dev);
|
|
|
|
+-- char *end;
|
|
|
|
+-- int ret;
|
|
|
|
+-+ struct rockchip_pinctrl_priv *pctrl_priv;
|
|
|
|
+-+ struct rockchip_pin_bank *bank;
|
|
|
|
+-+ char *end = NULL;
|
|
|
|
+-+ static int gpio;
|
|
|
|
+-+ int id = -1, ret;
|
|
|
|
+-
|
|
|
|
+- priv->regs = dev_read_addr_ptr(dev);
|
|
|
|
+- ret = uclass_first_device_err(UCLASS_PINCTRL, &priv->pinctrl);
|
|
|
|
+-- if (ret)
|
|
|
|
+-+ if (ret) {
|
|
|
|
+-+ dev_err(dev, "failed to get pinctrl device %d\n", ret);
|
|
|
|
+- return ret;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ pctrl_priv = dev_get_priv(priv->pinctrl);
|
|
|
|
+-+ if (!pctrl_priv) {
|
|
|
|
+-+ dev_err(dev, "failed to get pinctrl priv\n");
|
|
|
|
+-+ return -EINVAL;
|
|
|
|
+-+ }
|
|
|
|
+-
|
|
|
|
+-- uc_priv->gpio_count = ROCKCHIP_GPIOS_PER_BANK;
|
|
|
|
+- end = strrchr(dev->name, '@');
|
|
|
|
+-- priv->bank = trailing_strtoln(dev->name, end);
|
|
|
|
+-- priv->name[0] = 'A' + priv->bank;
|
|
|
|
+-- uc_priv->bank_name = priv->name;
|
|
|
|
+-+ if (end)
|
|
|
|
+-+ id = trailing_strtoln(dev->name, end);
|
|
|
|
+-+ else
|
|
|
|
+-+ dev_read_alias_seq(dev, &id);
|
|
|
|
+-+
|
|
|
|
+-+ if (id < 0)
|
|
|
|
+-+ id = gpio++;
|
|
|
|
+-+
|
|
|
|
+-+ if (id >= pctrl_priv->ctrl->nr_banks) {
|
|
|
|
+-+ dev_err(dev, "bank id invalid\n");
|
|
|
|
+-+ return -EINVAL;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ bank = &pctrl_priv->ctrl->pin_banks[id];
|
|
|
|
+-+ if (bank->bank_num != id) {
|
|
|
|
+-+ dev_err(dev, "bank id mismatch with pinctrl\n");
|
|
|
|
+-+ return -EINVAL;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ priv->bank = bank->bank_num;
|
|
|
|
+-+ uc_priv->gpio_count = bank->nr_pins;
|
|
|
|
+-+ uc_priv->gpio_base = bank->pin_base;
|
|
|
|
+-+ uc_priv->bank_name = bank->name;
|
|
|
|
+-
|
|
|
|
+- return 0;
|
|
|
|
+- }
|
|
|
|
+---- a/drivers/pinctrl/rockchip/Makefile
|
|
|
|
+-+++ b/drivers/pinctrl/rockchip/Makefile
|
|
|
|
+-@@ -14,4 +14,5 @@ obj-$(CONFIG_ROCKCHIP_RK3308) += pinctrl
|
|
|
|
+- obj-$(CONFIG_ROCKCHIP_RK3328) += pinctrl-rk3328.o
|
|
|
|
+- obj-$(CONFIG_ROCKCHIP_RK3368) += pinctrl-rk3368.o
|
|
|
|
+- obj-$(CONFIG_ROCKCHIP_RK3399) += pinctrl-rk3399.o
|
|
|
|
+-+obj-$(CONFIG_ROCKCHIP_RK3568) += pinctrl-rk3568.o
|
|
|
|
+- obj-$(CONFIG_ROCKCHIP_RV1108) += pinctrl-rv1108.o
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/drivers/pinctrl/rockchip/pinctrl-rk3568.c
|
|
|
|
+-@@ -0,0 +1,360 @@
|
|
|
|
+-+// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+/*
|
|
|
|
+-+ * (C) Copyright 2020 Rockchip Electronics Co., Ltd
|
|
|
|
+-+ */
|
|
|
|
+-+
|
|
|
|
+-+#include <common.h>
|
|
|
|
+-+#include <dm.h>
|
|
|
|
+-+#include <dm/pinctrl.h>
|
|
|
|
+-+#include <regmap.h>
|
|
|
|
+-+#include <syscon.h>
|
|
|
|
+-+
|
|
|
|
+-+#include "pinctrl-rockchip.h"
|
|
|
|
+-+
|
|
|
|
+-+static struct rockchip_mux_route_data rk3568_mux_route_data[] = {
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PB3, RK_FUNC_2, 0x0300, RK_GENMASK_VAL(0, 0, 0)), /* CAN0 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PA1, RK_FUNC_4, 0x0300, RK_GENMASK_VAL(0, 0, 1)), /* CAN0 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA1, RK_FUNC_3, 0x0300, RK_GENMASK_VAL(2, 2, 0)), /* CAN1 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PC3, RK_FUNC_3, 0x0300, RK_GENMASK_VAL(2, 2, 1)), /* CAN1 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PB5, RK_FUNC_3, 0x0300, RK_GENMASK_VAL(4, 4, 0)), /* CAN2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PB2, RK_FUNC_4, 0x0300, RK_GENMASK_VAL(4, 4, 1)), /* CAN2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PC4, RK_FUNC_1, 0x0300, RK_GENMASK_VAL(6, 6, 0)), /* EDPDP_HPDIN IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PC2, RK_FUNC_2, 0x0300, RK_GENMASK_VAL(6, 6, 1)), /* EDPDP_HPDIN IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PB1, RK_FUNC_3, 0x0300, RK_GENMASK_VAL(8, 8, 0)), /* GMAC1 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PA7, RK_FUNC_3, 0x0300, RK_GENMASK_VAL(8, 8, 1)), /* GMAC1 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PD1, RK_FUNC_1, 0x0300, RK_GENMASK_VAL(10, 10, 0)), /* HDMITX IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PC7, RK_FUNC_1, 0x0300, RK_GENMASK_VAL(10, 10, 1)), /* HDMITX IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PB6, RK_FUNC_1, 0x0300, RK_GENMASK_VAL(14, 14, 0)), /* I2C2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PB4, RK_FUNC_1, 0x0300, RK_GENMASK_VAL(14, 14, 1)), /* I2C2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA0, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(0, 0, 0)), /* I2C3 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PB6, RK_FUNC_4, 0x0304, RK_GENMASK_VAL(0, 0, 1)), /* I2C3 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PB2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(2, 2, 0)), /* I2C4 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PB1, RK_FUNC_2, 0x0304, RK_GENMASK_VAL(2, 2, 1)), /* I2C4 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PB4, RK_FUNC_4, 0x0304, RK_GENMASK_VAL(4, 4, 0)), /* I2C5 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PD0, RK_FUNC_2, 0x0304, RK_GENMASK_VAL(4, 4, 1)), /* I2C5 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(6, 6, 0)), /* PWM4 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(6, 6, 1)), /* PWM4 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(8, 8, 0)), /* PWM5 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(8, 8, 1)), /* PWM5 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(10, 10, 0)), /* PWM6 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(10, 10, 1)), /* PWM6 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(12, 12, 0)), /* PWM7 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(12, 12, 1)), /* PWM7 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(14, 14, 0)), /* PWM8 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(14, 14, 1)), /* PWM8 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(0, 0, 0)), /* PWM9 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(0, 0, 1)), /* PWM9 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(2, 2, 0)), /* PWM10 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(2, 2, 1)), /* PWM10 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(4, 4, 0)), /* PWM11 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(4, 4, 1)), /* PWM11 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(6, 6, 0)), /* PWM12 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(6, 6, 1)), /* PWM12 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(8, 8, 0)), /* PWM13 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(8, 8, 1)), /* PWM13 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(10, 10, 0)), /* PWM14 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(10, 10, 1)), /* PWM14 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(12, 12, 0)), /* PWM15 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(12, 12, 1)), /* PWM15 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_3, 0x0308, RK_GENMASK_VAL(14, 14, 0)), /* SDMMC2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PA5, RK_FUNC_5, 0x0308, RK_GENMASK_VAL(14, 14, 1)), /* SDMMC2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PB5, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(0, 0, 0)), /* SPI0 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PD3, RK_FUNC_3, 0x030c, RK_GENMASK_VAL(0, 0, 1)), /* SPI0 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PB5, RK_FUNC_3, 0x030c, RK_GENMASK_VAL(2, 2, 0)), /* SPI1 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PC3, RK_FUNC_3, 0x030c, RK_GENMASK_VAL(2, 2, 1)), /* SPI1 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PC1, RK_FUNC_4, 0x030c, RK_GENMASK_VAL(4, 4, 0)), /* SPI2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PA0, RK_FUNC_3, 0x030c, RK_GENMASK_VAL(4, 4, 1)), /* SPI2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PB3, RK_FUNC_4, 0x030c, RK_GENMASK_VAL(6, 6, 0)), /* SPI3 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PC2, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(6, 6, 1)), /* SPI3 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PB4, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(8, 8, 0)), /* UART1 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PD1, RK_FUNC_1, 0x030c, RK_GENMASK_VAL(8, 8, 1)), /* UART1 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PD1, RK_FUNC_1, 0x030c, RK_GENMASK_VAL(10, 10, 0)), /* UART2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PD5, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(10, 10, 1)), /* UART2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA1, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(12, 12, 0)), /* UART3 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PB7, RK_FUNC_4, 0x030c, RK_GENMASK_VAL(12, 12, 1)), /* UART3 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA6, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(14, 14, 0)), /* UART4 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PB2, RK_FUNC_4, 0x030c, RK_GENMASK_VAL(14, 14, 1)), /* UART4 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PA2, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(0, 0, 0)), /* UART5 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PC2, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(0, 0, 1)), /* UART5 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PA4, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(2, 2, 0)), /* UART6 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PD5, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(2, 2, 1)), /* UART6 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PA6, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(5, 4, 0)), /* UART7 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PC4, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(5, 4, 1)), /* UART7 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0310, RK_GENMASK_VAL(5, 4, 2)), /* UART7 IO mux selection M2 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PC5, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(6, 6, 0)), /* UART8 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PD7, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(6, 6, 1)), /* UART8 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PB0, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(9, 8, 0)), /* UART9 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PC5, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(9, 8, 1)), /* UART9 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PA4, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(9, 8, 2)), /* UART9 IO mux selection M2 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA2, RK_FUNC_1, 0x0310, RK_GENMASK_VAL(11, 10, 0)), /* I2S1 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PC6, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(11, 10, 1)), /* I2S1 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PD0, RK_FUNC_5, 0x0310, RK_GENMASK_VAL(11, 10, 2)), /* I2S1 IO mux selection M2 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PC1, RK_FUNC_1, 0x0310, RK_GENMASK_VAL(12, 12, 0)), /* I2S2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PB6, RK_FUNC_5, 0x0310, RK_GENMASK_VAL(12, 12, 1)), /* I2S2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PA2, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(14, 14, 0)), /* I2S3 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PC2, RK_FUNC_5, 0x0310, RK_GENMASK_VAL(14, 14, 1)), /* I2S3 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA6, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(0, 0, 0)), /* PDM IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO3, RK_PD6, RK_FUNC_5, 0x0314, RK_GENMASK_VAL(0, 0, 1)), /* PDM IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PA5, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(3, 2, 0)), /* PCIE20 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PD0, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(3, 2, 1)), /* PCIE20 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PB0, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(3, 2, 2)), /* PCIE20 IO mux selection M2 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PA4, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(5, 4, 0)), /* PCIE30X1 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PD2, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(5, 4, 1)), /* PCIE30X1 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO1, RK_PA5, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(5, 4, 2)), /* PCIE30X1 IO mux selection M2 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO0, RK_PA6, RK_FUNC_2, 0x0314, RK_GENMASK_VAL(7, 6, 0)), /* PCIE30X2 IO mux selection M0 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO2, RK_PD4, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(7, 6, 1)), /* PCIE30X2 IO mux selection M1 */
|
|
|
|
+-+ MR_TOPGRF(RK_GPIO4, RK_PC2, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(7, 6, 2)), /* PCIE30X2 IO mux selection M2 */
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+static int rk3568_set_mux(struct rockchip_pin_bank *bank, int pin, int mux)
|
|
|
|
+-+{
|
|
|
|
+-+ struct rockchip_pinctrl_priv *priv = bank->priv;
|
|
|
|
+-+ int iomux_num = (pin / 8);
|
|
|
|
+-+ struct regmap *regmap;
|
|
|
|
+-+ int reg, ret, mask;
|
|
|
|
+-+ u8 bit;
|
|
|
|
+-+ u32 data;
|
|
|
|
+-+
|
|
|
|
+-+ debug("setting mux of GPIO%d-%d to %d\n", bank->bank_num, pin, mux);
|
|
|
|
+-+
|
|
|
|
+-+ if (bank->iomux[iomux_num].type & IOMUX_SOURCE_PMU)
|
|
|
|
+-+ regmap = priv->regmap_pmu;
|
|
|
|
+-+ else
|
|
|
|
+-+ regmap = priv->regmap_base;
|
|
|
|
+-+
|
|
|
|
+-+ reg = bank->iomux[iomux_num].offset;
|
|
|
|
+-+ if ((pin % 8) >= 4)
|
|
|
|
+-+ reg += 0x4;
|
|
|
|
+-+ bit = (pin % 4) * 4;
|
|
|
|
+-+ mask = 0xf;
|
|
|
|
+-+
|
|
|
|
+-+ data = (mask << (bit + 16));
|
|
|
|
+-+ data |= (mux & mask) << bit;
|
|
|
|
+-+ ret = regmap_write(regmap, reg, data);
|
|
|
|
+-+
|
|
|
|
+-+ return ret;
|
|
|
|
+-+}
|
|
|
|
+-+
|
|
|
|
+-+#define RK3568_PULL_PMU_OFFSET 0x20
|
|
|
|
+-+#define RK3568_PULL_GRF_OFFSET 0x80
|
|
|
|
+-+#define RK3568_PULL_BITS_PER_PIN 2
|
|
|
|
+-+#define RK3568_PULL_PINS_PER_REG 8
|
|
|
|
+-+#define RK3568_PULL_BANK_STRIDE 0x10
|
|
|
|
+-+
|
|
|
|
+-+static void rk3568_calc_pull_reg_and_bit(struct rockchip_pin_bank *bank,
|
|
|
|
+-+ int pin_num, struct regmap **regmap,
|
|
|
|
+-+ int *reg, u8 *bit)
|
|
|
|
+-+{
|
|
|
|
+-+ struct rockchip_pinctrl_priv *info = bank->priv;
|
|
|
|
+-+
|
|
|
|
+-+ if (bank->bank_num == 0) {
|
|
|
|
+-+ *regmap = info->regmap_pmu;
|
|
|
|
+-+ *reg = RK3568_PULL_PMU_OFFSET;
|
|
|
|
+-+ *reg += bank->bank_num * RK3568_PULL_BANK_STRIDE;
|
|
|
|
+-+ } else {
|
|
|
|
+-+ *regmap = info->regmap_base;
|
|
|
|
+-+ *reg = RK3568_PULL_GRF_OFFSET;
|
|
|
|
+-+ *reg += (bank->bank_num - 1) * RK3568_PULL_BANK_STRIDE;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ *reg += ((pin_num / RK3568_PULL_PINS_PER_REG) * 4);
|
|
|
|
+-+ *bit = (pin_num % RK3568_PULL_PINS_PER_REG);
|
|
|
|
+-+ *bit *= RK3568_PULL_BITS_PER_PIN;
|
|
|
|
+-+}
|
|
|
|
+-+
|
|
|
|
+-+#define RK3568_DRV_PMU_OFFSET 0x70
|
|
|
|
+-+#define RK3568_DRV_GRF_OFFSET 0x200
|
|
|
|
+-+#define RK3568_DRV_BITS_PER_PIN 8
|
|
|
|
+-+#define RK3568_DRV_PINS_PER_REG 2
|
|
|
|
+-+#define RK3568_DRV_BANK_STRIDE 0x40
|
|
|
|
+-+
|
|
|
|
+-+static void rk3568_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank,
|
|
|
|
+-+ int pin_num, struct regmap **regmap,
|
|
|
|
+-+ int *reg, u8 *bit)
|
|
|
|
+-+{
|
|
|
|
+-+ struct rockchip_pinctrl_priv *info = bank->priv;
|
|
|
|
+-+
|
|
|
|
+-+ /* The first 32 pins of the first bank are located in PMU */
|
|
|
|
+-+ if (bank->bank_num == 0) {
|
|
|
|
+-+ *regmap = info->regmap_pmu;
|
|
|
|
+-+ *reg = RK3568_DRV_PMU_OFFSET;
|
|
|
|
+-+ } else {
|
|
|
|
+-+ *regmap = info->regmap_base;
|
|
|
|
+-+ *reg = RK3568_DRV_GRF_OFFSET;
|
|
|
|
+-+ *reg += (bank->bank_num - 1) * RK3568_DRV_BANK_STRIDE;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ *reg += ((pin_num / RK3568_DRV_PINS_PER_REG) * 4);
|
|
|
|
+-+ *bit = (pin_num % RK3568_DRV_PINS_PER_REG);
|
|
|
|
+-+ *bit *= RK3568_DRV_BITS_PER_PIN;
|
|
|
|
+-+}
|
|
|
|
+-+
|
|
|
|
+-+#define RK3568_SCHMITT_BITS_PER_PIN 2
|
|
|
|
+-+#define RK3568_SCHMITT_PINS_PER_REG 8
|
|
|
|
+-+#define RK3568_SCHMITT_BANK_STRIDE 0x10
|
|
|
|
+-+#define RK3568_SCHMITT_GRF_OFFSET 0xc0
|
|
|
|
+-+#define RK3568_SCHMITT_PMUGRF_OFFSET 0x30
|
|
|
|
+-+
|
|
|
|
+-+static int rk3568_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank,
|
|
|
|
+-+ int pin_num, struct regmap **regmap,
|
|
|
|
+-+ int *reg, u8 *bit)
|
|
|
|
+-+{
|
|
|
|
+-+ struct rockchip_pinctrl_priv *info = bank->priv;
|
|
|
|
+-+
|
|
|
|
+-+ if (bank->bank_num == 0) {
|
|
|
|
+-+ *regmap = info->regmap_pmu;
|
|
|
|
+-+ *reg = RK3568_SCHMITT_PMUGRF_OFFSET;
|
|
|
|
+-+ } else {
|
|
|
|
+-+ *regmap = info->regmap_base;
|
|
|
|
+-+ *reg = RK3568_SCHMITT_GRF_OFFSET;
|
|
|
|
+-+ *reg += (bank->bank_num - 1) * RK3568_SCHMITT_BANK_STRIDE;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ *reg += ((pin_num / RK3568_SCHMITT_PINS_PER_REG) * 4);
|
|
|
|
+-+ *bit = pin_num % RK3568_SCHMITT_PINS_PER_REG;
|
|
|
|
+-+ *bit *= RK3568_SCHMITT_BITS_PER_PIN;
|
|
|
|
+-+
|
|
|
|
+-+ return 0;
|
|
|
|
+-+}
|
|
|
|
+-+
|
|
|
|
+-+static int rk3568_set_pull(struct rockchip_pin_bank *bank,
|
|
|
|
+-+ int pin_num, int pull)
|
|
|
|
+-+{
|
|
|
|
+-+ struct regmap *regmap;
|
|
|
|
+-+ int reg, ret;
|
|
|
|
+-+ u8 bit, type;
|
|
|
|
+-+ u32 data;
|
|
|
|
+-+
|
|
|
|
+-+ if (pull == PIN_CONFIG_BIAS_PULL_PIN_DEFAULT)
|
|
|
|
+-+ return -ENOTSUPP;
|
|
|
|
+-+
|
|
|
|
+-+ rk3568_calc_pull_reg_and_bit(bank, pin_num, ®map, ®, &bit);
|
|
|
|
+-+ type = bank->pull_type[pin_num / 8];
|
|
|
|
+-+ ret = rockchip_translate_pull_value(type, pull);
|
|
|
|
+-+ if (ret < 0) {
|
|
|
|
+-+ debug("unsupported pull setting %d\n", pull);
|
|
|
|
+-+ return ret;
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ /* enable the write to the equivalent lower bits */
|
|
|
|
+-+ data = ((1 << ROCKCHIP_PULL_BITS_PER_PIN) - 1) << (bit + 16);
|
|
|
|
+-+
|
|
|
|
+-+ data |= (ret << bit);
|
|
|
|
+-+ ret = regmap_write(regmap, reg, data);
|
|
|
|
+-+
|
|
|
|
+-+ return ret;
|
|
|
|
+-+}
|
|
|
|
+-+
|
|
|
|
+-+static int rk3568_set_drive(struct rockchip_pin_bank *bank,
|
|
|
|
+-+ int pin_num, int strength)
|
|
|
|
+-+{
|
|
|
|
+-+ struct regmap *regmap;
|
|
|
|
+-+ int reg;
|
|
|
|
+-+ u32 data;
|
|
|
|
+-+ u8 bit;
|
|
|
|
+-+ int drv = (1 << (strength + 1)) - 1;
|
|
|
|
+-+ int ret = 0;
|
|
|
|
+-+
|
|
|
|
+-+ rk3568_calc_drv_reg_and_bit(bank, pin_num, ®map, ®, &bit);
|
|
|
|
+-+
|
|
|
|
+-+ /* enable the write to the equivalent lower bits */
|
|
|
|
+-+ data = ((1 << RK3568_DRV_BITS_PER_PIN) - 1) << (bit + 16);
|
|
|
|
+-+ data |= (drv << bit);
|
|
|
|
+-+
|
|
|
|
+-+ ret = regmap_write(regmap, reg, data);
|
|
|
|
+-+ if (ret)
|
|
|
|
+-+ return ret;
|
|
|
|
+-+
|
|
|
|
+-+ if (bank->bank_num == 1 && pin_num == 21)
|
|
|
|
+-+ reg = 0x0840;
|
|
|
|
+-+ else if (bank->bank_num == 2 && pin_num == 2)
|
|
|
|
+-+ reg = 0x0844;
|
|
|
|
+-+ else if (bank->bank_num == 2 && pin_num == 8)
|
|
|
|
+-+ reg = 0x0848;
|
|
|
|
+-+ else if (bank->bank_num == 3 && pin_num == 0)
|
|
|
|
+-+ reg = 0x084c;
|
|
|
|
+-+ else if (bank->bank_num == 3 && pin_num == 6)
|
|
|
|
+-+ reg = 0x0850;
|
|
|
|
+-+ else if (bank->bank_num == 4 && pin_num == 0)
|
|
|
|
+-+ reg = 0x0854;
|
|
|
|
+-+ else
|
|
|
|
+-+ return 0;
|
|
|
|
+-+
|
|
|
|
+-+ data = ((1 << RK3568_DRV_BITS_PER_PIN) - 1) << 16;
|
|
|
|
+-+ data |= drv;
|
|
|
|
+-+
|
|
|
|
+-+ return regmap_write(regmap, reg, data);
|
|
|
|
+-+}
|
|
|
|
+-+
|
|
|
|
+-+static int rk3568_set_schmitt(struct rockchip_pin_bank *bank,
|
|
|
|
+-+ int pin_num, int enable)
|
|
|
|
+-+{
|
|
|
|
+-+ struct regmap *regmap;
|
|
|
|
+-+ int reg;
|
|
|
|
+-+ u32 data;
|
|
|
|
+-+ u8 bit;
|
|
|
|
+-+
|
|
|
|
+-+ rk3568_calc_schmitt_reg_and_bit(bank, pin_num, ®map, ®, &bit);
|
|
|
|
+-+
|
|
|
|
+-+ /* enable the write to the equivalent lower bits */
|
|
|
|
+-+ data = ((1 << RK3568_SCHMITT_BITS_PER_PIN) - 1) << (bit + 16);
|
|
|
|
+-+ data |= (enable << bit);
|
|
|
|
+-+
|
|
|
|
+-+ return regmap_write(regmap, reg, data);
|
|
|
|
+-+}
|
|
|
|
+-+static struct rockchip_pin_bank rk3568_pin_banks[] = {
|
|
|
|
+-+ PIN_BANK_IOMUX_FLAGS(0, 32, "gpio0", IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_SOURCE_PMU | IOMUX_WIDTH_4BIT),
|
|
|
|
+-+ PIN_BANK_IOMUX_FLAGS(1, 32, "gpio1", IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT),
|
|
|
|
+-+ PIN_BANK_IOMUX_FLAGS(2, 32, "gpio2", IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT),
|
|
|
|
+-+ PIN_BANK_IOMUX_FLAGS(3, 32, "gpio3", IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT),
|
|
|
|
+-+ PIN_BANK_IOMUX_FLAGS(4, 32, "gpio4", IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT,
|
|
|
|
+-+ IOMUX_WIDTH_4BIT),
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+static const struct rockchip_pin_ctrl rk3568_pin_ctrl = {
|
|
|
|
+-+ .pin_banks = rk3568_pin_banks,
|
|
|
|
+-+ .nr_banks = ARRAY_SIZE(rk3568_pin_banks),
|
|
|
|
+-+ .nr_pins = 160,
|
|
|
|
+-+ .grf_mux_offset = 0x0,
|
|
|
|
+-+ .pmu_mux_offset = 0x0,
|
|
|
|
+-+ .iomux_routes = rk3568_mux_route_data,
|
|
|
|
+-+ .niomux_routes = ARRAY_SIZE(rk3568_mux_route_data),
|
|
|
|
+-+ .set_mux = rk3568_set_mux,
|
|
|
|
+-+ .set_pull = rk3568_set_pull,
|
|
|
|
+-+ .set_drive = rk3568_set_drive,
|
|
|
|
+-+ .set_schmitt = rk3568_set_schmitt,
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+static const struct udevice_id rk3568_pinctrl_ids[] = {
|
|
|
|
+-+ {
|
|
|
|
+-+ .compatible = "rockchip,rk3568-pinctrl",
|
|
|
|
+-+ .data = (ulong)&rk3568_pin_ctrl
|
|
|
|
+-+ },
|
|
|
|
+-+ { }
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+U_BOOT_DRIVER(pinctrl_rk3568) = {
|
|
|
|
+-+ .name = "rockchip_rk3568_pinctrl",
|
|
|
|
+-+ .id = UCLASS_PINCTRL,
|
|
|
|
+-+ .of_match = rk3568_pinctrl_ids,
|
|
|
|
+-+ .priv_auto = sizeof(struct rockchip_pinctrl_priv),
|
|
|
|
+-+ .ops = &rockchip_pinctrl_ops,
|
|
|
|
+-+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
|
|
|
|
+-+ .bind = dm_scan_fdt_dev,
|
|
|
|
+-+#endif
|
|
|
|
+-+ .probe = rockchip_pinctrl_probe,
|
|
|
|
+-+};
|
|
|
|
+---- a/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
|
|
|
|
+-+++ b/drivers/pinctrl/rockchip/pinctrl-rockchip-core.c
|
|
|
|
+-@@ -400,7 +400,7 @@ static int rockchip_pinctrl_set_state(st
|
|
|
|
+- int prop_len, param;
|
|
|
|
+- const u32 *data;
|
|
|
|
+- ofnode node;
|
|
|
|
+--#ifdef CONFIG_OF_LIVE
|
|
|
|
+-+#if CONFIG_IS_ENABLED(OF_LIVE)
|
|
|
|
+- const struct device_node *np;
|
|
|
|
+- struct property *pp;
|
|
|
|
+- #else
|
|
|
|
+-@@ -440,7 +440,7 @@ static int rockchip_pinctrl_set_state(st
|
|
|
|
+- node = ofnode_get_by_phandle(conf);
|
|
|
|
+- if (!ofnode_valid(node))
|
|
|
|
+- return -ENODEV;
|
|
|
|
+--#ifdef CONFIG_OF_LIVE
|
|
|
|
+-+#if CONFIG_IS_ENABLED(OF_LIVE)
|
|
|
|
+- np = ofnode_to_np(node);
|
|
|
|
+- for (pp = np->properties; pp; pp = pp->next) {
|
|
|
|
+- prop_name = pp->name;
|
|
|
|
+-@@ -515,13 +515,14 @@ static struct rockchip_pin_ctrl *rockchi
|
|
|
|
+-
|
|
|
|
+- /* preset iomux offset value, set new start value */
|
|
|
|
+- if (iom->offset >= 0) {
|
|
|
|
+-- if (iom->type & IOMUX_SOURCE_PMU)
|
|
|
|
+-+ if ((iom->type & IOMUX_SOURCE_PMU) || (iom->type & IOMUX_L_SOURCE_PMU))
|
|
|
|
+- pmu_offs = iom->offset;
|
|
|
|
+- else
|
|
|
|
+- grf_offs = iom->offset;
|
|
|
|
+- } else { /* set current iomux offset */
|
|
|
|
+-- iom->offset = (iom->type & IOMUX_SOURCE_PMU) ?
|
|
|
|
+-- pmu_offs : grf_offs;
|
|
|
|
+-+ iom->offset = ((iom->type & IOMUX_SOURCE_PMU) ||
|
|
|
|
+-+ (iom->type & IOMUX_L_SOURCE_PMU)) ?
|
|
|
|
+-+ pmu_offs : grf_offs;
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+- /* preset drv offset value, set new start value */
|
|
|
|
+---- a/drivers/pinctrl/rockchip/pinctrl-rockchip.h
|
|
|
|
+-+++ b/drivers/pinctrl/rockchip/pinctrl-rockchip.h
|
|
|
|
+-@@ -6,9 +6,13 @@
|
|
|
|
+- #ifndef __DRIVERS_PINCTRL_ROCKCHIP_H
|
|
|
|
+- #define __DRIVERS_PINCTRL_ROCKCHIP_H
|
|
|
|
+-
|
|
|
|
+-+#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+- #include <linux/bitops.h>
|
|
|
|
+- #include <linux/types.h>
|
|
|
|
+-
|
|
|
|
+-+#define RK_GENMASK_VAL(h, l, v) \
|
|
|
|
+-+ (GENMASK(((h) + 16), ((l) + 16)) | (((v) << (l)) & GENMASK((h), (l))))
|
|
|
|
+-+
|
|
|
|
+- /**
|
|
|
|
+- * Encode variants of iomux registers into a type variable
|
|
|
|
+- */
|
|
|
|
+-@@ -18,6 +22,8 @@
|
|
|
|
+- #define IOMUX_UNROUTED BIT(3)
|
|
|
|
+- #define IOMUX_WIDTH_3BIT BIT(4)
|
|
|
|
+- #define IOMUX_8WIDTH_2BIT BIT(5)
|
|
|
|
+-+#define IOMUX_WRITABLE_32BIT BIT(6)
|
|
|
|
+-+#define IOMUX_L_SOURCE_PMU BIT(7)
|
|
|
|
+-
|
|
|
|
+- /**
|
|
|
|
+- * Defined some common pins constants
|
|
|
|
+-@@ -63,6 +69,21 @@ enum rockchip_pin_pull_type {
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- /**
|
|
|
|
+-+ * enum mux route register type, should be invalid/default/topgrf/pmugrf.
|
|
|
|
+-+ * INVALID: means do not need to set mux route
|
|
|
|
+-+ * DEFAULT: means same regmap as pin iomux
|
|
|
|
+-+ * TOPGRF: means mux route setting in topgrf
|
|
|
|
+-+ * PMUGRF: means mux route setting in pmugrf
|
|
|
|
+-+ */
|
|
|
|
+-+enum rockchip_pin_route_type {
|
|
|
|
+-+ ROUTE_TYPE_DEFAULT = 0,
|
|
|
|
+-+ ROUTE_TYPE_TOPGRF = 1,
|
|
|
|
+-+ ROUTE_TYPE_PMUGRF = 2,
|
|
|
|
+-+
|
|
|
|
+-+ ROUTE_TYPE_INVALID = -1,
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+/**
|
|
|
|
+- * @drv_type: drive strength variant using rockchip_perpin_drv_type
|
|
|
|
+- * @offset: if initialized to -1 it will be autocalculated, by specifying
|
|
|
|
+- * an initial offset value the relevant source offset can be reset
|
|
|
|
+-@@ -220,6 +241,25 @@ struct rockchip_pin_bank {
|
|
|
|
+- .pull_type[3] = pull3, \
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+-+#define PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, FLAG) \
|
|
|
|
+-+ { \
|
|
|
|
+-+ .bank_num = ID, \
|
|
|
|
+-+ .pin = PIN, \
|
|
|
|
+-+ .func = FUNC, \
|
|
|
|
+-+ .route_offset = REG, \
|
|
|
|
+-+ .route_val = VAL, \
|
|
|
|
+-+ .route_type = FLAG, \
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+#define MR_DEFAULT(ID, PIN, FUNC, REG, VAL) \
|
|
|
|
+-+ PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROUTE_TYPE_DEFAULT)
|
|
|
|
+-+
|
|
|
|
+-+#define MR_TOPGRF(ID, PIN, FUNC, REG, VAL) \
|
|
|
|
+-+ PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROUTE_TYPE_TOPGRF)
|
|
|
|
+-+
|
|
|
|
+-+#define MR_PMUGRF(ID, PIN, FUNC, REG, VAL) \
|
|
|
|
+-+ PIN_BANK_MUX_ROUTE_FLAGS(ID, PIN, FUNC, REG, VAL, ROUTE_TYPE_PMUGRF)
|
|
|
|
+-+
|
|
|
|
+- /**
|
|
|
|
+- * struct rockchip_mux_recalced_data: recalculate a pin iomux data.
|
|
|
|
+- * @num: bank number.
|
|
|
|
+-@@ -241,6 +281,7 @@ struct rockchip_mux_recalced_data {
|
|
|
|
+- * @bank_num: bank number.
|
|
|
|
+- * @pin: index at register or used to calc index.
|
|
|
|
+- * @func: the min pin.
|
|
|
|
+-+ * @route_type: the register type.
|
|
|
|
+- * @route_offset: the max pin.
|
|
|
|
+- * @route_val: the register offset.
|
|
|
|
+- */
|
|
|
|
+-@@ -248,6 +289,7 @@ struct rockchip_mux_route_data {
|
|
|
|
+- u8 bank_num;
|
|
|
|
+- u8 pin;
|
|
|
|
+- u8 func;
|
|
|
|
+-+ enum rockchip_pin_route_type route_type : 8;
|
|
|
|
+- u32 route_offset;
|
|
|
|
+- u32 route_val;
|
|
|
|
+- };
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/008-rockchip-allow-sdmmc-at-full-speed.patch b/package/boot/uboot-rockchip/patches/008-rockchip-allow-sdmmc-at-full-speed.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 3ad9d5b8b0e1..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/008-rockchip-allow-sdmmc-at-full-speed.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,22 +0,0 @@
|
|
|
|
+-From 16cc17fc2cf2f308f5ac20b829d427114c6e59fa Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Mon, 20 Dec 2021 08:50:48 -0500
|
|
|
|
+-Subject: [PATCH 08/11] rockchip: allow sdmmc at full speed
|
|
|
|
+-
|
|
|
|
+-Adding pinctrl and gpio support fixed quartz64-a sdmmc.
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi | 1 -
|
|
|
|
+- 1 file changed, 1 deletion(-)
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-@@ -13,7 +13,6 @@
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &sdmmc0 {
|
|
|
|
+-- max-frequency = <400000>;
|
|
|
|
+- bus-width = <4>;
|
|
|
|
+- u-boot,dm-spl;
|
|
|
|
+- u-boot,spl-fifo-mode;
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/009-rockchip-defconfig-add-gpio-v2-to-quartz64.patch b/package/boot/uboot-rockchip/patches/009-rockchip-defconfig-add-gpio-v2-to-quartz64.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index c0ca879bd53e..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/009-rockchip-defconfig-add-gpio-v2-to-quartz64.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,25 +0,0 @@
|
|
|
|
+-From d3b3e9c1045e9fa0aff987a036b30cf380809e35 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Mon, 20 Dec 2021 10:11:52 -0500
|
|
|
|
+-Subject: [PATCH 09/11] rockchip: defconfig: add gpio-v2 to quartz64
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- configs/quartz64-a-rk3566_defconfig | 2 ++
|
|
|
|
+- 1 file changed, 2 insertions(+)
|
|
|
|
+-
|
|
|
|
+---- a/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-+++ b/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-@@ -42,10 +42,12 @@ CONFIG_CMD_REGULATOR=y
|
|
|
|
+- CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+- CONFIG_OF_LIVE=y
|
|
|
|
+- CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+- CONFIG_SPL_REGMAP=y
|
|
|
|
+- CONFIG_SPL_SYSCON=y
|
|
|
|
+- CONFIG_SPL_CLK=y
|
|
|
|
+- CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+- CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+- CONFIG_MISC=y
|
|
|
|
+- CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/010-rockchip-rk356x-enable-usb2-support-on-quartz64-a.patch b/package/boot/uboot-rockchip/patches/010-rockchip-rk356x-enable-usb2-support-on-quartz64-a.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index a70c45a8be59..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/010-rockchip-rk356x-enable-usb2-support-on-quartz64-a.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,97 +0,0 @@
|
|
|
|
+-From 981df845d960a9078893dad88e1dd82dfcb4a148 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Wed, 22 Dec 2021 19:40:32 -0500
|
|
|
|
+-Subject: [PATCH 10/11] rockchip: rk356x: enable usb2 support on quartz64-a
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi | 22 ++++++++++++++++++++++
|
|
|
|
+- configs/quartz64-a-rk3566_defconfig | 17 +++++++++++++++++
|
|
|
|
+- include/configs/quartz64-a-rk3566.h | 3 +++
|
|
|
|
+- 3 files changed, 42 insertions(+)
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3566-quartz64-a-u-boot.dtsi
|
|
|
|
+-@@ -12,12 +12,34 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+&gmac1 {
|
|
|
|
+-+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
|
|
|
+-+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- &sdmmc0 {
|
|
|
|
+- bus-width = <4>;
|
|
|
|
+- u-boot,dm-spl;
|
|
|
|
+- u-boot,spl-fifo-mode;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+&usb_host0_ehci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ohci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ehci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ohci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- &uart2 {
|
|
|
|
+- clock-frequency = <24000000>;
|
|
|
|
+- u-boot,dm-spl;
|
|
|
|
+---- a/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-+++ b/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-@@ -22,6 +22,7 @@ CONFIG_FIT=y
|
|
|
|
+- CONFIG_FIT_VERBOSE=y
|
|
|
|
+- CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+- CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-quartz64-a.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+- # CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+- CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+- # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-@@ -35,6 +36,7 @@ CONFIG_CMD_GPIO=y
|
|
|
|
+- CONFIG_CMD_GPT=y
|
|
|
|
+- CONFIG_CMD_I2C=y
|
|
|
|
+- CONFIG_CMD_MMC=y
|
|
|
|
+-+CONFIG_CMD_USB=y
|
|
|
|
+- # CONFIG_CMD_SETEXPR is not set
|
|
|
|
+- CONFIG_CMD_PMIC=y
|
|
|
|
+- CONFIG_CMD_REGULATOR=y
|
|
|
|
+-@@ -76,4 +78,19 @@ CONFIG_BAUDRATE=1500000
|
|
|
|
+- CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+- CONFIG_SYSRESET=y
|
|
|
|
+- CONFIG_SYSRESET_PSCI=y
|
|
|
|
+-+CONFIG_USB=y
|
|
|
|
+-+CONFIG_USB_XHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+-+CONFIG_USB_EHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_DWC3=y
|
|
|
|
+-+CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+- CONFIG_ERRNO_STR=y
|
|
|
|
+---- a/include/configs/quartz64-a-rk3566.h
|
|
|
|
+-+++ b/include/configs/quartz64-a-rk3566.h
|
|
|
|
+-@@ -11,4 +11,7 @@
|
|
|
|
+- "stdout=serial,vidconsole\0" \
|
|
|
|
+- "stderr=serial,vidconsole\0"
|
|
|
|
+-
|
|
|
|
+-+#define CONFIG_USB_OHCI_NEW
|
|
|
|
+-+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
|
|
|
+-+
|
|
|
|
+- #endif
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/011-rockchip-rk356x-attempt-to-fix-ram-detection.patch b/package/boot/uboot-rockchip/patches/011-rockchip-rk356x-attempt-to-fix-ram-detection.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 736de6b21a2b..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/011-rockchip-rk356x-attempt-to-fix-ram-detection.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,173 +0,0 @@
|
|
|
|
+-From ea6da572fe3cee637319f1e7e588c059622c815e Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Wed, 22 Dec 2021 19:52:38 -0500
|
|
|
|
+-Subject: [PATCH 11/11] rockchip: rk356x: attempt to fix ram detection
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/rk3568.c | 29 ++++++++++++++++++++++++
|
|
|
|
+- arch/arm/mach-rockchip/sdram.c | 31 ++++++++++++++------------
|
|
|
|
+- common/board_f.c | 7 ++++++
|
|
|
|
+- configs/quartz64-a-rk3566_defconfig | 1 +
|
|
|
|
+- include/configs/rk3568_common.h | 5 +++++
|
|
|
|
+- 5 files changed, 59 insertions(+), 14 deletions(-)
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
|
|
|
|
+-@@ -5,6 +5,7 @@
|
|
|
|
+-
|
|
|
|
+- #include <common.h>
|
|
|
|
+- #include <dm.h>
|
|
|
|
+-+#include <fdt_support.h>
|
|
|
|
+- #include <asm/armv8/mmu.h>
|
|
|
|
+- #include <asm/io.h>
|
|
|
|
+- #include <asm/arch-rockchip/bootrom.h>
|
|
|
|
+-@@ -135,3 +136,31 @@ int arch_cpu_init(void)
|
|
|
|
+- #endif
|
|
|
|
+- return 0;
|
|
|
|
+- }
|
|
|
|
+-+
|
|
|
|
+-+#ifdef CONFIG_OF_SYSTEM_SETUP
|
|
|
|
+-+int ft_system_setup(void *blob, struct bd_info *bd)
|
|
|
|
+-+{
|
|
|
|
+-+ int ret;
|
|
|
|
+-+ int areas = 1;
|
|
|
|
+-+ u64 start[2], size[2];
|
|
|
|
+-+
|
|
|
|
+-+ /* Reserve the io address space. */
|
|
|
|
+-+ if (gd->ram_top > SDRAM_UPPER_ADDR_MIN) {
|
|
|
|
+-+ start[0] = gd->bd->bi_dram[0].start;
|
|
|
|
+-+ size[0] = SDRAM_LOWER_ADDR_MAX - gd->bd->bi_dram[0].start;
|
|
|
|
+-+
|
|
|
|
+-+ /* Add the upper 4GB address space */
|
|
|
|
+-+ start[1] = SDRAM_UPPER_ADDR_MIN;
|
|
|
|
+-+ size[1] = gd->ram_top - SDRAM_UPPER_ADDR_MIN;
|
|
|
|
+-+ areas = 2;
|
|
|
|
+-+
|
|
|
|
+-+ ret = fdt_set_usable_memory(blob, start, size, areas);
|
|
|
|
+-+ if (ret) {
|
|
|
|
+-+ printf("Cannot set usable memory\n");
|
|
|
|
+-+ return ret;
|
|
|
|
+-+ }
|
|
|
|
+-+ }
|
|
|
|
+-+
|
|
|
|
+-+ return 0;
|
|
|
|
+-+};
|
|
|
|
+-+#endif
|
|
|
|
+---- a/arch/arm/mach-rockchip/sdram.c
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/sdram.c
|
|
|
|
+-@@ -3,6 +3,8 @@
|
|
|
|
+- * Copyright (C) 2017 Rockchip Electronics Co., Ltd.
|
|
|
|
+- */
|
|
|
|
+-
|
|
|
|
+-+#define DEBUG
|
|
|
|
+-+
|
|
|
|
+- #include <common.h>
|
|
|
|
+- #include <dm.h>
|
|
|
|
+- #include <init.h>
|
|
|
|
+-@@ -98,8 +100,7 @@ size_t rockchip_sdram_size(phys_addr_t r
|
|
|
|
+- SYS_REG_COL_MASK);
|
|
|
|
+- cs1_col = cs0_col;
|
|
|
|
+- bk = 3 - ((sys_reg2 >> SYS_REG_BK_SHIFT(ch)) & SYS_REG_BK_MASK);
|
|
|
|
+-- if ((sys_reg3 >> SYS_REG_VERSION_SHIFT &
|
|
|
|
+-- SYS_REG_VERSION_MASK) == 0x2) {
|
|
|
|
+-+ if ((sys_reg3 >> SYS_REG_VERSION_SHIFT & SYS_REG_VERSION_MASK) >= 0x2) {
|
|
|
|
+- cs1_col = 9 + (sys_reg3 >> SYS_REG_CS1_COL_SHIFT(ch) &
|
|
|
|
+- SYS_REG_CS1_COL_MASK);
|
|
|
|
+- if (((sys_reg3 >> SYS_REG_EXTEND_CS0_ROW_SHIFT(ch) &
|
|
|
|
+-@@ -136,7 +137,7 @@ size_t rockchip_sdram_size(phys_addr_t r
|
|
|
|
+- SYS_REG_BW_MASK));
|
|
|
|
+- row_3_4 = sys_reg2 >> SYS_REG_ROW_3_4_SHIFT(ch) &
|
|
|
|
+- SYS_REG_ROW_3_4_MASK;
|
|
|
|
+-- if (dram_type == DDR4) {
|
|
|
|
+-+ if ((dram_type == DDR4) && (sys_reg3 >> SYS_REG_VERSION_SHIFT & SYS_REG_VERSION_MASK) != 0x3){
|
|
|
|
+- dbw = (sys_reg2 >> SYS_REG_DBW_SHIFT(ch)) &
|
|
|
|
+- SYS_REG_DBW_MASK;
|
|
|
|
+- bg = (dbw == 2) ? 2 : 1;
|
|
|
|
+-@@ -150,15 +151,11 @@ size_t rockchip_sdram_size(phys_addr_t r
|
|
|
|
+- chipsize_mb = chipsize_mb * 3 / 4;
|
|
|
|
+- size_mb += chipsize_mb;
|
|
|
|
+- if (rank > 1)
|
|
|
|
+-- debug("rank %d cs0_col %d cs1_col %d bk %d cs0_row %d\
|
|
|
|
+-- cs1_row %d bw %d row_3_4 %d\n",
|
|
|
|
+-- rank, cs0_col, cs1_col, bk, cs0_row,
|
|
|
|
+-- cs1_row, bw, row_3_4);
|
|
|
|
+-+ debug("rank=%d cs0_col=%d cs1_col=%d bk=%d cs0_row=%d cs1_row=%d bg=%d bw=%d row_3_4=%d\n",
|
|
|
|
+-+ rank, cs0_col, cs1_col, bk, cs0_row, cs1_row, bg, bw, row_3_4);
|
|
|
|
+- else
|
|
|
|
+-- debug("rank %d cs0_col %d bk %d cs0_row %d\
|
|
|
|
+-- bw %d row_3_4 %d\n",
|
|
|
|
+-- rank, cs0_col, bk, cs0_row,
|
|
|
|
+-- bw, row_3_4);
|
|
|
|
+-+ debug("rank %d cs0_col %d bk %d cs0_row %d bw %d row_3_4 %d\n",
|
|
|
|
+-+ rank, cs0_col, bk, cs0_row, bw, row_3_4);
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+- /*
|
|
|
|
+-@@ -176,9 +173,11 @@ size_t rockchip_sdram_size(phys_addr_t r
|
|
|
|
+- * 2. update board_get_usable_ram_top() and dram_init_banksize()
|
|
|
|
+- * to reserve memory for peripheral space after previous update.
|
|
|
|
+- */
|
|
|
|
+-+
|
|
|
|
+-+#ifndef __aarch64__
|
|
|
|
+- if (size_mb > (SDRAM_MAX_SIZE >> 20))
|
|
|
|
+- size_mb = (SDRAM_MAX_SIZE >> 20);
|
|
|
|
+--
|
|
|
|
+-+#endif
|
|
|
|
+- return (size_t)size_mb << 20;
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+-@@ -208,6 +207,10 @@ int dram_init(void)
|
|
|
|
+- ulong board_get_usable_ram_top(ulong total_size)
|
|
|
|
+- {
|
|
|
|
+- unsigned long top = CONFIG_SYS_SDRAM_BASE + SDRAM_MAX_SIZE;
|
|
|
|
+--
|
|
|
|
+-- return (gd->ram_top > top) ? top : gd->ram_top;
|
|
|
|
+-+#ifdef SDRAM_UPPER_ADDR_MIN
|
|
|
|
+-+ if (gd->ram_top > SDRAM_UPPER_ADDR_MIN)
|
|
|
|
+-+ return gd->ram_top;
|
|
|
|
+-+ else
|
|
|
|
+-+#endif
|
|
|
|
+-+ return (gd->ram_top > top) ? top : gd->ram_top;
|
|
|
|
+- }
|
|
|
|
+---- a/common/board_f.c
|
|
|
|
+-+++ b/common/board_f.c
|
|
|
|
+-@@ -345,7 +345,14 @@ static int setup_dest_addr(void)
|
|
|
|
+- #endif
|
|
|
|
+- gd->ram_top = gd->ram_base + get_effective_memsize();
|
|
|
|
+- gd->ram_top = board_get_usable_ram_top(gd->mon_len);
|
|
|
|
+-+#ifdef SDRAM_LOWER_ADDR_MAX
|
|
|
|
+-+ if (gd->ram_top > SDRAM_LOWER_ADDR_MAX)
|
|
|
|
+-+ gd->relocaddr = SDRAM_LOWER_ADDR_MAX;
|
|
|
|
+-+ else
|
|
|
|
+-+ gd->relocaddr = gd->ram_top;
|
|
|
|
+-+#else
|
|
|
|
+- gd->relocaddr = gd->ram_top;
|
|
|
|
+-+#endif
|
|
|
|
+- debug("Ram top: %08lX\n", (ulong)gd->ram_top);
|
|
|
|
+- #if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500))
|
|
|
|
+- /*
|
|
|
|
+---- a/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-+++ b/configs/quartz64-a-rk3566_defconfig
|
|
|
|
+-@@ -21,6 +21,7 @@ CONFIG_API=y
|
|
|
|
+- CONFIG_FIT=y
|
|
|
|
+- CONFIG_FIT_VERBOSE=y
|
|
|
|
+- CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+- CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-quartz64-a.dtb"
|
|
|
|
+- # CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+- # CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+---- a/include/configs/rk3568_common.h
|
|
|
|
+-+++ b/include/configs/rk3568_common.h
|
|
|
|
+-@@ -24,6 +24,11 @@
|
|
|
|
+- #define CONFIG_SYS_SDRAM_BASE 0
|
|
|
|
+- #define SDRAM_MAX_SIZE 0xf0000000
|
|
|
|
+-
|
|
|
|
+-+#ifdef CONFIG_OF_SYSTEM_SETUP
|
|
|
|
+-+#define SDRAM_LOWER_ADDR_MAX 0xf0000000
|
|
|
|
+-+#define SDRAM_UPPER_ADDR_MIN 0x100000000
|
|
|
|
+-+#endif
|
|
|
|
+-+
|
|
|
|
+- #ifndef CONFIG_SPL_BUILD
|
|
|
|
+- #define ENV_MEM_LAYOUT_SETTINGS \
|
|
|
|
+- "scriptaddr=0x00c00000\0" \
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/012-resync-rk3566-device-tree-with-mainline.patch b/package/boot/uboot-rockchip/patches/012-resync-rk3566-device-tree-with-mainline.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 11c791356fd9..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/012-resync-rk3566-device-tree-with-mainline.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,1060 +0,0 @@
|
|
|
|
+-From 07cb5e592c2fe682d7f176282a16f389c94f46c8 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Tue, 18 Jan 2022 19:20:40 -0500
|
|
|
|
+-Subject: [PATCH 12/13] resync rk3566 device tree with mainline
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/rk3566-quartz64-a.dts | 285 ++++++++++++++++++++---
|
|
|
|
+- arch/arm/dts/rk3566.dtsi | 8 +-
|
|
|
|
+- arch/arm/dts/rk3568.dtsi | 29 ++-
|
|
|
|
+- arch/arm/dts/rk356x.dtsi | 297 ++++++++++++------------
|
|
|
|
+- include/dt-bindings/soc/rockchip,vop2.h | 14 ++
|
|
|
|
+- 5 files changed, 442 insertions(+), 191 deletions(-)
|
|
|
|
+- create mode 100644 include/dt-bindings/soc/rockchip,vop2.h
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/rk3566-quartz64-a.dts
|
|
|
|
+-+++ b/arch/arm/dts/rk3566-quartz64-a.dts
|
|
|
|
+-@@ -4,6 +4,7 @@
|
|
|
|
+-
|
|
|
|
+- #include <dt-bindings/gpio/gpio.h>
|
|
|
|
+- #include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+-+#include <dt-bindings/soc/rockchip,vop2.h>
|
|
|
|
+- #include "rk3566.dtsi"
|
|
|
|
+-
|
|
|
|
+- / {
|
|
|
|
+-@@ -55,6 +56,17 @@
|
|
|
|
+- #cooling-cells = <2>;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ hdmi-con {
|
|
|
|
+-+ compatible = "hdmi-connector";
|
|
|
|
+-+ type = "c";
|
|
|
|
+-+
|
|
|
|
+-+ port {
|
|
|
|
+-+ hdmi_con_in: endpoint {
|
|
|
|
+-+ remote-endpoint = <&hdmi_out_con>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- leds {
|
|
|
|
+- compatible = "gpio-leds";
|
|
|
|
+-
|
|
|
|
+-@@ -196,7 +208,7 @@
|
|
|
|
+- enable-active-high;
|
|
|
|
+- gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+- pinctrl-names = "default";
|
|
|
|
+-- pinctrl-0 = <&vcc5v0_usb20_host_en_h>;
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb20_host_en>;
|
|
|
|
+- regulator-min-microvolt = <5000000>;
|
|
|
|
+- regulator-max-microvolt = <5000000>;
|
|
|
|
+- vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-@@ -248,6 +260,29 @@
|
|
|
|
+- vin-supply = <&vbus>;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ vcc_sys_ebc: vcc_sys_ebc {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc_sys_ebc_h>;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-name = "vcc_sys_ebc";
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ vin-supply = <&vcc_sys>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_lcd_en: vcc_lcd_en {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+// gpio = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc_lcd_en_h>;
|
|
|
|
+-+ regulator-name = "vcc_lcd_en";
|
|
|
|
+-+ vin-supply = <&vcc_sys>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- /* sourced from vcc_sys, sdio module operates internally at 3.3v */
|
|
|
|
+- vcc_wl: vcc_wl {
|
|
|
|
+- compatible = "regulator-fixed";
|
|
|
|
+-@@ -258,14 +293,21 @@
|
|
|
|
+- regulator-max-microvolt = <3300000>;
|
|
|
|
+- vin-supply = <&vcc_sys>;
|
|
|
|
+- };
|
|
|
|
+-+
|
|
|
|
+-+ backlight: backlight {
|
|
|
|
+-+ compatible = "pwm-backlight";
|
|
|
|
+-+ pwms = <&pwm14 0 1000000 0>;
|
|
|
|
+-+ brightness-levels = <0 4 8 16 32 64 128 255>;
|
|
|
|
+-+ default-brightness-level = <6>;
|
|
|
|
+-+ };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&combphy1_usq {
|
|
|
|
+-+&combphy1 {
|
|
|
|
+- status = "okay";
|
|
|
|
+- rockchip,enable-ssc;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&combphy2_psq {
|
|
|
|
+-+&combphy2 {
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -302,6 +344,39 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+&ebc {
|
|
|
|
+-+ panel,width = <1872>;
|
|
|
|
+-+ panel,height = <1404>;
|
|
|
|
+-+ panel,vir_width = <1872>;
|
|
|
|
+-+ panel,vir_height = <1404>;
|
|
|
|
+-+ panel,sdck = <33300000>;
|
|
|
|
+-+ panel,lsl = <11>;
|
|
|
|
+-+ panel,lbl = <8>;
|
|
|
|
+-+ panel,ldl = <234>;
|
|
|
|
+-+ panel,lel = <23>;
|
|
|
|
+-+ panel,gdck-sta = <10>;
|
|
|
|
+-+ panel,lgonl = <215>;
|
|
|
|
+-+ panel,fsl = <1>;
|
|
|
|
+-+ panel,fbl = <4>;
|
|
|
|
+-+ panel,fdl = <1404>;
|
|
|
|
+-+ panel,fel = <12>;
|
|
|
|
+-+ panel,mirror = <1>;
|
|
|
|
+-+ panel,panel_16bit = <1>;
|
|
|
|
+-+ panel,panel_color = <0>;
|
|
|
|
+-+ panel,width-mm = <157>;
|
|
|
|
+-+ panel,height-mm = <210>;
|
|
|
|
+-+
|
|
|
|
+-+ io-channels = <&ebc_pmic 0>;
|
|
|
|
+-+ panel-supply = <&v3p3>;
|
|
|
|
+-+ vcom-supply = <&vcom>;
|
|
|
|
+-+ vdrive-supply = <&vdrive>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&eink {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- &gmac1 {
|
|
|
|
+- assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
|
|
|
+- assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
|
|
|
+-@@ -325,19 +400,28 @@
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&hdmi {
|
|
|
|
+-+&gpu {
|
|
|
|
+-+ mali-supply = <&vdd_gpu>;
|
|
|
|
+- status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&hdmi {
|
|
|
|
+- avdd-0v9-supply = <&vdda_0v9>;
|
|
|
|
+- avdd-1v8-supply = <&vcc_1v8>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&hdmi_in_vp0 {
|
|
|
|
+-- status = "okay";
|
|
|
|
+-+&hdmi_in {
|
|
|
|
+-+ hdmi_in_vp0: endpoint@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ remote-endpoint = <&vp0_out_hdmi>;
|
|
|
|
+-+ };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&gpu {
|
|
|
|
+-- mali-supply = <&vdd_gpu>;
|
|
|
|
+-- status = "okay";
|
|
|
|
+-+&hdmi_out {
|
|
|
|
+-+ hdmi_out_con: endpoint {
|
|
|
|
+-+ remote-endpoint = <&hdmi_con_in>;
|
|
|
|
+-+ };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &i2c0 {
|
|
|
|
+-@@ -357,6 +441,7 @@
|
|
|
|
+-
|
|
|
|
+- regulator-state-mem {
|
|
|
|
+- regulator-off-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <900000>;
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -420,8 +505,6 @@
|
|
|
|
+- vcc_ddr: DCDC_REG3 {
|
|
|
|
+- regulator-always-on;
|
|
|
|
+- regulator-boot-on;
|
|
|
|
+-- regulator-min-microvolt = <1100000>;
|
|
|
|
+-- regulator-max-microvolt = <1100000>;
|
|
|
|
+- regulator-initial-mode = <0x2>;
|
|
|
|
+- regulator-name = "vcc_ddr";
|
|
|
|
+- regulator-state-mem {
|
|
|
|
+-@@ -571,6 +654,55 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+&i2c1 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+
|
|
|
|
+-+ ebc_pmic: pmic@68 {
|
|
|
|
+-+ compatible = "ti,tps65185";
|
|
|
|
+-+ reg = <0x68>;
|
|
|
|
+-+ interrupt-parent = <&gpio4>;
|
|
|
|
+-+ interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
+-+ #io-channel-cells = <1>;
|
|
|
|
+-+ pinctrl-0 = <&ebc_pmic_pins>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ powerup-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pwr_good-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ vcom_ctrl-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ vin-supply = <&vcc_sys_ebc>;
|
|
|
|
+-+ vin3p3-supply = <&vcc_sys_ebc>;
|
|
|
|
+-+ wakeup-gpios = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ ti,up-sequence = <1>, <0>, <2>, <3>;
|
|
|
|
+-+ ti,up-delay-ms = <3>, <3>, <3>, <3>;
|
|
|
|
+-+ ti,down-sequence = <2>, <3>, <1>, <0>;
|
|
|
|
+-+ ti,down-delay-ms = <3>, <6>, <6>, <6>;
|
|
|
|
+-+
|
|
|
|
+-+ regulators {
|
|
|
|
+-+ v3p3: v3p3 {
|
|
|
|
+-+ regulator-name = "v3p3";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcom: vcom {
|
|
|
|
+-+ regulator-name = "vcom";
|
|
|
|
+-+ regulator-min-microvolt = <1450000>;
|
|
|
|
+-+ regulator-max-microvolt = <1450000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdrive: vdrive {
|
|
|
|
+-+ regulator-name = "vdrive";
|
|
|
|
+-+ regulator-min-microvolt = <15000000>;
|
|
|
|
+-+ regulator-max-microvolt = <15000000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2c3 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- &i2s1_8ch {
|
|
|
|
+- pinctrl-names = "default";
|
|
|
|
+- pinctrl-0 = <&i2s1m0_sclktx
|
|
|
|
+-@@ -611,6 +743,21 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ ebc_pmic {
|
|
|
|
+-+ ebc_pmic_pins: ebc-pmic-pins {
|
|
|
|
+-+ rockchip,pins = /* wakeup */
|
|
|
|
+-+ <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>,
|
|
|
|
+-+ /* int */
|
|
|
|
+-+ <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>,
|
|
|
|
+-+ /* pwr_good */
|
|
|
|
+-+ <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>,
|
|
|
|
+-+ /* pwrup */
|
|
|
|
+-+ <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>,
|
|
|
|
+-+ /* vcom_ctrl */
|
|
|
|
+-+ <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- fan {
|
|
|
|
+- fan_en_h: fan-en-h {
|
|
|
|
+- rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-@@ -654,7 +801,7 @@
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- usb2 {
|
|
|
|
+-- vcc5v0_usb20_host_en_h: vcc5v0-usb20-host-en_h {
|
|
|
|
+-+ vcc5v0_usb20_host_en: vcc5v0-usb20-host-en {
|
|
|
|
+- rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-@@ -664,6 +811,18 @@
|
|
|
|
+- rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_sys_ebc {
|
|
|
|
+-+ vcc_sys_ebc_h: vcc-sys-ebc-h {
|
|
|
|
+-+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_lcd_en {
|
|
|
|
+-+ vcc_lcd_en_h: vcc-lcd-en-h {
|
|
|
|
+-+ rockchip,pins = <2 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &pmu_io_domains {
|
|
|
|
+-@@ -681,12 +840,15 @@
|
|
|
|
+-
|
|
|
|
+- /* sata1 is muxed with the usb3 port */
|
|
|
|
+- &sata1 {
|
|
|
|
+-- status = "okay";
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+// status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- /* sata2 is muxed with the pcie2 slot*/
|
|
|
|
+- &sata2 {
|
|
|
|
+-+ target-supply = <&vcc3v3_pcie_p>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+-+// status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &sdhci {
|
|
|
|
+-@@ -783,6 +945,10 @@
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+&u2phy0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+- &u2phy0_host {
|
|
|
|
+- phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+- status = "okay";
|
|
|
|
+-@@ -793,25 +959,17 @@
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&u2phy1_host {
|
|
|
|
+-- phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+-+&u2phy1 {
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&u2phy1_otg {
|
|
|
|
+-+&u2phy1_host {
|
|
|
|
+- phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&usb2phy0 {
|
|
|
|
+-- status = "okay";
|
|
|
|
+--};
|
|
|
|
+--
|
|
|
|
+--&usb2phy1 {
|
|
|
|
+-- status = "okay";
|
|
|
|
+--};
|
|
|
|
+--
|
|
|
|
+--&usbdrd_dwc3 {
|
|
|
|
+-+&u2phy1_otg {
|
|
|
|
+-+ phy-supply = <&vcc5v0_usb20_host>;
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -820,13 +978,9 @@
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- /* usb3 controller is muxed with sata1 */
|
|
|
|
+--&usbhost_dwc3 {
|
|
|
|
+-- status = "disabled";
|
|
|
|
+--};
|
|
|
|
+--
|
|
|
|
+--/* usb3 controller is muxed with sata1 */
|
|
|
|
+- &usbhost30 {
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-+// status = "disabled";
|
|
|
|
+-+ status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &usb_host0_ehci {
|
|
|
|
+-@@ -846,15 +1000,80 @@
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &vop {
|
|
|
|
+-- status = "okay";
|
|
|
|
+- assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
|
|
|
+- assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- &vop_mmu {
|
|
|
|
+- status = "okay";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&vp0_out_hdmi {
|
|
|
|
+-+&vp0 {
|
|
|
|
+-+ vp0_out_hdmi: endpoint@RK3568_VOP2_EP_HDMI {
|
|
|
|
+-+ reg = <RK3568_VOP2_EP_HDMI>;
|
|
|
|
+-+ remote-endpoint = <&hdmi_in_vp0>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+/*
|
|
|
|
+-+&video_phy0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&dsi0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+ clock-master;
|
|
|
|
+-+
|
|
|
|
+-+ mipi_panel: panel@0 {
|
|
|
|
+-+ compatible = "feiyang,fy07024di26a30d";
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+ backlight = <&backlight>;
|
|
|
|
+-+ reset-gpios = <&gpio2 RK_PC4 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ width-mm = <154>;
|
|
|
|
+-+ height-mm = <86>;
|
|
|
|
+-+ rotation = <0>;
|
|
|
|
+-+// avdd-supply = <&avdd>;
|
|
|
|
+-+// dvdd-supply = <&vcc3v3_s0>;
|
|
|
|
+-+
|
|
|
|
+-+ ports {
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ port@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+-+
|
|
|
|
+-+ mipi_in_panel: endpoint {
|
|
|
|
+-+ remote-endpoint = <&mipi_out_panel>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&dsi0_in {
|
|
|
|
+-+ dsi0_in_vp1: endpoint@1 {
|
|
|
|
+-+ reg = <1>;
|
|
|
|
+-+ remote-endpoint = <&vp1_out_dsi0>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&dsi0_out {
|
|
|
|
+-+ mipi_out_panel: endpoint {
|
|
|
|
+-+ remote-endpoint = <&mipi_in_panel>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&vp1 {
|
|
|
|
+-+ vp1_out_dsi0: endpoint@RK3568_VOP2_EP_MIPI0 {
|
|
|
|
+-+ reg = <RK3568_VOP2_EP_MIPI0>;
|
|
|
|
+-+ remote-endpoint = <&dsi0_in_vp1>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pwm14 {
|
|
|
|
+- status = "okay";
|
|
|
|
+-+ pinctrl-0 = <&pwm14m1_pins>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+- };
|
|
|
|
+-+*/
|
|
|
|
+---- a/arch/arm/dts/rk3566.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3566.dtsi
|
|
|
|
+-@@ -23,10 +23,14 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&usbdrd_dwc3 {
|
|
|
|
+-+&usbdrd30 {
|
|
|
|
+- phys = <&u2phy0_otg>;
|
|
|
|
+- phy-names = "usb2-phy";
|
|
|
|
+-- extcon = <&usb2phy0>;
|
|
|
|
+-+ extcon = <&u2phy0>;
|
|
|
|
+- maximum-speed = "high-speed";
|
|
|
|
+- snps,dis_u2_susphy_quirk;
|
|
|
|
+- };
|
|
|
|
+-+
|
|
|
|
+-+&vop {
|
|
|
|
+-+ compatible = "rockchip,rk3566-vop";
|
|
|
|
+-+};
|
|
|
|
+---- a/arch/arm/dts/rk3568.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk3568.dtsi
|
|
|
|
+-@@ -16,13 +16,18 @@
|
|
|
|
+- clock-names = "sata", "pmalive", "rxoob";
|
|
|
|
+- interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- interrupt-names = "hostc";
|
|
|
|
+-- phys = <&combphy0_us PHY_TYPE_SATA>;
|
|
|
|
+-+ phys = <&combphy0 PHY_TYPE_SATA>;
|
|
|
|
+- phy-names = "sata-phy";
|
|
|
|
+- ports-implemented = <0x1>;
|
|
|
|
+- power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ pipe_phy_grf0: syscon@fdc70000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
|
|
|
|
+-+ reg = <0x0 0xfdc70000 0x0 0x1000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- qos_pcie3x1: qos@fe190080 {
|
|
|
|
+- compatible = "rockchip,rk3568-qos", "syscon";
|
|
|
|
+- reg = <0x0 0xfe190080 0x0 0x20>;
|
|
|
|
+-@@ -87,19 +92,19 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- combphy0_us: phy@fe820000 {
|
|
|
|
+-+ combphy0: phy@fe820000 {
|
|
|
|
+- compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+- reg = <0x0 0xfe820000 0x0 0x100>;
|
|
|
|
+-- #phy-cells = <1>;
|
|
|
|
+-- assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
|
|
|
|
+-- assigned-clock-rates = <100000000>;
|
|
|
|
+-- clocks = <&pmucru CLK_PCIEPHY0_REF>, <&cru PCLK_PIPEPHY0>,
|
|
|
|
+-+ clocks = <&pmucru CLK_PCIEPHY0_REF>,
|
|
|
|
+-+ <&cru PCLK_PIPEPHY0>,
|
|
|
|
+- <&cru PCLK_PIPE>;
|
|
|
|
+- clock-names = "ref", "apb", "pipe";
|
|
|
|
+-- resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>;
|
|
|
|
+-- reset-names = "combphy-apb", "combphy";
|
|
|
|
+-+ assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
|
|
|
|
+-+ assigned-clock-rates = <100000000>;
|
|
|
|
+-+ resets = <&cru SRST_PIPEPHY0>;
|
|
|
|
+- rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+- rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
|
|
|
|
+-+ #phy-cells = <1>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-@@ -131,7 +136,11 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+--&usbdrd_dwc3 {
|
|
|
|
+-- phys = <&u2phy0_otg>, <&combphy0_us PHY_TYPE_USB3>;
|
|
|
|
+-+&usbdrd30 {
|
|
|
|
+-+ phys = <&u2phy0_otg>, <&combphy0 PHY_TYPE_USB3>;
|
|
|
|
+- phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+- };
|
|
|
|
+-+
|
|
|
|
+-+&vop {
|
|
|
|
+-+ compatible = "rockchip,rk3568-vop";
|
|
|
|
+-+};
|
|
|
|
+---- a/arch/arm/dts/rk356x.dtsi
|
|
|
|
+-+++ b/arch/arm/dts/rk356x.dtsi
|
|
|
|
+-@@ -159,6 +159,11 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ display_subsystem: display-subsystem {
|
|
|
|
+-+ compatible = "rockchip,display-subsystem";
|
|
|
|
+-+ ports = <&vop_out>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- firmware {
|
|
|
|
+- scmi: scmi {
|
|
|
|
+- compatible = "arm,scmi-smc";
|
|
|
|
+-@@ -234,7 +239,7 @@
|
|
|
|
+- clock-names = "sata", "pmalive", "rxoob";
|
|
|
|
+- interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- interrupt-names = "hostc";
|
|
|
|
+-- phys = <&combphy1_usq PHY_TYPE_SATA>;
|
|
|
|
+-+ phys = <&combphy1 PHY_TYPE_SATA>;
|
|
|
|
+- phy-names = "sata-phy";
|
|
|
|
+- ports-implemented = <0x1>;
|
|
|
|
+- power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-@@ -249,7 +254,7 @@
|
|
|
|
+- clock-names = "sata", "pmalive", "rxoob";
|
|
|
|
+- interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- interrupt-names = "hostc";
|
|
|
|
+-- phys = <&combphy2_psq PHY_TYPE_SATA>;
|
|
|
|
+-+ phys = <&combphy2 PHY_TYPE_SATA>;
|
|
|
|
+- phy-names = "sata-phy";
|
|
|
|
+- ports-implemented = <0x1>;
|
|
|
|
+- power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-@@ -258,66 +263,46 @@
|
|
|
|
+-
|
|
|
|
+- usbdrd30: usbdrd {
|
|
|
|
+- compatible = "rockchip,rk3399-dwc3", "snps,dwc3";
|
|
|
|
+-+ reg = <0x0 0xfcc00000 0x0 0x400000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
|
|
|
|
+- <&cru ACLK_USB3OTG0>, <&cru PCLK_PIPE>;
|
|
|
|
+- clock-names = "ref_clk", "suspend_clk",
|
|
|
|
+- "bus_clk", "pipe_clk";
|
|
|
|
+-- #address-cells = <2>;
|
|
|
|
+-- #size-cells = <2>;
|
|
|
|
+-- ranges;
|
|
|
|
+-+ dr_mode = "host";
|
|
|
|
+-+ phy_type = "utmi_wide";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ resets = <&cru SRST_USB3OTG0>;
|
|
|
|
+-+ reset-names = "usb3-otg";
|
|
|
|
+-+ snps,dis_enblslpm_quirk;
|
|
|
|
+-+ snps,dis-u2-freeclk-exists-quirk;
|
|
|
|
+-+ snps,dis-del-phy-power-chg-quirk;
|
|
|
|
+-+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
|
|
+-+ snps,xhci-trb-ent-quirk;
|
|
|
|
+- status = "disabled";
|
|
|
|
+--
|
|
|
|
+-- usbdrd_dwc3: dwc3@fcc00000 {
|
|
|
|
+-- compatible = "snps,dwc3";
|
|
|
|
+-- reg = <0x0 0xfcc00000 0x0 0x400000>;
|
|
|
|
+-- interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- dr_mode = "host";
|
|
|
|
+-- phys = <&u2phy0_otg>, <&combphy0_us PHY_TYPE_USB3>;
|
|
|
|
+-- phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+-- phy_type = "utmi_wide";
|
|
|
|
+-- power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-- resets = <&cru SRST_USB3OTG0>;
|
|
|
|
+-- reset-names = "usb3-otg";
|
|
|
|
+-- snps,dis_enblslpm_quirk;
|
|
|
|
+-- snps,dis-u2-freeclk-exists-quirk;
|
|
|
|
+-- snps,dis-del-phy-power-chg-quirk;
|
|
|
|
+-- snps,dis-tx-ipgap-linecheck-quirk;
|
|
|
|
+-- snps,xhci-trb-ent-quirk;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- usbhost30: usbhost {
|
|
|
|
+- compatible = "rockchip,rk3399-dwc3", "snps,dwc3";
|
|
|
|
+-+ reg = <0x0 0xfd000000 0x0 0x400000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
|
|
|
|
+- <&cru ACLK_USB3OTG1>, <&cru PCLK_PIPE>;
|
|
|
|
+- clock-names = "ref_clk", "suspend_clk",
|
|
|
|
+- "bus_clk", "pipe_clk";
|
|
|
|
+-- #address-cells = <2>;
|
|
|
|
+-- #size-cells = <2>;
|
|
|
|
+-- assigned-clocks = <&cru CLK_PCIEPHY1_REF>;
|
|
|
|
+-- assigned-clock-rates = <25000000>;
|
|
|
|
+-- ranges;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+--
|
|
|
|
+-- usbhost_dwc3: dwc3@fd000000 {
|
|
|
|
+-- compatible = "snps,dwc3";
|
|
|
|
+-- reg = <0x0 0xfd000000 0x0 0x400000>;
|
|
|
|
+-- interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- dr_mode = "host";
|
|
|
|
+-- phys = <&u2phy0_host>, <&combphy1_usq PHY_TYPE_USB3>;
|
|
|
|
+-- phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+-- phy_type = "utmi_wide";
|
|
|
|
+-- power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-- resets = <&cru SRST_USB3OTG1>;
|
|
|
|
+-- reset-names = "usb3-host";
|
|
|
|
+-- snps,dis_enblslpm_quirk;
|
|
|
|
+-- snps,dis-u2-freeclk-exists-quirk;
|
|
|
|
+-- snps,dis_u2_susphy_quirk;
|
|
|
|
+-- snps,dis-del-phy-power-chg-quirk;
|
|
|
|
+-- snps,dis-tx-ipgap-linecheck-quirk;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+-+ dr_mode = "host";
|
|
|
|
+-+ phys = <&u2phy0_host>, <&combphy1 PHY_TYPE_USB3>;
|
|
|
|
+-+ phy-names = "usb2-phy", "usb3-phy";
|
|
|
|
+-+ phy_type = "utmi_wide";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+-+ resets = <&cru SRST_USB3OTG1>;
|
|
|
|
+-+ reset-names = "usb3-host";
|
|
|
|
+-+ snps,dis_enblslpm_quirk;
|
|
|
|
+-+ snps,dis-u2-freeclk-exists-quirk;
|
|
|
|
+-+ snps,dis_u2_susphy_quirk;
|
|
|
|
+-+ snps,dis-del-phy-power-chg-quirk;
|
|
|
|
+-+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- gic: interrupt-controller@fd400000 {
|
|
|
|
+-@@ -339,7 +324,7 @@
|
|
|
|
+- clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
|
|
|
|
+- <&cru PCLK_USB>;
|
|
|
|
+- phys = <&u2phy1_otg>;
|
|
|
|
+-- phy-names = "usb2-phy";
|
|
|
|
+-+ phy-names = "usb";
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -350,7 +335,7 @@
|
|
|
|
+- clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
|
|
|
|
+- <&cru PCLK_USB>;
|
|
|
|
+- phys = <&u2phy1_otg>;
|
|
|
|
+-- phy-names = "usb2-phy";
|
|
|
|
+-+ phy-names = "usb";
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -361,7 +346,7 @@
|
|
|
|
+- clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
|
|
|
|
+- <&cru PCLK_USB>;
|
|
|
|
+- phys = <&u2phy1_host>;
|
|
|
|
+-- phy-names = "usb2-phy";
|
|
|
|
+-+ phy-names = "usb";
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -372,7 +357,7 @@
|
|
|
|
+- clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
|
|
|
|
+- <&cru PCLK_USB>;
|
|
|
|
+- phys = <&u2phy1_host>;
|
|
|
|
+-- phy-names = "usb2-phy";
|
|
|
|
+-+ phy-names = "usb";
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-@@ -395,21 +380,17 @@
|
|
|
|
+- reg = <0x0 0xfdc60000 0x0 0x10000>;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- pipe_phy_grf0: syscon@fdc70000 {
|
|
|
|
+-- compatible = "rockchip,pipe-phy-grf", "syscon";
|
|
|
|
+-- reg = <0x0 0xfdc70000 0x0 0x1000>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+- pipe_phy_grf1: syscon@fdc80000 {
|
|
|
|
+-- compatible = "rockchip,pipe-phy-grf", "syscon";
|
|
|
|
+-+ compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
|
|
|
|
+- reg = <0x0 0xfdc80000 0x0 0x1000>;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- pipe_phy_grf2: syscon@fdc90000 {
|
|
|
|
+-- compatible = "rockchip,pipe-phy-grf", "syscon";
|
|
|
|
+-+ compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
|
|
|
|
+- reg = <0x0 0xfdc90000 0x0 0x1000>;
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+
|
|
|
|
+- usb2phy0_grf: syscon@fdca0000 {
|
|
|
|
+- compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
|
|
|
|
+- reg = <0x0 0xfdca0000 0x0 0x8000>;
|
|
|
|
+-@@ -604,6 +585,28 @@
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ ebc: ebc@fdec0000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-ebc-tcon";
|
|
|
|
+-+ reg = <0x0 0xfdec0000 0x0 0x5000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru HCLK_EBC>, <&cru DCLK_EBC>;
|
|
|
|
+-+ clock-names = "hclk", "dclk";
|
|
|
|
+-+ pinctrl-0 = <&ebc_pins>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ power-domains = <&power RK3568_PD_RGA>;
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ eink: eink@fdf00000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-eink-tcon";
|
|
|
|
+-+ reg = <0x0 0xfdf00000 0x0 0x74>;
|
|
|
|
+-+ clocks = <&cru PCLK_EINK>, <&cru HCLK_EINK>;
|
|
|
|
+-+ clock-names = "pclk", "hclk";
|
|
|
|
+-+ interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- sdmmc2: mmc@fe000000 {
|
|
|
|
+- compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
|
|
|
|
+- reg = <0x0 0xfe000000 0x0 0x4000>;
|
|
|
|
+-@@ -665,21 +668,15 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- display_subsystem: display-subsystem {
|
|
|
|
+-- compatible = "rockchip,display-subsystem";
|
|
|
|
+-- ports = <&vop_out>;
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+- vop: vop@fe040000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-vop";
|
|
|
|
+- reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
|
|
|
|
+- reg-names = "regs", "gamma_lut";
|
|
|
|
+-- rockchip,grf = <&grf>;
|
|
|
|
+- interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
|
|
|
|
+- clock-names = "aclk_vop", "hclk_vop", "dclk_vp0", "dclk_vp1", "dclk_vp2";
|
|
|
|
+- iommus = <&vop_mmu>;
|
|
|
|
+- power-domains = <&power RK3568_PD_VO>;
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+-
|
|
|
|
+- vop_out: ports {
|
|
|
|
+-@@ -687,39 +684,21 @@
|
|
|
|
+- #size-cells = <0>;
|
|
|
|
+-
|
|
|
|
+- vp0: port@0 {
|
|
|
|
+-+ reg = <0>;
|
|
|
|
+- #address-cells = <1>;
|
|
|
|
+- #size-cells = <0>;
|
|
|
|
+-- reg = <0>;
|
|
|
|
+--
|
|
|
|
+-- vp0_out_hdmi: endpoint@0 {
|
|
|
|
+-- reg = <0>;
|
|
|
|
+-- remote-endpoint = <&hdmi_in_vp0>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- vp1: port@1 {
|
|
|
|
+-+ reg = <1>;
|
|
|
|
+- #address-cells = <1>;
|
|
|
|
+- #size-cells = <0>;
|
|
|
|
+-- reg = <1>;
|
|
|
|
+--
|
|
|
|
+-- vp1_out_hdmi: endpoint@0 {
|
|
|
|
+-- reg = <0>;
|
|
|
|
+-- remote-endpoint = <&hdmi_in_vp1>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+- vp2: port@2 {
|
|
|
|
+-+ reg = <2>;
|
|
|
|
+- #address-cells = <1>;
|
|
|
|
+- #size-cells = <0>;
|
|
|
|
+-- reg = <2>;
|
|
|
|
+--
|
|
|
|
+-- vp2_out_hdmi: endpoint@0 {
|
|
|
|
+-- reg = <0>;
|
|
|
|
+-- remote-endpoint = <&hdmi_in_vp2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-@@ -728,7 +707,6 @@
|
|
|
|
+- compatible = "rockchip,rk3568-iommu";
|
|
|
|
+- reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
|
|
|
|
+- interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-- interrupt-names = "vop_mmu";
|
|
|
|
+- clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
|
|
|
|
+- clock-names = "aclk", "iface";
|
|
|
|
+- #iommu-cells = <0>;
|
|
|
|
+-@@ -742,14 +720,15 @@
|
|
|
|
+- clocks = <&cru PCLK_HDMI_HOST>,
|
|
|
|
+- <&cru CLK_HDMI_SFR>,
|
|
|
|
+- <&cru CLK_HDMI_CEC>,
|
|
|
|
+-+ <&pmucru CLK_HDMI_REF>,
|
|
|
|
+- <&cru HCLK_VOP>;
|
|
|
|
+-- clock-names = "iahb", "isfr", "cec", "hclk";
|
|
|
|
+-+ clock-names = "iahb", "isfr", "cec", "ref", "hclk";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
|
|
|
|
+- power-domains = <&power RK3568_PD_VO>;
|
|
|
|
+- reg-io-width = <4>;
|
|
|
|
+- rockchip,grf = <&grf>;
|
|
|
|
+- #sound-dai-cells = <0>;
|
|
|
|
+-- pinctrl-names = "default";
|
|
|
|
+-- pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+-
|
|
|
|
+- ports {
|
|
|
|
+-@@ -760,24 +739,12 @@
|
|
|
|
+- reg = <0>;
|
|
|
|
+- #address-cells = <1>;
|
|
|
|
+- #size-cells = <0>;
|
|
|
|
+-+ };
|
|
|
|
+-
|
|
|
|
+-- hdmi_in_vp0: endpoint@0 {
|
|
|
|
+-- reg = <0>;
|
|
|
|
+-- remote-endpoint = <&vp0_out_hdmi>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- hdmi_in_vp1: endpoint@1 {
|
|
|
|
+-- reg = <1>;
|
|
|
|
+-- remote-endpoint = <&vp1_out_hdmi>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- hdmi_in_vp2: endpoint@2 {
|
|
|
|
+-- reg = <2>;
|
|
|
|
+-- remote-endpoint = <&vp2_out_hdmi>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+-+ hdmi_out: port@1 {
|
|
|
|
+-+ reg = <1>;
|
|
|
|
+-+ #address-cells = <1>;
|
|
|
|
+-+ #size-cells = <0>;
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-@@ -934,7 +901,7 @@
|
|
|
|
+- max-link-speed = <2>;
|
|
|
|
+- msi-map = <0x0 &gic 0x0 0x1000>;
|
|
|
|
+- num-lanes = <1>;
|
|
|
|
+-- phys = <&combphy2_psq PHY_TYPE_PCIE>;
|
|
|
|
+-+ phys = <&combphy2 PHY_TYPE_PCIE>;
|
|
|
|
+- phy-names = "pcie-phy";
|
|
|
|
+- power-domains = <&power RK3568_PD_PIPE>;
|
|
|
|
+- reg = <0x3 0xc0000000 0x0 0x400000>,
|
|
|
|
+-@@ -1048,6 +1015,43 @@
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ i2s2_2ch: i2s@fe420000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-i2s-tdm";
|
|
|
|
+-+ reg = <0x0 0xfe420000 0x0 0x1000>;
|
|
|
|
+-+ interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+-+ clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
|
|
|
|
+-+ clock-names = "mclk_tx", "mclk_rx", "hclk";
|
|
|
|
+-+ dmas = <&dmac1 4>, <&dmac1 5>;
|
|
|
|
+-+ dma-names = "tx", "rx";
|
|
|
|
+-+ rockchip,cru = <&cru>;
|
|
|
|
+-+ rockchip,grf = <&grf>;
|
|
|
|
+-+ pinctrl-0 = <&i2s2m0_sclktx
|
|
|
|
+-+ &i2s2m0_lrcktx
|
|
|
|
+-+ &i2s2m0_sdi
|
|
|
|
+-+ &i2s2m0_sdo>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pdm: pdm@fe440000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-pdm", "rockchip,pdm";
|
|
|
|
+-+ reg = <0x0 0xfe440000 0x0 0x1000>;
|
|
|
|
+-+ clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
|
|
|
|
+-+ clock-names = "pdm_clk", "pdm_hclk";
|
|
|
|
+-+ dmas = <&dmac1 9>;
|
|
|
|
+-+ dma-names = "rx";
|
|
|
|
+-+ pinctrl-0 = <&pdmm0_clk
|
|
|
|
+-+ &pdmm0_clk1
|
|
|
|
+-+ &pdmm0_sdi0
|
|
|
|
+-+ &pdmm0_sdi1
|
|
|
|
+-+ &pdmm0_sdi2
|
|
|
|
+-+ &pdmm0_sdi3>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- dmac0: dmac@fe530000 {
|
|
|
|
+- compatible = "arm,pl330", "arm,primecell";
|
|
|
|
+- reg = <0x0 0xfe530000 0x0 0x4000>;
|
|
|
|
+-@@ -1487,47 +1491,15 @@
|
|
|
|
+- status = "disabled";
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- combphy1_usq: phy@fe830000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-- reg = <0x0 0xfe830000 0x0 0x100>;
|
|
|
|
+-- #phy-cells = <1>;
|
|
|
|
+-- assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
|
|
|
|
+-- assigned-clock-rates = <100000000>;
|
|
|
|
+-- clocks = <&pmucru CLK_PCIEPHY1_REF>, <&cru PCLK_PIPEPHY1>,
|
|
|
|
+-- <&cru PCLK_PIPE>;
|
|
|
|
+-- clock-names = "ref", "apb", "pipe";
|
|
|
|
+-- resets = <&cru SRST_P_PIPEPHY1>, <&cru SRST_PIPEPHY1>;
|
|
|
|
+-- reset-names = "combphy-apb", "combphy";
|
|
|
|
+-- rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-- rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- combphy2_psq: phy@fe840000 {
|
|
|
|
+-- compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-- reg = <0x0 0xfe840000 0x0 0x100>;
|
|
|
|
+-- #phy-cells = <1>;
|
|
|
|
+-- assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
|
|
|
|
+-- assigned-clock-rates = <100000000>;
|
|
|
|
+-- clocks = <&pmucru CLK_PCIEPHY2_REF>, <&cru PCLK_PIPEPHY2>,
|
|
|
|
+-- <&cru PCLK_PIPE>;
|
|
|
|
+-- clock-names = "ref", "apb", "pipe";
|
|
|
|
+-- resets = <&cru SRST_P_PIPEPHY2>, <&cru SRST_PIPEPHY2>;
|
|
|
|
+-- reset-names = "combphy-apb", "combphy";
|
|
|
|
+-- rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-- rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
|
|
|
|
+-- status = "disabled";
|
|
|
|
+-- };
|
|
|
|
+--
|
|
|
|
+-- usb2phy0: usb2-phy@fe8a0000 {
|
|
|
|
+-+ u2phy0: usb2phy@fe8a0000 {
|
|
|
|
+- compatible = "rockchip,rk3568-usb2phy";
|
|
|
|
+- reg = <0x0 0xfe8a0000 0x0 0x10000>;
|
|
|
|
+- clocks = <&pmucru CLK_USBPHY0_REF>;
|
|
|
|
+- clock-names = "phyclk";
|
|
|
|
+-- #clock-cells = <0>;
|
|
|
|
+-- clock-output-names = "usb480m_phy";
|
|
|
|
+-+ clock-output-names = "clk_usbphy0_480m";
|
|
|
|
+- interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- rockchip,usbgrf = <&usb2phy0_grf>;
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+-
|
|
|
|
+- u2phy0_host: host-port {
|
|
|
|
+-@@ -1541,14 +1513,15 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-- usb2phy1: usb2-phy@fe8b0000 {
|
|
|
|
+-+ u2phy1: usb2phy@fe8b0000 {
|
|
|
|
+- compatible = "rockchip,rk3568-usb2phy";
|
|
|
|
+- reg = <0x0 0xfe8b0000 0x0 0x10000>;
|
|
|
|
+- clocks = <&pmucru CLK_USBPHY1_REF>;
|
|
|
|
+- clock-names = "phyclk";
|
|
|
|
+-- #clock-cells = <0>;
|
|
|
|
+-+ clock-output-names = "clk_usbphy1_480m";
|
|
|
|
+- interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
+- rockchip,usbgrf = <&usb2phy1_grf>;
|
|
|
|
+-+ #clock-cells = <0>;
|
|
|
|
+- status = "disabled";
|
|
|
|
+-
|
|
|
|
+- u2phy1_host: host-port {
|
|
|
|
+-@@ -1562,6 +1535,38 @@
|
|
|
|
+- };
|
|
|
|
+- };
|
|
|
|
+-
|
|
|
|
+-+ combphy1: phy@fe830000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-+ reg = <0x0 0xfe830000 0x0 0x100>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PCIEPHY1_REF>,
|
|
|
|
+-+ <&cru PCLK_PIPEPHY1>,
|
|
|
|
+-+ <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref", "apb", "pipe";
|
|
|
|
+-+ assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
|
|
|
|
+-+ assigned-clock-rates = <100000000>;
|
|
|
|
+-+ resets = <&cru SRST_PIPEPHY1>;
|
|
|
|
+-+ rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-+ rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
|
|
|
|
+-+ #phy-cells = <1>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ combphy2: phy@fe840000 {
|
|
|
|
+-+ compatible = "rockchip,rk3568-naneng-combphy";
|
|
|
|
+-+ reg = <0x0 0xfe840000 0x0 0x100>;
|
|
|
|
+-+ clocks = <&pmucru CLK_PCIEPHY2_REF>,
|
|
|
|
+-+ <&cru PCLK_PIPEPHY2>,
|
|
|
|
+-+ <&cru PCLK_PIPE>;
|
|
|
|
+-+ clock-names = "ref", "apb", "pipe";
|
|
|
|
+-+ assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
|
|
|
|
+-+ assigned-clock-rates = <100000000>;
|
|
|
|
+-+ resets = <&cru SRST_PIPEPHY2>;
|
|
|
|
+-+ rockchip,pipe-grf = <&pipegrf>;
|
|
|
|
+-+ rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
|
|
|
|
+-+ #phy-cells = <1>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+- pinctrl: pinctrl {
|
|
|
|
+- compatible = "rockchip,rk3568-pinctrl";
|
|
|
|
+- rockchip,grf = <&grf>;
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/include/dt-bindings/soc/rockchip,vop2.h
|
|
|
|
+-@@ -0,0 +1,14 @@
|
|
|
|
+-+/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
|
|
|
|
+-+
|
|
|
|
+-+#ifndef __DT_BINDINGS_ROCKCHIP_VOP2_H
|
|
|
|
+-+#define __DT_BINDINGS_ROCKCHIP_VOP2_H
|
|
|
|
+-+
|
|
|
|
+-+#define RK3568_VOP2_EP_RGB 0
|
|
|
|
+-+#define RK3568_VOP2_EP_HDMI 1
|
|
|
|
+-+#define RK3568_VOP2_EP_EDP 2
|
|
|
|
+-+#define RK3568_VOP2_EP_MIPI0 3
|
|
|
|
+-+#define RK3568_VOP2_EP_LVDS0 4
|
|
|
|
+-+#define RK3568_VOP2_EP_MIPI1 5
|
|
|
|
+-+#define RK3568_VOP2_EP_LVDS1 6
|
|
|
|
+-+
|
|
|
|
+-+#endif /* __DT_BINDINGS_ROCKCHIP_VOP2_H */
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/013-rockchip-rk356x-add-bpi-r2-pro-board.patch b/package/boot/uboot-rockchip/patches/013-rockchip-rk356x-add-bpi-r2-pro-board.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 0728caea486a..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/013-rockchip-rk356x-add-bpi-r2-pro-board.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,795 +0,0 @@
|
|
|
|
+-From 89d609d74e4ef84e0e3d399d8763b268b60302fc Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Marty Jones <[email protected]>
|
|
|
|
+-Date: Sat, 28 May 2022 20:19:38 -0400
|
|
|
|
+-Subject: [PATCH] rockchip: rk356x: add bpi r2 pro board
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Marty Jones <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/Makefile | 1 +
|
|
|
|
+- arch/arm/dts/rk3568-bpi-r2-pro-u-boot.dtsi | 47 ++
|
|
|
|
+- arch/arm/dts/rk3568-bpi-r2-pro.dts | 532 ++++++++++++++++++
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/Kconfig | 6 +
|
|
|
|
+- board/rockchip/bpi-r2-pro-rk3568/Kconfig | 15 +
|
|
|
|
+- board/rockchip/bpi-r2-pro-rk3568/Makefile | 7 +
|
|
|
|
+- .../bpi-r2-pro-rk3568/bpi-r2-pro-rk3568.c | 4 +
|
|
|
|
+- configs/bpi-r2-pro-rk3568_defconfig | 97 ++++
|
|
|
|
+- include/configs/bpi-r2-pro-rk3568.h | 15 +
|
|
|
|
+- 9 files changed, 724 insertions(+)
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3568-bpi-r2-pro-u-boot.dtsi
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3568-bpi-r2-pro.dts
|
|
|
|
+- create mode 100644 board/rockchip/bpi-r2-pro-rk3568/Kconfig
|
|
|
|
+- create mode 100644 board/rockchip/bpi-r2-pro-rk3568/Makefile
|
|
|
|
+- create mode 100644 board/rockchip/bpi-r2-pro-rk3568/bpi-r2-pro-rk3568.c
|
|
|
|
+- create mode 100644 configs/bpi-r2-pro-rk3568_defconfig
|
|
|
|
+- create mode 100644 include/configs/bpi-r2-pro-rk3568.h
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/Makefile
|
|
|
|
+-+++ b/arch/arm/dts/Makefile
|
|
|
|
+-@@ -164,6 +164,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
+- rk3399pro-rock-pi-n10.dtb
|
|
|
|
+-
|
|
|
|
+- dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+-+ rk3568-bpi-r2-pro.dtb \
|
|
|
|
+- rk3568-evb.dtb \
|
|
|
|
+- rk3566-quartz64-a.dtb
|
|
|
|
+-
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3568-bpi-r2-pro-u-boot.dtsi
|
|
|
|
+-@@ -0,0 +1,47 @@
|
|
|
|
+-+// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+/*
|
|
|
|
+-+ * (C) Copyright 2021 Rockchip Electronics Co., Ltd
|
|
|
|
+-+ */
|
|
|
|
+-+
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ chosen {
|
|
|
|
+-+ stdout-path = &uart2;
|
|
|
|
+-+ u-boot,spl-boot-order = "same-as-spl", &sdmmc0, &sdhci;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gmac1 {
|
|
|
|
+-+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
|
|
|
+-+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+-+ u-boot,dm-spl;
|
|
|
|
+-+ u-boot,spl-fifo-mode;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ehci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ohci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ehci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ohci {
|
|
|
|
+-+ vbus-supply = <&vcc5v0_usb_host>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart2 {
|
|
|
|
+-+ clock-frequency = <24000000>;
|
|
|
|
+-+ u-boot,dm-spl;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3568-bpi-r2-pro.dts
|
|
|
|
+-@@ -0,0 +1,532 @@
|
|
|
|
+-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+-+/*
|
|
|
|
+-+ * Author: Frank Wunderlich <[email protected]>
|
|
|
|
+-+ *
|
|
|
|
+-+ */
|
|
|
|
+-+
|
|
|
|
+-+/dts-v1/;
|
|
|
|
+-+#include <dt-bindings/gpio/gpio.h>
|
|
|
|
+-+#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+-+#include <dt-bindings/leds/common.h>
|
|
|
|
+-+#include "rk3568.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ model = "Bananapi-R2 Pro (RK3568) DDR4 Board";
|
|
|
|
+-+ compatible = "rockchip,rk3568-bpi-r2pro", "rockchip,rk3568";
|
|
|
|
+-+
|
|
|
|
+-+ aliases {
|
|
|
|
+-+ ethernet0 = &gmac0;
|
|
|
|
+-+ ethernet1 = &gmac1;
|
|
|
|
+-+ mmc0 = &sdmmc0;
|
|
|
|
+-+ mmc1 = &sdhci;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ chosen: chosen {
|
|
|
|
+-+ stdout-path = "serial2:1500000n8";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ leds {
|
|
|
|
+-+ compatible = "gpio-leds";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&blue_led_pin &green_led_pin>;
|
|
|
|
+-+
|
|
|
|
+-+ blue_led: led-0 {
|
|
|
|
+-+ color = <LED_COLOR_ID_BLUE>;
|
|
|
|
+-+ default-state = "off";
|
|
|
|
+-+ function = LED_FUNCTION_STATUS;
|
|
|
|
+-+ gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ green_led: led-1 {
|
|
|
|
+-+ color = <LED_COLOR_ID_GREEN>;
|
|
|
|
+-+ default-state = "on";
|
|
|
|
+-+ function = LED_FUNCTION_POWER;
|
|
|
|
+-+ gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ dc_12v: dc-12v {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "dc_12v";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <12000000>;
|
|
|
|
+-+ regulator-max-microvolt = <12000000>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_sys: vcc3v3-sys {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc3v3_sys";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ vin-supply = <&dc_12v>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_sys: vcc5v0-sys {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_sys";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&dc_12v>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb: vcc5v0_usb {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_usb";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&dc_12v>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb_host: vcc5v0-usb-host {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb_host_en>;
|
|
|
|
+-+ regulator-name = "vcc5v0_usb_host";
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb_otg: vcc5v0-usb-otg {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb_otg_en>;
|
|
|
|
+-+ regulator-name = "vcc5v0_usb_otg";
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy0 {
|
|
|
|
+-+ /* used for USB3 */
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy1 {
|
|
|
|
+-+ /* used for USB3 */
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy2 {
|
|
|
|
+-+ /* used for SATA */
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gmac0 {
|
|
|
|
+-+ assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
|
|
|
|
+-+ assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
|
|
|
|
+-+ clock_in_out = "input";
|
|
|
|
+-+ phy-mode = "rgmii";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&gmac0_miim
|
|
|
|
+-+ &gmac0_tx_bus2
|
|
|
|
+-+ &gmac0_rx_bus2
|
|
|
|
+-+ &gmac0_rgmii_clk
|
|
|
|
+-+ &gmac0_rgmii_bus>;
|
|
|
|
+-+ snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ snps,reset-active-low;
|
|
|
|
+-+ /* Reset time is 20ms, 100ms for rtl8211f */
|
|
|
|
+-+ snps,reset-delays-us = <0 20000 100000>;
|
|
|
|
+-+ tx_delay = <0x4f>;
|
|
|
|
+-+ rx_delay = <0x0f>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+
|
|
|
|
+-+ fixed-link {
|
|
|
|
+-+ speed = <1000>;
|
|
|
|
+-+ full-duplex;
|
|
|
|
+-+ pause;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gmac1 {
|
|
|
|
+-+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
|
|
|
+-+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
|
|
|
|
+-+ clock_in_out = "output";
|
|
|
|
+-+ phy-handle = <&rgmii_phy1>;
|
|
|
|
+-+ phy-mode = "rgmii";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&gmac1m1_miim
|
|
|
|
+-+ &gmac1m1_tx_bus2
|
|
|
|
+-+ &gmac1m1_rx_bus2
|
|
|
|
+-+ &gmac1m1_rgmii_clk
|
|
|
|
+-+ &gmac1m1_rgmii_bus>;
|
|
|
|
+-+
|
|
|
|
+-+ snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ snps,reset-active-low;
|
|
|
|
+-+ /* Reset time is 20ms, 100ms for rtl8211f */
|
|
|
|
+-+ snps,reset-delays-us = <0 20000 100000>;
|
|
|
|
+-+
|
|
|
|
+-+ tx_delay = <0x3c>;
|
|
|
|
+-+ rx_delay = <0x2f>;
|
|
|
|
+-+
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2c0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+
|
|
|
|
+-+ rk809: pmic@20 {
|
|
|
|
+-+ compatible = "rockchip,rk809";
|
|
|
|
+-+ reg = <0x20>;
|
|
|
|
+-+ interrupt-parent = <&gpio0>;
|
|
|
|
+-+ interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
+-+ #clock-cells = <1>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&pmic_int>;
|
|
|
|
+-+ rockchip,system-power-controller;
|
|
|
|
+-+ vcc1-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc2-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc3-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc4-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc5-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc6-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc7-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc8-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc9-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ wakeup-source;
|
|
|
|
+-+
|
|
|
|
+-+ regulators {
|
|
|
|
+-+ vdd_logic: DCDC_REG1 {
|
|
|
|
+-+ regulator-name = "vdd_logic";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdd_gpu: DCDC_REG2 {
|
|
|
|
+-+ regulator-name = "vdd_gpu";
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_ddr: DCDC_REG3 {
|
|
|
|
+-+ regulator-name = "vcc_ddr";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdd_npu: DCDC_REG4 {
|
|
|
|
+-+ regulator-name = "vdd_npu";
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_1v8: DCDC_REG5 {
|
|
|
|
+-+ regulator-name = "vcc_1v8";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda0v9_image: LDO_REG1 {
|
|
|
|
+-+ regulator-name = "vdda0v9_image";
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda_0v9: LDO_REG2 {
|
|
|
|
+-+ regulator-name = "vdda_0v9";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda0v9_pmu: LDO_REG3 {
|
|
|
|
+-+ regulator-name = "vdda0v9_pmu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <900000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vccio_acodec: LDO_REG4 {
|
|
|
|
+-+ regulator-name = "vccio_acodec";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vccio_sd: LDO_REG5 {
|
|
|
|
+-+ regulator-name = "vccio_sd";
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_pmu: LDO_REG6 {
|
|
|
|
+-+ regulator-name = "vcc3v3_pmu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <3300000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca_1v8: LDO_REG7 {
|
|
|
|
+-+ regulator-name = "vcca_1v8";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca1v8_pmu: LDO_REG8 {
|
|
|
|
+-+ regulator-name = "vcca1v8_pmu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <1800000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca1v8_image: LDO_REG9 {
|
|
|
|
+-+ regulator-name = "vcca1v8_image";
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_3v3: SWITCH_REG1 {
|
|
|
|
+-+ regulator-name = "vcc_3v3";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_sd: SWITCH_REG2 {
|
|
|
|
+-+ regulator-name = "vcc3v3_sd";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2c5 {
|
|
|
|
+-+ /* pin 3 (SDA) + 4 (SCL) of header con2 */
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&mdio1 {
|
|
|
|
+-+ rgmii_phy1: ethernet-phy@0 {
|
|
|
|
+-+ compatible = "ethernet-phy-ieee802.3-c22";
|
|
|
|
+-+ reg = <0x0>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pinctrl {
|
|
|
|
+-+ leds {
|
|
|
|
+-+ blue_led_pin: blue-led-pin {
|
|
|
|
+-+ rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ green_led_pin: green-led-pin {
|
|
|
|
+-+ rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmic {
|
|
|
|
+-+ pmic_int: pmic_int {
|
|
|
|
+-+ rockchip,pins =
|
|
|
|
+-+ <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb {
|
|
|
|
+-+ vcc5v0_usb_host_en: vcc5v0_usb_host_en {
|
|
|
|
+-+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
|
|
|
|
+-+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pmu_io_domains {
|
|
|
|
+-+ pmuio1-supply = <&vcc3v3_pmu>;
|
|
|
|
+-+ pmuio2-supply = <&vcc3v3_pmu>;
|
|
|
|
+-+ vccio1-supply = <&vccio_acodec>;
|
|
|
|
+-+ vccio3-supply = <&vccio_sd>;
|
|
|
|
+-+ vccio4-supply = <&vcc_3v3>;
|
|
|
|
+-+ vccio5-supply = <&vcc_3v3>;
|
|
|
|
+-+ vccio6-supply = <&vcc_1v8>;
|
|
|
|
+-+ vccio7-supply = <&vcc_3v3>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pwm8 {
|
|
|
|
+-+ /* fan 5v - gnd - pwm */
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pwm10 {
|
|
|
|
+-+ /* pin 7 of header con2 */
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pwm11 {
|
|
|
|
+-+ /* pin 15 of header con2 */
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+
|
|
|
|
+-+&pwm13 {
|
|
|
|
+-+ /* pin 24 of header con2 */
|
|
|
|
+-+ /* shared with uart9 */
|
|
|
|
+-+ pinctrl-0 = <&pwm13m1_pins>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&saradc {
|
|
|
|
+-+ vref-supply = <&vcca_1v8>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sata2 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdhci {
|
|
|
|
+-+ bus-width = <8>;
|
|
|
|
+-+ max-frequency = <200000000>;
|
|
|
|
+-+ non-removable;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+-+ cap-sd-highspeed;
|
|
|
|
+-+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ disable-wp;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
|
|
|
+-+ sd-uhs-sdr104;
|
|
|
|
+-+ vmmc-supply = <&vcc3v3_sd>;
|
|
|
|
+-+ vqmmc-supply = <&vccio_sd>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&tsadc {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart0 {
|
|
|
|
+-+ /* pin 8 (TX) + 10 (RX) (RTS:16, CTS:18) of header con2 */
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart2 {
|
|
|
|
+-+ /* debug-uart */
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart7 {
|
|
|
|
+-+ /* pin 11 (TX) + 13 (RX) of header con2 */
|
|
|
|
+-+ pinctrl-0 = <&uart7m1_xfer>;
|
|
|
|
+-+ status = "disabled";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ehci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ohci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ehci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ohci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/Kconfig
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/Kconfig
|
|
|
|
+-@@ -3,6 +3,11 @@ if ROCKCHIP_RK3568
|
|
|
|
+- choice
|
|
|
|
+- prompt "RK3568/RK3566 board select"
|
|
|
|
+-
|
|
|
|
+-+config TARGET_BPI_R2_PRO_RK3568
|
|
|
|
+-+ bool "Banana Pi R2 Pro RK3566 development board"
|
|
|
|
+-+ help
|
|
|
|
+-+ Banana Pi R2 Pro is a development board Rockchp RK3568.
|
|
|
|
+-+
|
|
|
|
+- config TARGET_EVB_RK3568
|
|
|
|
+- bool "RK3568 evaluation board"
|
|
|
|
+- help
|
|
|
|
+-@@ -27,6 +32,7 @@ config SYS_SOC
|
|
|
|
+- config SYS_MALLOC_F_LEN
|
|
|
|
+- default 0x2000
|
|
|
|
+-
|
|
|
|
+-+source "board/rockchip/bpi-r2-pro-rk3568/Kconfig"
|
|
|
|
+- source "board/rockchip/evb_rk3568/Kconfig"
|
|
|
|
+- source "board/pine64/quartz64-a-rk3566/Kconfig"
|
|
|
|
+-
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/rockchip/bpi-r2-pro-rk3568/Kconfig
|
|
|
|
+-@@ -0,0 +1,15 @@
|
|
|
|
+-+if TARGET_BPI_R2_PRO_RK3568
|
|
|
|
+-+
|
|
|
|
+-+config SYS_BOARD
|
|
|
|
+-+ default "bpi-r2-pro-rk3568"
|
|
|
|
+-+
|
|
|
|
+-+config SYS_VENDOR
|
|
|
|
+-+ default "rockchip"
|
|
|
|
+-+
|
|
|
|
+-+config SYS_CONFIG_NAME
|
|
|
|
+-+ default "bpi-r2-pro-rk3568"
|
|
|
|
+-+
|
|
|
|
+-+config BOARD_SPECIFIC_OPTIONS # dummy
|
|
|
|
+-+ def_bool y
|
|
|
|
+-+
|
|
|
|
+-+endif
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/rockchip/bpi-r2-pro-rk3568/Makefile
|
|
|
|
+-@@ -0,0 +1,7 @@
|
|
|
|
+-+#
|
|
|
|
+-+# (C) Copyright 2021 Rockchip Electronics Co., Ltd
|
|
|
|
+-+#
|
|
|
|
+-+# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+#
|
|
|
|
+-+
|
|
|
|
+-+obj-y += bpi-r2-pro-rk3568.o
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/rockchip/bpi-r2-pro-rk3568/bpi-r2-pro-rk3568.c
|
|
|
|
+-@@ -0,0 +1,4 @@
|
|
|
|
+-+// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+/*
|
|
|
|
+-+ * (C) Copyright 2021 Rockchip Electronics Co., Ltd
|
|
|
|
+-+ */
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/configs/bpi-r2-pro-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,97 @@
|
|
|
|
+-+CONFIG_ARM=y
|
|
|
|
+-+CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+-+CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+-+CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+-+CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+-+CONFIG_DEFAULT_DEVICE_TREE="rk3568-bpi-r2-pro"
|
|
|
|
+-+CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+-+CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+-+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+-+CONFIG_SPL_MMC=y
|
|
|
|
+-+CONFIG_SPL_SERIAL=y
|
|
|
|
+-+CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+-+CONFIG_TARGET_BPI_R2_PRO_RK3568=y
|
|
|
|
+-+CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+-+CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+-+CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+-+CONFIG_FIT=y
|
|
|
|
+-+CONFIG_FIT_VERBOSE=y
|
|
|
|
+-+CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+-+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-bpi-r2-pro.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+-+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+-+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-+CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+-+CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_ATF_LOAD_IMAGE_V2=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+-+CONFIG_CMD_GPIO=y
|
|
|
|
+-+CONFIG_CMD_GPT=y
|
|
|
|
+-+CONFIG_CMD_I2C=y
|
|
|
|
+-+CONFIG_CMD_MMC=y
|
|
|
|
+-+CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+-+CONFIG_CMD_REGULATOR=y
|
|
|
|
+-+# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+-+CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+-+CONFIG_OF_LIVE=y
|
|
|
|
+-+CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+-+CONFIG_SPL_REGMAP=y
|
|
|
|
+-+CONFIG_SPL_SYSCON=y
|
|
|
|
+-+CONFIG_SPL_CLK=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+-+CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+-+CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_MMC_DW=y
|
|
|
|
+-+CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+-+CONFIG_MMC_SDHCI=y
|
|
|
|
+-+CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+-+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+-+CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+-+CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+-+CONFIG_DM_PMIC=y
|
|
|
|
+-+CONFIG_PMIC_RK8XX=y
|
|
|
|
+-+CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+-+CONFIG_REGULATOR_PWM=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+-+CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+-+CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+-+CONFIG_BAUDRATE=1500000
|
|
|
|
+-+CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+-+CONFIG_SYSRESET=y
|
|
|
|
+-+CONFIG_SYSRESET_PSCI=y
|
|
|
|
+-+CONFIG_USB=y
|
|
|
|
+-+CONFIG_USB_XHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+-+CONFIG_USB_EHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_DWC3=y
|
|
|
|
+-+CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+-+CONFIG_ERRNO_STR=y
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/include/configs/bpi-r2-pro-rk3568.h
|
|
|
|
+-@@ -0,0 +1,15 @@
|
|
|
|
+-+#ifndef __BPI_R2_PRO_RK3568_H
|
|
|
|
+-+#define __BPI_R2_PRO_RK3568_H
|
|
|
|
+-+
|
|
|
|
+-+#include <configs/rk3568_common.h>
|
|
|
|
+-+
|
|
|
|
+-+#define CONFIG_SUPPORT_EMMC_RPMB
|
|
|
|
+-+
|
|
|
|
+-+#define ROCKCHIP_DEVICE_SETTINGS \
|
|
|
|
+-+ "stdout=serial,vidconsole\0" \
|
|
|
|
+-+ "stderr=serial,vidconsole\0"
|
|
|
|
+-+
|
|
|
|
+-+#define CONFIG_USB_OHCI_NEW
|
|
|
|
+-+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
|
|
|
+-+
|
|
|
|
+-+#endif
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/014-uboot-add-Radxa-ROCK-3A-board.patch b/package/boot/uboot-rockchip/patches/014-uboot-add-Radxa-ROCK-3A-board.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 4f38e6951820..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/014-uboot-add-Radxa-ROCK-3A-board.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,690 +0,0 @@
|
|
|
|
+-From 443eb96a82563a3b38a3c9548853a5a266dfd072 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Marty Jones <[email protected]>
|
|
|
|
+-Date: Sun, 29 May 2022 06:09:59 -0400
|
|
|
|
+-Subject: [PATCH] uboot: add Radxa ROCK 3A board
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Marty Jones <[email protected]>
|
|
|
|
+----
|
|
|
|
+- arch/arm/dts/Makefile | 3 +-
|
|
|
|
+- arch/arm/dts/rk3568-rock-3a-u-boot.dtsi | 25 +
|
|
|
|
+- arch/arm/dts/rk3568-rock-3a.dts | 525 ++++++++++++++++++++
|
|
|
|
+- arch/arm/mach-rockchip/rk3568/Kconfig | 6 +
|
|
|
|
+- board/radxa/rock-3a-rk3568/Kconfig | 15 +
|
|
|
|
+- board/radxa/rock-3a-rk3568/Makefile | 4 +
|
|
|
|
+- board/radxa/rock-3a-rk3568/rock-3a-rk3568.c | 1 +
|
|
|
|
+- configs/rock-3a-rk3568_defconfig | 97 ++++
|
|
|
|
+- include/configs/rock-3a-rk3568.h | 17 +
|
|
|
|
+- 9 files changed, 692 insertions(+), 1 deletion(-)
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
|
|
|
|
+- create mode 100644 arch/arm/dts/rk3568-rock-3a.dts
|
|
|
|
+- create mode 100644 configs/rock-3a-rk3568_defconfig
|
|
|
|
+- create mode 100644 include/configs/rock-3a-rk3568.h
|
|
|
|
+-
|
|
|
|
+---- a/arch/arm/dts/Makefile
|
|
|
|
+-+++ b/arch/arm/dts/Makefile
|
|
|
|
+-@@ -166,7 +166,8 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
+- dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+- rk3568-bpi-r2-pro.dtb \
|
|
|
|
+- rk3568-evb.dtb \
|
|
|
|
+-- rk3566-quartz64-a.dtb
|
|
|
|
+-+ rk3566-quartz64-a.dtb \
|
|
|
|
+-+ rk3568-rock-3a.dtb
|
|
|
|
+-
|
|
|
|
+- dtb-$(CONFIG_ROCKCHIP_RV1108) += \
|
|
|
|
+- rv1108-elgin-r1.dtb \
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
|
|
|
|
+-@@ -0,0 +1,24 @@
|
|
|
|
+-+// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+/*
|
|
|
|
+-+ * (C) Copyright 2021 Rockchip Electronics Co., Ltd
|
|
|
|
+-+ */
|
|
|
|
+-+
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ chosen {
|
|
|
|
+-+ stdout-path = &uart2;
|
|
|
|
+-+ u-boot,spl-boot-order = "same-as-spl", &sdmmc0, &sdhci;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+-+ u-boot,spl-fifo-mode;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart2 {
|
|
|
|
+-+ u-boot,dm-spl;
|
|
|
|
+-+ clock-frequency = <24000000>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/arch/arm/dts/rk3568-rock-3a.dts
|
|
|
|
+-@@ -0,0 +1,525 @@
|
|
|
|
+-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+-+
|
|
|
|
+-+/dts-v1/;
|
|
|
|
+-+#include <dt-bindings/gpio/gpio.h>
|
|
|
|
+-+#include <dt-bindings/leds/common.h>
|
|
|
|
+-+#include <dt-bindings/pinctrl/rockchip.h>
|
|
|
|
+-+#include "rk3568.dtsi"
|
|
|
|
+-+
|
|
|
|
+-+/ {
|
|
|
|
+-+ model = "Radxa ROCK3 Model A";
|
|
|
|
+-+ compatible = "radxa,rock3a", "rockchip,rk3568";
|
|
|
|
+-+
|
|
|
|
+-+ aliases {
|
|
|
|
+-+ ethernet0 = &gmac1;
|
|
|
|
+-+ mmc0 = &sdmmc0;
|
|
|
|
+-+ mmc1 = &sdhci;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ chosen: chosen {
|
|
|
|
+-+ stdout-path = "serial2:1500000n8";
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ leds {
|
|
|
|
+-+ compatible = "gpio-leds";
|
|
|
|
+-+
|
|
|
|
+-+ led_user: led-0 {
|
|
|
|
+-+ gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ function = LED_FUNCTION_HEARTBEAT;
|
|
|
|
+-+ color = <LED_COLOR_ID_BLUE>;
|
|
|
|
+-+ linux,default-trigger = "heartbeat";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&led_user_en>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ rk809-sound {
|
|
|
|
+-+ compatible = "simple-audio-card";
|
|
|
|
+-+ simple-audio-card,format = "i2s";
|
|
|
|
+-+ simple-audio-card,name = "Analog RK809";
|
|
|
|
+-+ simple-audio-card,mclk-fs = <256>;
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,cpu {
|
|
|
|
+-+ sound-dai = <&i2s1_8ch>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ simple-audio-card,codec {
|
|
|
|
+-+ sound-dai = <&rk809>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc12v_dcin: vcc12v-dcin {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc12v_dcin";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_sys: vcc3v3-sys {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc3v3_sys";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+ vin-supply = <&vcc12v_dcin>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_sys: vcc5v0-sys {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_sys";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc12v_dcin>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb: vcc5v0-usb {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ regulator-name = "vcc5v0_usb";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc12v_dcin>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb_host: vcc5v0-usb-host {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb_host_en>;
|
|
|
|
+-+ regulator-name = "vcc5v0_usb_host";
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb_hub: vcc5v0-usb-hub-regulator {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb_hub_en>;
|
|
|
|
+-+ regulator-name = "vcc5v0_usb_hub";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc5v0_usb_otg: vcc5v0-usb-otg-regulator {
|
|
|
|
+-+ compatible = "regulator-fixed";
|
|
|
|
+-+ enable-active-high;
|
|
|
|
+-+ gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&vcc5v0_usb_otg_en>;
|
|
|
|
+-+ regulator-name = "vcc5v0_usb_otg";
|
|
|
|
+-+ regulator-min-microvolt = <5000000>;
|
|
|
|
+-+ regulator-max-microvolt = <5000000>;
|
|
|
|
+-+ vin-supply = <&vcc5v0_usb>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&combphy1 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu0 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu1 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu2 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&cpu3 {
|
|
|
|
+-+ cpu-supply = <&vdd_cpu>;
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gmac1 {
|
|
|
|
+-+ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
|
|
|
|
+-+ assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>;
|
|
|
|
+-+ assigned-clock-rates = <0>, <125000000>;
|
|
|
|
+-+ clock_in_out = "output";
|
|
|
|
+-+ phy-handle = <&rgmii_phy1>;
|
|
|
|
+-+ phy-mode = "rgmii-id";
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&gmac1m1_miim
|
|
|
|
+-+ &gmac1m1_tx_bus2
|
|
|
|
+-+ &gmac1m1_rx_bus2
|
|
|
|
+-+ &gmac1m1_rgmii_clk
|
|
|
|
+-+ &gmac1m1_rgmii_bus>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&gpu {
|
|
|
|
+-+ mali-supply = <&vdd_gpu>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2c0 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+
|
|
|
|
+-+ vdd_cpu: regulator@1c {
|
|
|
|
+-+ compatible = "tcs,tcs4525";
|
|
|
|
+-+ reg = <0x1c>;
|
|
|
|
+-+ fcs,suspend-voltage-selector = <1>;
|
|
|
|
+-+ regulator-name = "vdd_cpu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1150000>;
|
|
|
|
+-+ regulator-ramp-delay = <2300>;
|
|
|
|
+-+ vin-supply = <&vcc5v0_sys>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ rk809: pmic@20 {
|
|
|
|
+-+ compatible = "rockchip,rk809";
|
|
|
|
+-+ reg = <0x20>;
|
|
|
|
+-+ interrupt-parent = <&gpio0>;
|
|
|
|
+-+ interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
+-+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
|
|
+-+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
|
|
|
+-+ #clock-cells = <1>;
|
|
|
|
+-+ clock-names = "mclk";
|
|
|
|
+-+ clocks = <&cru I2S1_MCLKOUT_TX>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
|
|
|
|
+-+ rockchip,system-power-controller;
|
|
|
|
+-+ #sound-dai-cells = <0>;
|
|
|
|
+-+ vcc1-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc2-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc3-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc4-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc5-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc6-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc7-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc8-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ vcc9-supply = <&vcc3v3_sys>;
|
|
|
|
+-+ wakeup-source;
|
|
|
|
+-+
|
|
|
|
+-+ regulators {
|
|
|
|
+-+ vdd_logic: DCDC_REG1 {
|
|
|
|
+-+ regulator-name = "vdd_logic";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdd_gpu: DCDC_REG2 {
|
|
|
|
+-+ regulator-name = "vdd_gpu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_ddr: DCDC_REG3 {
|
|
|
|
+-+ regulator-name = "vcc_ddr";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdd_npu: DCDC_REG4 {
|
|
|
|
+-+ regulator-name = "vdd_npu";
|
|
|
|
+-+ regulator-init-microvolt = <900000>;
|
|
|
|
+-+ regulator-initial-mode = <0x2>;
|
|
|
|
+-+ regulator-min-microvolt = <500000>;
|
|
|
|
+-+ regulator-max-microvolt = <1350000>;
|
|
|
|
+-+ regulator-ramp-delay = <6001>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_1v8: DCDC_REG5 {
|
|
|
|
+-+ regulator-name = "vcc_1v8";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda0v9_image: LDO_REG1 {
|
|
|
|
+-+ regulator-name = "vdda0v9_image";
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda_0v9: LDO_REG2 {
|
|
|
|
+-+ regulator-name = "vdda_0v9";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vdda0v9_pmu: LDO_REG3 {
|
|
|
|
+-+ regulator-name = "vdda0v9_pmu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <900000>;
|
|
|
|
+-+ regulator-max-microvolt = <900000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <900000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vccio_acodec: LDO_REG4 {
|
|
|
|
+-+ regulator-name = "vccio_acodec";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vccio_sd: LDO_REG5 {
|
|
|
|
+-+ regulator-name = "vccio_sd";
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_pmu: LDO_REG6 {
|
|
|
|
+-+ regulator-name = "vcc3v3_pmu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <3300000>;
|
|
|
|
+-+ regulator-max-microvolt = <3300000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <3300000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca_1v8: LDO_REG7 {
|
|
|
|
+-+ regulator-name = "vcca_1v8";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca1v8_pmu: LDO_REG8 {
|
|
|
|
+-+ regulator-name = "vcca1v8_pmu";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-on-in-suspend;
|
|
|
|
+-+ regulator-suspend-microvolt = <1800000>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcca1v8_image: LDO_REG9 {
|
|
|
|
+-+ regulator-name = "vcca1v8_image";
|
|
|
|
+-+ regulator-min-microvolt = <1800000>;
|
|
|
|
+-+ regulator-max-microvolt = <1800000>;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc_3v3: SWITCH_REG1 {
|
|
|
|
+-+ regulator-name = "vcc_3v3";
|
|
|
|
+-+ regulator-always-on;
|
|
|
|
+-+ regulator-boot-on;
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ vcc3v3_sd: SWITCH_REG2 {
|
|
|
|
+-+ regulator-name = "vcc3v3_sd";
|
|
|
|
+-+
|
|
|
|
+-+ regulator-state-mem {
|
|
|
|
+-+ regulator-off-in-suspend;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ codec {
|
|
|
|
+-+ mic-in-differential;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&i2s1_8ch {
|
|
|
|
+-+ rockchip,trcm-sync-tx-only;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&mdio1 {
|
|
|
|
+-+ rgmii_phy1: ethernet-phy@0 {
|
|
|
|
+-+ compatible = "ethernet-phy-ieee802.3-c22";
|
|
|
|
+-+ reg = <0x0>;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <ð_phy_rst>;
|
|
|
|
+-+ reset-assert-us = <20000>;
|
|
|
|
+-+ reset-deassert-us = <100000>;
|
|
|
|
+-+ reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pinctrl {
|
|
|
|
+-+ ethernet {
|
|
|
|
+-+ eth_phy_rst: eth_phy_rst {
|
|
|
|
+-+ rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ leds {
|
|
|
|
+-+ led_user_en: led_user_en {
|
|
|
|
+-+ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ pmic {
|
|
|
|
+-+ pmic_int: pmic_int {
|
|
|
|
+-+ rockchip,pins =
|
|
|
|
+-+ <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+
|
|
|
|
+-+ usb {
|
|
|
|
+-+ vcc5v0_usb_host_en: vcc5v0_usb_host_en {
|
|
|
|
+-+ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ vcc5v0_usb_hub_en: vcc5v0_usb_hub_en {
|
|
|
|
+-+ rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
|
|
|
|
+-+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
|
|
+-+ };
|
|
|
|
+-+ };
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&pmu_io_domains {
|
|
|
|
+-+ pmuio1-supply = <&vcc3v3_pmu>;
|
|
|
|
+-+ pmuio2-supply = <&vcc3v3_pmu>;
|
|
|
|
+-+ vccio1-supply = <&vccio_acodec>;
|
|
|
|
+-+ vccio2-supply = <&vcc_1v8>;
|
|
|
|
+-+ vccio3-supply = <&vccio_sd>;
|
|
|
|
+-+ vccio4-supply = <&vcc_1v8>;
|
|
|
|
+-+ vccio5-supply = <&vcc_3v3>;
|
|
|
|
+-+ vccio6-supply = <&vcc_1v8>;
|
|
|
|
+-+ vccio7-supply = <&vcc_3v3>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&saradc {
|
|
|
|
+-+ vref-supply = <&vcca_1v8>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdhci {
|
|
|
|
+-+ bus-width = <8>;
|
|
|
|
+-+ max-frequency = <200000000>;
|
|
|
|
+-+ non-removable;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
|
|
|
|
+-+ vmmc-supply = <&vcc_3v3>;
|
|
|
|
+-+ vqmmc-supply = <&vcc_1v8>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&sdmmc0 {
|
|
|
|
+-+ bus-width = <4>;
|
|
|
|
+-+ cap-sd-highspeed;
|
|
|
|
+-+ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
|
|
+-+ disable-wp;
|
|
|
|
+-+ pinctrl-names = "default";
|
|
|
|
+-+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
|
|
|
|
+-+ sd-uhs-sdr104;
|
|
|
|
+-+ vmmc-supply = <&vcc3v3_sd>;
|
|
|
|
+-+ vqmmc-supply = <&vccio_sd>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&tsadc {
|
|
|
|
+-+ rockchip,hw-tshut-mode = <1>;
|
|
|
|
+-+ rockchip,hw-tshut-polarity = <0>;
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&uart2 {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ehci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host0_ohci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ehci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+-+
|
|
|
|
+-+&usb_host1_ohci {
|
|
|
|
+-+ status = "okay";
|
|
|
|
+-+};
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/configs/rock-3a-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,98 @@
|
|
|
|
+-+CONFIG_ARM=y
|
|
|
|
+-+CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+-+CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+-+CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+-+CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+-+CONFIG_DEFAULT_DEVICE_TREE="rk3568-rock-3a"
|
|
|
|
+-+CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+-+CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+-+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+-+CONFIG_SPL_MMC=y
|
|
|
|
+-+CONFIG_SPL_SERIAL=y
|
|
|
|
+-+CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+-+CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+-+CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+-+CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+-+CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+-+CONFIG_FIT=y
|
|
|
|
+-+CONFIG_FIT_VERBOSE=y
|
|
|
|
+-+CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+-+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-rock-3a.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+-+# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+-+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+-+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-+CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+-+CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_ATF_LOAD_IMAGE_V2=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+-+CONFIG_CMD_GPIO=y
|
|
|
|
+-+CONFIG_CMD_GPT=y
|
|
|
|
+-+CONFIG_CMD_I2C=y
|
|
|
|
+-+CONFIG_CMD_MMC=y
|
|
|
|
+-+CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+-+CONFIG_CMD_REGULATOR=y
|
|
|
|
+-+# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+-+CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+-+CONFIG_OF_LIVE=y
|
|
|
|
+-+CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+-+CONFIG_SPL_REGMAP=y
|
|
|
|
+-+CONFIG_SPL_SYSCON=y
|
|
|
|
+-+CONFIG_SPL_CLK=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+-+CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+-+CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_MMC_DW=y
|
|
|
|
+-+CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+-+CONFIG_MMC_SDHCI=y
|
|
|
|
+-+CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+-+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+-+CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+-+CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+-+CONFIG_DM_PMIC=y
|
|
|
|
+-+CONFIG_PMIC_RK8XX=y
|
|
|
|
+-+CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+-+CONFIG_REGULATOR_PWM=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+-+CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+-+CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+-+CONFIG_BAUDRATE=1500000
|
|
|
|
+-+CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+-+CONFIG_SYSRESET=y
|
|
|
|
+-+CONFIG_SYSRESET_PSCI=y
|
|
|
|
+-+CONFIG_USB=y
|
|
|
|
+-+CONFIG_USB_XHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+-+CONFIG_USB_EHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_DWC3=y
|
|
|
|
+-+CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+-+CONFIG_ERRNO_STR=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/015-uboot-add-NanoPi-R5S-board.patch b/package/boot/uboot-rockchip/patches/015-uboot-add-NanoPi-R5S-board.patch
|
|
|
|
+index b527a261e9ce..f85455cba7ab 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/015-uboot-add-NanoPi-R5S-board.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/015-uboot-add-NanoPi-R5S-board.patch
|
|
|
|
+@@ -26,11 +26,11 @@ Signed-off-by: Marty Jones <[email protected]>
|
|
|
|
+ --- a/arch/arm/dts/Makefile
|
|
|
|
+ +++ b/arch/arm/dts/Makefile
|
|
|
|
+ @@ -166,6 +166,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
++
|
|
|
|
+ dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+- rk3568-bpi-r2-pro.dtb \
|
|
|
|
+ rk3568-evb.dtb \
|
|
|
|
+ + rk3568-nanopi-r5s.dtb \
|
|
|
|
+- rk3566-quartz64-a.dtb \
|
|
|
|
++ rk3566-radxa-cm3-io.dtb \
|
|
|
|
+ rk3568-rock-3a.dtb
|
|
|
|
+
|
|
|
|
+ --- /dev/null
|
|
|
|
+@@ -41,7 +41,7 @@ Signed-off-by: Marty Jones <[email protected]>
|
|
|
|
+ + * (C) Copyright 2021 Rockchip Electronics Co., Ltd
|
|
|
|
+ + */
|
|
|
|
+ +
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+++#include "rk356x-u-boot.dtsi"
|
|
|
|
+ +
|
|
|
|
+ +/ {
|
|
|
|
+ + chosen {
|
|
|
|
+@@ -73,175 +73,97 @@ Signed-off-by: Marty Jones <[email protected]>
|
|
|
|
+ + model = "FriendlyElec NanoPi R5S";
|
|
|
|
+ + compatible = "friendlyelec,nanopi-r5s", "rockchip,rk3568";
|
|
|
|
+ +};
|
|
|
|
+---- a/arch/arm/mach-rockchip/rk3568/Kconfig
|
|
|
|
+-+++ b/arch/arm/mach-rockchip/rk3568/Kconfig
|
|
|
|
+-@@ -13,6 +13,11 @@ config TARGET_EVB_RK3568
|
|
|
|
+- help
|
|
|
|
+- RK3568 EVB is a evaluation board for Rockchp RK3568.
|
|
|
|
+-
|
|
|
|
+-+config TARGET_NANOPI_R5S_RK3568
|
|
|
|
+-+ bool "NanoPi R5S board"
|
|
|
|
+-+ help
|
|
|
|
+-+ NanoPi R5S FriendlyElec is a board for Rockchp RK3568.
|
|
|
|
+-+
|
|
|
|
+- config TARGET_QUARTZ64_A_RK3566
|
|
|
|
+- bool "Quartz64 Model A RK3566 development board"
|
|
|
|
+- help
|
|
|
|
+-@@ -39,6 +44,7 @@ config SYS_MALLOC_F_LEN
|
|
|
|
+-
|
|
|
|
+- source "board/rockchip/bpi-r2-pro-rk3568/Kconfig"
|
|
|
|
+- source "board/rockchip/evb_rk3568/Kconfig"
|
|
|
|
+-+source "board/friendlyelec/nanopi-r5s-rk3568/Kconfig"
|
|
|
|
+- source "board/pine64/quartz64-a-rk3566/Kconfig"
|
|
|
|
+- source "board/radxa/rock-3a-rk3568/Kconfig"
|
|
|
|
+-
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/friendlyelec/nanopi-r5s-rk3568/Kconfig
|
|
|
|
+-@@ -0,0 +1,15 @@
|
|
|
|
+-+if TARGET_NANOPI_R5S_RK3568
|
|
|
|
+-+
|
|
|
|
+-+config SYS_BOARD
|
|
|
|
+-+ default "nanopi-r5s-rk3568"
|
|
|
|
+-+
|
|
|
|
+-+config SYS_VENDOR
|
|
|
|
+-+ default "friendlyelec"
|
|
|
|
+-+
|
|
|
|
+-+config SYS_CONFIG_NAME
|
|
|
|
+-+ default "nanopi-r5s-rk3568"
|
|
|
|
+-+
|
|
|
|
+-+config BOARD_SPECIFIC_OPTIONS # dummy
|
|
|
|
+-+ def_bool y
|
|
|
|
+-+
|
|
|
|
+-+endif
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/friendlyelec/nanopi-r5s-rk3568/Makefile
|
|
|
|
+-@@ -0,0 +1,4 @@
|
|
|
|
+-+# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+#
|
|
|
|
+-+
|
|
|
|
+-+obj-y += nanopi-r5s-rk3568.o
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/board/friendlyelec/nanopi-r5s-rk3568/nanopi-r5s-rk3568.c
|
|
|
|
+-@@ -0,0 +1,4 @@
|
|
|
|
+-+ // SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-+/*
|
|
|
|
+-+ *
|
|
|
|
+-+ */
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/nanopi-r5s-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,98 @@
|
|
|
|
++@@ -0,0 +1,91 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-nanopi-r5s"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+++CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_SPL_MMC=y
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+-+CONFIG_TARGET_NANOPI_R5S_RK3568=y
|
|
|
|
+++CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-nanopi-r5s.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+++CONFIG_SPL_ADC=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_ATF_LOAD_IMAGE_V2=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+++CONFIG_CMD_ADC=y
|
|
|
|
+ +CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+ +CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+ +CONFIG_CMD_REGULATOR=y
|
|
|
|
+++# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+ +CONFIG_OF_LIVE=y
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+++CONFIG_SUPPORT_EMMC_RPMB=y
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+ +CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+ +CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+ +CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+-+CONFIG_SYSRESET_PSCI=y
|
|
|
|
+ +CONFIG_USB=y
|
|
|
|
+ +CONFIG_USB_XHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+ +CONFIG_USB_EHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+---- /dev/null
|
|
|
|
+-+++ b/include/configs/nanopi-r5s-rk3568.h
|
|
|
|
+-@@ -0,0 +1,14 @@
|
|
|
|
+-+/* SPDX-License-Identifier: GPL-2.0+ */
|
|
|
|
+-+
|
|
|
|
+-+#ifndef __NANOPI_R5S_RK3568_H
|
|
|
|
+-+#define __NANOPI_R5S_RK3568_H
|
|
|
|
+-+
|
|
|
|
+-+#include <configs/rk3568_common.h>
|
|
|
|
+-+
|
|
|
|
+-+#define CONFIG_SUPPORT_EMMC_RPMB
|
|
|
|
+-+
|
|
|
|
+-+#define ROCKCHIP_DEVICE_SETTINGS \
|
|
|
|
+-+ "stdout=serial,vidconsole\0" \
|
|
|
|
+-+ "stderr=serial,vidconsole\0"
|
|
|
|
+-+
|
|
|
|
+-+#endif
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/016-rk356x-ddr-fix-dbw-detect-bug.patch b/package/boot/uboot-rockchip/patches/016-rk356x-ddr-fix-dbw-detect-bug.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 563c6c29ac17..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/016-rk356x-ddr-fix-dbw-detect-bug.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,42 +0,0 @@
|
|
|
|
+-From c9a8a3b5fb4ae210c5a5acb1538b0e961c5d1421 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Tang Yun ping <[email protected]>
|
|
|
|
+-Date: Wed, 23 Jun 2021 19:48:59 +0800
|
|
|
|
+-Subject: [PATCH] rk356x: ddr: fix dbw detect bug
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Tang Yun ping <[email protected]>
|
|
|
|
+-Change-Id: Ifadad00853eb0ad43a68f12335fd243e6a1bc04b
|
|
|
|
+----
|
|
|
|
+- drivers/ram/rockchip/sdram_common.c | 12 ++++++------
|
|
|
|
+- 1 file changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
+-
|
|
|
|
+---- a/drivers/ram/rockchip/sdram_common.c
|
|
|
|
+-+++ b/drivers/ram/rockchip/sdram_common.c
|
|
|
|
+-@@ -299,22 +299,22 @@ int sdram_detect_dbw(struct sdram_cap_info *cap_info, u32 dram_type)
|
|
|
|
+- bw = cap_info->bw;
|
|
|
|
+- cs_cap = (1 << (row + col + bk + bw - 20));
|
|
|
|
+- if (bw == 2) {
|
|
|
|
+-- if (cs_cap <= 0x2000000) /* 256Mb */
|
|
|
|
+-+ if (cs_cap <= 0x20) /* 256Mb */
|
|
|
|
+- die_bw_0 = (col < 9) ? 2 : 1;
|
|
|
|
+-- else if (cs_cap <= 0x10000000) /* 2Gb */
|
|
|
|
+-+ else if (cs_cap <= 0x100) /* 2Gb */
|
|
|
|
+- die_bw_0 = (col < 10) ? 2 : 1;
|
|
|
|
+-- else if (cs_cap <= 0x40000000) /* 8Gb */
|
|
|
|
+-+ else if (cs_cap <= 0x400) /* 8Gb */
|
|
|
|
+- die_bw_0 = (col < 11) ? 2 : 1;
|
|
|
|
+- else
|
|
|
|
+- die_bw_0 = (col < 12) ? 2 : 1;
|
|
|
|
+- if (cs > 1) {
|
|
|
|
+- row = cap_info->cs1_row;
|
|
|
|
+- cs_cap = (1 << (row + col + bk + bw - 20));
|
|
|
|
+-- if (cs_cap <= 0x2000000) /* 256Mb */
|
|
|
|
+-+ if (cs_cap <= 0x20) /* 256Mb */
|
|
|
|
+- die_bw_0 = (col < 9) ? 2 : 1;
|
|
|
|
+-- else if (cs_cap <= 0x10000000) /* 2Gb */
|
|
|
|
+-+ else if (cs_cap <= 0x100) /* 2Gb */
|
|
|
|
+- die_bw_0 = (col < 10) ? 2 : 1;
|
|
|
|
+-- else if (cs_cap <= 0x40000000) /* 8Gb */
|
|
|
|
+-+ else if (cs_cap <= 0x400) /* 8Gb */
|
|
|
|
+- die_bw_0 = (col < 11) ? 2 : 1;
|
|
|
|
+- else
|
|
|
|
+- die_bw_0 = (col < 12) ? 2 : 1;
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/017-gpio-rockchip-fix-building-for-spl.patch b/package/boot/uboot-rockchip/patches/017-gpio-rockchip-fix-building-for-spl.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 9632bbf5a73b..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/017-gpio-rockchip-fix-building-for-spl.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,44 +0,0 @@
|
|
|
|
+-From c7496009386dbac8f8d18a94258031f30683d7c6 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 20 Feb 2022 07:59:02 -0500
|
|
|
|
+-Subject: [PATCH] gpio: rockchip: fix building for spl
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- drivers/gpio/rk_gpio.c | 2 +-
|
|
|
|
+- 1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
+-
|
|
|
|
+---- a/common/spl/Kconfig
|
|
|
|
+-+++ b/common/spl/Kconfig
|
|
|
|
+-@@ -454,6 +454,11 @@ config SPL_FIT_IMAGE_TINY
|
|
|
|
+- ensure this information is available to the next image
|
|
|
|
+- invoked).
|
|
|
|
+-
|
|
|
|
+-+config SPL_ADC
|
|
|
|
+-+ bool "Support ADC drivers in SPL"
|
|
|
|
+-+ help
|
|
|
|
+-+ Enable ADC drivers in SPL.
|
|
|
|
+-+
|
|
|
|
+- config SPL_CACHE
|
|
|
|
+- bool "Support CACHE drivers"
|
|
|
|
+- help
|
|
|
|
+---- a/drivers/Makefile
|
|
|
|
+-+++ b/drivers/Makefile
|
|
|
|
+-@@ -1,5 +1,6 @@
|
|
|
|
+- # SPDX-License-Identifier: GPL-2.0+
|
|
|
|
+-
|
|
|
|
+-+obj-$(CONFIG_$(SPL_)ADC) += adc/
|
|
|
|
+- obj-$(CONFIG_$(SPL_TPL_)BOOTCOUNT_LIMIT) += bootcount/
|
|
|
|
+- obj-$(CONFIG_$(SPL_TPL_)BUTTON) += button/
|
|
|
|
+- obj-$(CONFIG_$(SPL_TPL_)CACHE) += cache/
|
|
|
|
+---- a/drivers/gpio/rk_gpio.c
|
|
|
|
+-+++ b/drivers/gpio/rk_gpio.c
|
|
|
|
+-@@ -118,7 +118,7 @@ static int rockchip_gpio_get_function(struct udevice *dev, unsigned offset)
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+- /* Simple SPL interface to GPIOs */
|
|
|
|
+--#ifdef CONFIG_SPL_BUILD
|
|
|
|
+-+#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_ROCKCHIP_GPIO_V2)
|
|
|
|
+-
|
|
|
|
+- enum {
|
|
|
|
+- PULL_NONE_1V8 = 0,
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/018-clk-rockchip-rk3568-fix-reset-handler.patch b/package/boot/uboot-rockchip/patches/018-clk-rockchip-rk3568-fix-reset-handler.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 632394a89868..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/018-clk-rockchip-rk3568-fix-reset-handler.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,28 +0,0 @@
|
|
|
|
+-From 5011ceb0da47f7c3d54d20b45b7df884e6e92ac5 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Peter Geis <[email protected]>
|
|
|
|
+-Date: Sun, 20 Feb 2022 07:58:38 -0500
|
|
|
|
+-Subject: [PATCH] clk: rockchip: rk3568: fix reset handler
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+----
|
|
|
|
+- drivers/clk/rockchip/clk_rk3568.c | 2 ++
|
|
|
|
+- 1 file changed, 2 insertions(+)
|
|
|
|
+-
|
|
|
|
+---- a/drivers/clk/rockchip/clk_rk3568.c
|
|
|
|
+-+++ b/drivers/clk/rockchip/clk_rk3568.c
|
|
|
|
+-@@ -14,6 +14,7 @@
|
|
|
|
+- #include <asm/arch-rockchip/clock.h>
|
|
|
|
+- #include <asm/arch-rockchip/hardware.h>
|
|
|
|
+- #include <asm/io.h>
|
|
|
|
+-+#include <dm/device-internal.h>
|
|
|
|
+- #include <dm/lists.h>
|
|
|
|
+- #include <dt-bindings/clock/rk3568-cru.h>
|
|
|
|
+-
|
|
|
|
+-@@ -2934,6 +2935,7 @@ static int rk3568_clk_bind(struct udevice *dev)
|
|
|
|
+- glb_srst_fst);
|
|
|
|
+- priv->glb_srst_snd_value = offsetof(struct rk3568_cru,
|
|
|
|
+- glb_srsr_snd);
|
|
|
|
+-+ dev_set_priv(sys_child, priv);
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+- #if CONFIG_IS_ENABLED(RESET_ROCKCHIP)
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/018-driver-Makefile-support-adc-in-SPL.patch b/package/boot/uboot-rockchip/patches/018-driver-Makefile-support-adc-in-SPL.patch
|
|
|
|
+new file mode 100644
|
|
|
|
+index 000000000000..072abfc2e0df
|
|
|
|
+--- /dev/null
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/018-driver-Makefile-support-adc-in-SPL.patch
|
|
|
|
+@@ -0,0 +1,35 @@
|
|
|
|
++From 2d7c904f271ffd19086cafe7cd6548ec5b1a5a83 Mon Sep 17 00:00:00 2001
|
|
|
|
++From: Jason Zhu <[email protected]>
|
|
|
|
++Date: Thu, 12 Mar 2020 15:04:51 +0800
|
|
|
|
++Subject: [PATCH] driver: Makefile: support adc in SPL
|
|
|
|
++
|
|
|
|
++Signed-off-by: Jason Zhu <[email protected]>
|
|
|
|
++Change-Id: I915becbf9597aa070001d3368d8daf9079565fc9
|
|
|
|
++---
|
|
|
|
++ common/spl/Kconfig | 6 ++++++
|
|
|
|
++ drivers/Makefile | 2 +-
|
|
|
|
++ 2 files changed, 7 insertions(+), 1 deletion(-)
|
|
|
|
++
|
|
|
|
++--- a/common/spl/Kconfig
|
|
|
|
+++++ b/common/spl/Kconfig
|
|
|
|
++@@ -587,6 +587,11 @@ config SPL_FIT_IMAGE_TINY
|
|
|
|
++ ensure this information is available to the next image
|
|
|
|
++ invoked).
|
|
|
|
++
|
|
|
|
+++config SPL_ADC
|
|
|
|
+++ bool "Support ADC drivers in SPL"
|
|
|
|
+++ help
|
|
|
|
+++ Enable ADC drivers in SPL.
|
|
|
|
+++
|
|
|
|
++ config SPL_CACHE
|
|
|
|
++ bool "Support CACHE drivers"
|
|
|
|
++ help
|
|
|
|
++--- a/drivers/Makefile
|
|
|
|
+++++ b/drivers/Makefile
|
|
|
|
++@@ -1,5 +1,6 @@
|
|
|
|
++ # SPDX-License-Identifier: GPL-2.0+
|
|
|
|
++
|
|
|
|
+++obj-$(CONFIG_$(SPL_)ADC) += adc/
|
|
|
|
++ obj-$(CONFIG_$(SPL_TPL_)BLK) += block/
|
|
|
|
++ obj-$(CONFIG_$(SPL_TPL_)BOOTCOUNT_LIMIT) += bootcount/
|
|
|
|
++ obj-$(CONFIG_$(SPL_TPL_)BUTTON) += button/
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/019-rockchip-handle-bootrom-mode-in-spl.patch b/package/boot/uboot-rockchip/patches/019-rockchip-handle-bootrom-mode-in-spl.patch
|
|
|
|
+index df7acc398149..54a452d7bc3e 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/019-rockchip-handle-bootrom-mode-in-spl.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/019-rockchip-handle-bootrom-mode-in-spl.patch
|
|
|
|
+@@ -19,7 +19,7 @@ Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+ -ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),)
|
|
|
|
+ -
|
|
|
|
+ # Always include boot_mode.o, as we bypass it (i.e. turn it off)
|
|
|
|
+- # inside of boot_mode.c when CONFIG_BOOT_MODE_REG is 0. This way,
|
|
|
|
++ # inside of boot_mode.c when CONFIG_ROCKCHIP_BOOT_MODE_REG is 0. This way,
|
|
|
|
+ # we can have the preprocessor correctly recognise both 0x0 and 0
|
|
|
|
+ # meaning "turn it off".
|
|
|
|
+ -obj-y += boot_mode.o
|
|
|
|
+@@ -116,9 +116,9 @@ Signed-off-by: Peter Geis <[email protected]>
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+ @@ -164,3 +193,26 @@ int ft_system_setup(void *blob, struct bd_info *bd)
|
|
|
|
+- return 0;
|
|
|
|
+- };
|
|
|
|
+ #endif
|
|
|
|
++ return 0;
|
|
|
|
++ }
|
|
|
|
+ +
|
|
|
|
+ +#ifdef CONFIG_SPL_BUILD
|
|
|
|
+ +
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/100-Convert-CONFIG_USB_OHCI_NEW-et-al-to-Kconfig.patch b/package/boot/uboot-rockchip/patches/100-Convert-CONFIG_USB_OHCI_NEW-et-al-to-Kconfig.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index ff5a97f33215..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/100-Convert-CONFIG_USB_OHCI_NEW-et-al-to-Kconfig.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,282 +0,0 @@
|
|
|
|
+-From cd6a45a41fb2c19884ac87afade87b4d53601929 Mon Sep 17 00:00:00 2001
|
|
|
|
+-From: Tom Rini <[email protected]>
|
|
|
|
+-Date: Sat, 25 Jun 2022 11:02:31 -0400
|
|
|
|
+-Subject: [PATCH] Convert CONFIG_USB_OHCI_NEW et al to Kconfig
|
|
|
|
+-
|
|
|
|
+-This converts the following to Kconfig:
|
|
|
|
+- CONFIG_SYS_OHCI_SWAP_REG_ACCESS
|
|
|
|
+- CONFIG_SYS_USB_OHCI_CPU_INIT
|
|
|
|
+- CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS
|
|
|
|
+- CONFIG_SYS_USB_OHCI_SLOT_NAME
|
|
|
|
+- CONFIG_USB_ATMEL
|
|
|
|
+- CONFIG_USB_ATMEL_CLK_SEL_PLLB
|
|
|
|
+- CONFIG_USB_ATMEL_CLK_SEL_UPLL
|
|
|
|
+- CONFIG_USB_OHCI_LPC32XX
|
|
|
|
+- CONFIG_USB_OHCI_NEW
|
|
|
|
+-
|
|
|
|
+-Signed-off-by: Tom Rini <[email protected]>
|
|
|
|
+----
|
|
|
|
+-
|
|
|
|
+-diff --git a/configs/evb-rk3328_defconfig b/configs/evb-rk3328_defconfig
|
|
|
|
+-index 4d6d235cb125..c81437300c74 100644
|
|
|
|
+---- a/configs/evb-rk3328_defconfig
|
|
|
|
+-+++ b/configs/evb-rk3328_defconfig
|
|
|
|
+-@@ -99,6 +99,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+- CONFIG_USB_DWC2=y
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- # CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+-diff --git a/configs/nanopi-r2s-rk3328_defconfig b/configs/nanopi-r2s-rk3328_defconfig
|
|
|
|
+-index 41793ca7e486..15c2e1698c20 100644
|
|
|
|
+---- a/configs/nanopi-r2s-rk3328_defconfig
|
|
|
|
+-+++ b/configs/nanopi-r2s-rk3328_defconfig
|
|
|
|
+-@@ -102,6 +102,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+- CONFIG_USB_DWC2=y
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- # CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+-diff --git a/configs/roc-cc-rk3328_defconfig b/configs/roc-cc-rk3328_defconfig
|
|
|
|
+-index ab25abc1a031..43b90c7879b7 100644
|
|
|
|
+---- a/configs/roc-cc-rk3328_defconfig
|
|
|
|
+-+++ b/configs/roc-cc-rk3328_defconfig
|
|
|
|
+-@@ -108,6 +108,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+- CONFIG_USB_DWC2=y
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- # CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+-diff --git a/configs/rock-pi-e-rk3328_defconfig b/configs/rock-pi-e-rk3328_defconfig
|
|
|
|
+-index 1d51a267b93a..7d95e171f7f4 100644
|
|
|
|
+---- a/configs/rock-pi-e-rk3328_defconfig
|
|
|
|
+-+++ b/configs/rock-pi-e-rk3328_defconfig
|
|
|
|
+-@@ -109,6 +109,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+- CONFIG_USB_DWC2=y
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- # CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+-diff --git a/configs/rock64-rk3328_defconfig b/configs/rock64-rk3328_defconfig
|
|
|
|
+-index 640fe558d414..bc333a5e2a6a 100644
|
|
|
|
+---- a/configs/rock64-rk3328_defconfig
|
|
|
|
+-+++ b/configs/rock64-rk3328_defconfig
|
|
|
|
+-@@ -106,6 +106,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+- CONFIG_USB_DWC2=y
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- # CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+-diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
|
|
|
|
+-index 78e50dbfbcb7..bb5b2143691d 100644
|
|
|
|
+---- a/configs/rock960-rk3399_defconfig
|
|
|
|
+-+++ b/configs/rock960-rk3399_defconfig
|
|
|
|
+-@@ -74,6 +74,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- CONFIG_USB_KEYBOARD=y
|
|
|
|
+- CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
|
|
|
|
+-index 4d2a5b32e31c..ef28fe6a937a 100644
|
|
|
|
+---- a/configs/rockpro64-rk3399_defconfig
|
|
|
|
+-+++ b/configs/rockpro64-rk3399_defconfig
|
|
|
|
+-@@ -87,6 +87,7 @@ CONFIG_USB_EHCI_HCD=y
|
|
|
|
+- CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+- CONFIG_USB_OHCI_HCD=y
|
|
|
|
+- CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+- CONFIG_USB_DWC3=y
|
|
|
|
+- CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+- CONFIG_USB_KEYBOARD=y
|
|
|
|
+-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
|
|
|
|
+-index 0b82c2fdaf71..31ae9f74e7ac 100644
|
|
|
|
+---- a/drivers/usb/host/Kconfig
|
|
|
|
+-+++ b/drivers/usb/host/Kconfig
|
|
|
|
+-@@ -297,10 +297,17 @@ config USB_EHCI_TXFIFO_THRESH
|
|
|
|
+- Enables support for the on-chip EHCI controller on FSL chips.
|
|
|
|
+- endif # USB_EHCI_HCD
|
|
|
|
+-
|
|
|
|
+-+config USB_OHCI_NEW
|
|
|
|
+-+ bool
|
|
|
|
+-+
|
|
|
|
+-+config SYS_USB_OHCI_CPU_INIT
|
|
|
|
+-+ bool
|
|
|
|
+-+
|
|
|
|
+- config USB_OHCI_HCD
|
|
|
|
+- bool "OHCI HCD (USB 1.1) support"
|
|
|
|
+- depends on DM && OF_CONTROL
|
|
|
|
+- select USB_HOST
|
|
|
|
+-+ select USB_OHCI_NEW
|
|
|
|
+- ---help---
|
|
|
|
+- The Open Host Controller Interface (OHCI) is a standard for accessing
|
|
|
|
+- USB 1.1 host controller hardware. It does more in hardware than Intel's
|
|
|
|
+-@@ -332,6 +339,19 @@ config USB_OHCI_DA8XX
|
|
|
|
+-
|
|
|
|
+- endif # USB_OHCI_HCD
|
|
|
|
+-
|
|
|
|
+-+config SYS_USB_OHCI_SLOT_NAME
|
|
|
|
+-+ string "Display name for the OHCI controller"
|
|
|
|
+-+ depends on USB_OHCI_NEW && !DM_USB
|
|
|
|
+-+
|
|
|
|
+-+config SYS_USB_OHCI_MAX_ROOT_PORTS
|
|
|
|
+-+ int "Maximal number of ports of the root hub"
|
|
|
|
+-+ depends on USB_OHCI_NEW
|
|
|
|
+-+ default 1 if ARCH_SUNXI
|
|
|
|
+-+
|
|
|
|
+-+config SYS_OHCI_SWAP_REG_ACCESS
|
|
|
|
+-+ bool "Perform byte swapping on OHCI controller register accesses"
|
|
|
|
+-+ depends on USB_OHCI_NEW
|
|
|
|
+-+
|
|
|
|
+- config USB_UHCI_HCD
|
|
|
|
+- bool "UHCI HCD (most Intel and VIA) support"
|
|
|
|
+- select USB_HOST
|
|
|
|
+-@@ -381,3 +401,27 @@ config USB_R8A66597_HCD
|
|
|
|
+- ---help---
|
|
|
|
+- This enables support for the on-chip Renesas R8A66597 USB 2.0
|
|
|
|
+- controller, present in various RZ and SH SoCs.
|
|
|
|
+-+
|
|
|
|
+-+config USB_ATMEL
|
|
|
|
+-+ bool "AT91 OHCI USB support"
|
|
|
|
+-+ depends on ARCH_AT91
|
|
|
|
+-+ select SYS_USB_OHCI_CPU_INIT
|
|
|
|
+-+ select USB_OHCI_NEW
|
|
|
|
+-+
|
|
|
|
+-+choice
|
|
|
|
+-+ prompt "Clock for OHCI"
|
|
|
|
+-+ depends on USB_ATMEL
|
|
|
|
+-+
|
|
|
|
+-+config USB_ATMEL_CLK_SEL_PLLB
|
|
|
|
+-+ bool "PLLB"
|
|
|
|
+-+
|
|
|
|
+-+config USB_ATMEL_CLK_SEL_UPLL
|
|
|
|
+-+ bool "UPLL"
|
|
|
|
+-+
|
|
|
|
+-+endchoice
|
|
|
|
+-+
|
|
|
|
+-+config USB_OHCI_LPC32XX
|
|
|
|
+-+ bool "LPC32xx USB OHCI support"
|
|
|
|
+-+ depends on ARCH_LPC32XX
|
|
|
|
+-+ select SYS_USB_OHCI_CPU_INIT
|
|
|
|
+-+ select USB_OHCI_NEW
|
|
|
|
+-diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
|
|
|
|
+-index 8ceabaf45c1b..9b955c1bd678 100644
|
|
|
|
+---- a/drivers/usb/host/ohci-at91.c
|
|
|
|
+-+++ b/drivers/usb/host/ohci-at91.c
|
|
|
|
+-@@ -5,9 +5,6 @@
|
|
|
|
+- */
|
|
|
|
+-
|
|
|
|
+- #include <common.h>
|
|
|
|
+--
|
|
|
|
+--#if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT)
|
|
|
|
+--
|
|
|
|
+- #include <asm/arch/clk.h>
|
|
|
|
+-
|
|
|
|
+- int usb_cpu_init(void)
|
|
|
|
+-@@ -65,5 +62,3 @@ int usb_cpu_init_fail(void)
|
|
|
|
+- {
|
|
|
|
+- return usb_cpu_stop();
|
|
|
|
+- }
|
|
|
|
+--
|
|
|
|
+--#endif /* defined(CONFIG_USB_OHCI) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT) */
|
|
|
|
+-diff --git a/drivers/usb/host/ohci-generic.c b/drivers/usb/host/ohci-generic.c
|
|
|
|
+-index 163f0ef17b11..5d23058aaf6a 100644
|
|
|
|
+---- a/drivers/usb/host/ohci-generic.c
|
|
|
|
+-+++ b/drivers/usb/host/ohci-generic.c
|
|
|
|
+-@@ -14,10 +14,6 @@
|
|
|
|
+- #include <reset.h>
|
|
|
|
+- #include "ohci.h"
|
|
|
|
+-
|
|
|
|
+--#if !defined(CONFIG_USB_OHCI_NEW)
|
|
|
|
+--# error "Generic OHCI driver requires CONFIG_USB_OHCI_NEW"
|
|
|
|
+--#endif
|
|
|
|
+--
|
|
|
|
+- struct generic_ohci {
|
|
|
|
+- ohci_t ohci;
|
|
|
|
+- struct clk *clocks; /* clock list */
|
|
|
|
+-diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h
|
|
|
|
+-index a38cd25eb85f..7699f2e6b15a 100644
|
|
|
|
+---- a/drivers/usb/host/ohci.h
|
|
|
|
+-+++ b/drivers/usb/host/ohci.h
|
|
|
|
+-@@ -151,7 +151,7 @@ struct ohci_hcca {
|
|
|
|
+- * Maximum number of root hub ports.
|
|
|
|
+- */
|
|
|
|
+- #ifndef CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS
|
|
|
|
+--# error "CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS undefined!"
|
|
|
|
+-+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
|
|
|
|
+- #endif
|
|
|
|
+-
|
|
|
|
+- /*
|
|
|
|
+-diff --git a/include/configs/evb_rk3399.h b/include/configs/evb_rk3399.h
|
|
|
|
+-index 492b7b4df128..b7e850370b31 100644
|
|
|
|
+---- a/include/configs/evb_rk3399.h
|
|
|
|
+-+++ b/include/configs/evb_rk3399.h
|
|
|
|
+-@@ -15,7 +15,4 @@
|
|
|
|
+-
|
|
|
|
+- #define SDRAM_BANK_SIZE (2UL << 30)
|
|
|
|
+-
|
|
|
|
+--#define CONFIG_USB_OHCI_NEW
|
|
|
|
+--#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
|
|
|
+--
|
|
|
|
+- #endif
|
|
|
|
+-diff --git a/include/configs/gru.h b/include/configs/gru.h
|
|
|
|
+-index b1084bb21d4d..be2dc79968c0 100644
|
|
|
|
+---- a/include/configs/gru.h
|
|
|
|
+-+++ b/include/configs/gru.h
|
|
|
|
+-@@ -13,7 +13,4 @@
|
|
|
|
+-
|
|
|
|
+- #include <configs/rk3399_common.h>
|
|
|
|
+-
|
|
|
|
+--#define CONFIG_USB_OHCI_NEW
|
|
|
|
+--#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
|
|
|
+--
|
|
|
|
+- #endif
|
|
|
|
+-diff --git a/include/configs/rk3328_common.h b/include/configs/rk3328_common.h
|
|
|
|
+-index 90183579202d..165b78ff3309 100644
|
|
|
|
+---- a/include/configs/rk3328_common.h
|
|
|
|
+-+++ b/include/configs/rk3328_common.h
|
|
|
|
+-@@ -30,8 +30,4 @@
|
|
|
|
+- "partitions=" PARTS_DEFAULT \
|
|
|
|
+- BOOTENV
|
|
|
|
+-
|
|
|
|
+--/* rockchip ohci host driver */
|
|
|
|
+--#define CONFIG_USB_OHCI_NEW
|
|
|
|
+--#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
|
|
|
|
+--
|
|
|
|
+- #endif
|
|
|
|
+-diff --git a/include/configs/rock960_rk3399.h b/include/configs/rock960_rk3399.h
|
|
|
|
+-index 2edad710284f..6099d2fa55a6 100644
|
|
|
|
+---- a/include/configs/rock960_rk3399.h
|
|
|
|
+-+++ b/include/configs/rock960_rk3399.h
|
|
|
|
+-@@ -14,7 +14,4 @@
|
|
|
|
+- #include <configs/rk3399_common.h>
|
|
|
|
+-
|
|
|
|
+- #define SDRAM_BANK_SIZE (2UL << 30)
|
|
|
|
+--
|
|
|
|
+--#define CONFIG_USB_OHCI_NEW
|
|
|
|
+--#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
|
|
|
+- #endif
|
|
|
|
+-diff --git a/include/configs/rockpro64_rk3399.h b/include/configs/rockpro64_rk3399.h
|
|
|
|
+-index 903e9df527c1..9195b9b99e41 100644
|
|
|
|
+---- a/include/configs/rockpro64_rk3399.h
|
|
|
|
+-+++ b/include/configs/rockpro64_rk3399.h
|
|
|
|
+-@@ -14,7 +14,4 @@
|
|
|
|
+- #include <configs/rk3399_common.h>
|
|
|
|
+-
|
|
|
|
+- #define SDRAM_BANK_SIZE (2UL << 30)
|
|
|
|
+--
|
|
|
|
+--#define CONFIG_USB_OHCI_NEW
|
|
|
|
+--#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
|
|
|
+- #endif
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/104-mkimage-add-public-key-for-image.patch b/package/boot/uboot-rockchip/patches/104-mkimage-add-public-key-for-image.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index 8c8e79cf17ff..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/104-mkimage-add-public-key-for-image.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,166 +0,0 @@
|
|
|
|
+---- a/include/image.h
|
|
|
|
+-+++ b/include/image.h
|
|
|
|
+-@@ -1020,21 +1020,6 @@ int fit_image_hash_get_value(const void
|
|
|
|
+-
|
|
|
|
+- int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
|
|
|
|
+-
|
|
|
|
+--/**
|
|
|
|
+-- * fit_pre_load_data() - add public key to fdt blob
|
|
|
|
+-- *
|
|
|
|
+-- * Adds public key to the node pre load.
|
|
|
|
+-- *
|
|
|
|
+-- * @keydir: Directory containing keys
|
|
|
|
+-- * @keydest: FDT blob to write public key
|
|
|
|
+-- * @fit: Pointer to the FIT format image header
|
|
|
|
+-- *
|
|
|
|
+-- * returns:
|
|
|
|
+-- * 0, on success
|
|
|
|
+-- * < 0, on failure
|
|
|
|
+-- */
|
|
|
|
+--int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
|
|
|
|
+--
|
|
|
|
+- int fit_cipher_data(const char *keydir, void *keydest, void *fit,
|
|
|
|
+- const char *comment, int require_keys,
|
|
|
|
+- const char *engine_id, const char *cmdname);
|
|
|
|
+---- a/tools/fit_image.c
|
|
|
|
+-+++ b/tools/fit_image.c
|
|
|
|
+-@@ -59,9 +59,6 @@ static int fit_add_file_data(struct imag
|
|
|
|
+- ret = fit_set_timestamp(ptr, 0, time);
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+-- if (!ret)
|
|
|
|
+-- ret = fit_pre_load_data(params->keydir, dest_blob, ptr);
|
|
|
|
+--
|
|
|
|
+- if (!ret) {
|
|
|
|
+- ret = fit_cipher_data(params->keydir, dest_blob, ptr,
|
|
|
|
+- params->comment,
|
|
|
|
+---- a/tools/image-host.c
|
|
|
|
+-+++ b/tools/image-host.c
|
|
|
|
+-@@ -14,11 +14,6 @@
|
|
|
|
+- #include <image.h>
|
|
|
|
+- #include <version.h>
|
|
|
|
+-
|
|
|
|
+--#include <openssl/pem.h>
|
|
|
|
+--#include <openssl/evp.h>
|
|
|
|
+--
|
|
|
|
+--#define IMAGE_PRE_LOAD_PATH "/image/pre-load/sig"
|
|
|
|
+--
|
|
|
|
+- /**
|
|
|
|
+- * fit_set_hash_value - set hash value in requested has node
|
|
|
|
+- * @fit: pointer to the FIT format image header
|
|
|
|
+-@@ -1116,115 +1111,6 @@ static int fit_config_add_verification_d
|
|
|
|
+- return 0;
|
|
|
|
+- }
|
|
|
|
+-
|
|
|
|
+--/*
|
|
|
|
+-- * 0) open file (open)
|
|
|
|
+-- * 1) read certificate (PEM_read_X509)
|
|
|
|
+-- * 2) get public key (X509_get_pubkey)
|
|
|
|
+-- * 3) provide der format (d2i_RSAPublicKey)
|
|
|
|
+-- */
|
|
|
|
+--static int read_pub_key(const char *keydir, const void *name,
|
|
|
|
+-- unsigned char **pubkey, int *pubkey_len)
|
|
|
|
+--{
|
|
|
|
+-- char path[1024];
|
|
|
|
+-- EVP_PKEY *key = NULL;
|
|
|
|
+-- X509 *cert;
|
|
|
|
+-- FILE *f;
|
|
|
|
+-- int ret;
|
|
|
|
+--
|
|
|
|
+-- memset(path, 0, 1024);
|
|
|
|
+-- snprintf(path, sizeof(path), "%s/%s.crt", keydir, (char *)name);
|
|
|
|
+--
|
|
|
|
+-- /* Open certificate file */
|
|
|
|
+-- f = fopen(path, "r");
|
|
|
|
+-- if (!f) {
|
|
|
|
+-- fprintf(stderr, "Couldn't open RSA certificate: '%s': %s\n",
|
|
|
|
+-- path, strerror(errno));
|
|
|
|
+-- return -EACCES;
|
|
|
|
+-- }
|
|
|
|
+--
|
|
|
|
+-- /* Read the certificate */
|
|
|
|
+-- cert = NULL;
|
|
|
|
+-- if (!PEM_read_X509(f, &cert, NULL, NULL)) {
|
|
|
|
+-- printf("Couldn't read certificate");
|
|
|
|
+-- ret = -EINVAL;
|
|
|
|
+-- goto err_cert;
|
|
|
|
+-- }
|
|
|
|
+--
|
|
|
|
+-- /* Get the public key from the certificate. */
|
|
|
|
+-- key = X509_get_pubkey(cert);
|
|
|
|
+-- if (!key) {
|
|
|
|
+-- printf("Couldn't read public key\n");
|
|
|
|
+-- ret = -EINVAL;
|
|
|
|
+-- goto err_pubkey;
|
|
|
|
+-- }
|
|
|
|
+--
|
|
|
|
+-- /* Get DER form */
|
|
|
|
+-- ret = i2d_PublicKey(key, pubkey);
|
|
|
|
+-- if (ret < 0) {
|
|
|
|
+-- printf("Couldn't get DER form\n");
|
|
|
|
+-- ret = -EINVAL;
|
|
|
|
+-- goto err_pubkey;
|
|
|
|
+-- }
|
|
|
|
+--
|
|
|
|
+-- *pubkey_len = ret;
|
|
|
|
+-- ret = 0;
|
|
|
|
+--
|
|
|
|
+--err_pubkey:
|
|
|
|
+-- X509_free(cert);
|
|
|
|
+--err_cert:
|
|
|
|
+-- fclose(f);
|
|
|
|
+-- return ret;
|
|
|
|
+--}
|
|
|
|
+--
|
|
|
|
+--int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
|
|
|
|
+--{
|
|
|
|
+-- int pre_load_noffset;
|
|
|
|
+-- const void *algo_name;
|
|
|
|
+-- const void *key_name;
|
|
|
|
+-- unsigned char *pubkey = NULL;
|
|
|
|
+-- int ret, pubkey_len;
|
|
|
|
+--
|
|
|
|
+-- if (!keydir || !keydest || !fit)
|
|
|
|
+-- return 0;
|
|
|
|
+--
|
|
|
|
+-- /* Search node pre-load sig */
|
|
|
|
+-- pre_load_noffset = fdt_path_offset(keydest, IMAGE_PRE_LOAD_PATH);
|
|
|
|
+-- if (pre_load_noffset < 0) {
|
|
|
|
+-- ret = 0;
|
|
|
|
+-- goto out;
|
|
|
|
+-- }
|
|
|
|
+--
|
|
|
|
+-- algo_name = fdt_getprop(keydest, pre_load_noffset, "algo-name", NULL);
|
|
|
|
+-- key_name = fdt_getprop(keydest, pre_load_noffset, "key-name", NULL);
|
|
|
|
+--
|
|
|
|
+-- /* Check that all mandatory properties are present */
|
|
|
|
+-- if (!algo_name || !key_name) {
|
|
|
|
+-- if (!algo_name)
|
|
|
|
+-- printf("The property algo-name is missing in the node %s\n",
|
|
|
|
+-- IMAGE_PRE_LOAD_PATH);
|
|
|
|
+-- if (!key_name)
|
|
|
|
+-- printf("The property key-name is missing in the node %s\n",
|
|
|
|
+-- IMAGE_PRE_LOAD_PATH);
|
|
|
|
+-- ret = -EINVAL;
|
|
|
|
+-- goto out;
|
|
|
|
+-- }
|
|
|
|
+--
|
|
|
|
+-- /* Read public key */
|
|
|
|
+-- ret = read_pub_key(keydir, key_name, &pubkey, &pubkey_len);
|
|
|
|
+-- if (ret < 0)
|
|
|
|
+-- goto out;
|
|
|
|
+--
|
|
|
|
+-- /* Add the public key to the device tree */
|
|
|
|
+-- ret = fdt_setprop(keydest, pre_load_noffset, "public-key",
|
|
|
|
+-- pubkey, pubkey_len);
|
|
|
|
+-- if (ret)
|
|
|
|
+-- printf("Can't set public-key in node %s (ret = %d)\n",
|
|
|
|
+-- IMAGE_PRE_LOAD_PATH, ret);
|
|
|
|
+--
|
|
|
|
+-- out:
|
|
|
|
+-- return ret;
|
|
|
|
+--}
|
|
|
|
+--
|
|
|
|
+- int fit_cipher_data(const char *keydir, void *keydest, void *fit,
|
|
|
|
+- const char *comment, int require_keys,
|
|
|
|
+- const char *engine_id, const char *cmdname)
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/105-Only-build-dtc-if-needed.patch b/package/boot/uboot-rockchip/patches/105-Only-build-dtc-if-needed.patch
|
|
|
|
+deleted file mode 100644
|
|
|
|
+index ad0407708d85..000000000000
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/105-Only-build-dtc-if-needed.patch
|
|
|
|
++++ /dev/null
|
|
|
|
+@@ -1,125 +0,0 @@
|
|
|
|
+---- a/Makefile
|
|
|
|
+-+++ b/Makefile
|
|
|
|
+-@@ -413,13 +413,7 @@ PERL = perl
|
|
|
|
+- PYTHON ?= python
|
|
|
|
+- PYTHON2 = python2
|
|
|
|
+- PYTHON3 ?= python3
|
|
|
|
+--
|
|
|
|
+--# The devicetree compiler and pylibfdt are automatically built unless DTC is
|
|
|
|
+--# provided. If DTC is provided, it is assumed the pylibfdt is available too.
|
|
|
|
+--DTC_INTREE := $(objtree)/scripts/dtc/dtc
|
|
|
|
+--DTC ?= $(DTC_INTREE)
|
|
|
|
+--DTC_MIN_VERSION := 010406
|
|
|
|
+--
|
|
|
|
+-+DTC ?= $(objtree)/scripts/dtc/dtc
|
|
|
|
+- CHECK = sparse
|
|
|
|
+-
|
|
|
|
+- CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
|
|
|
|
+-@@ -2070,29 +2064,9 @@ endif
|
|
|
|
+-
|
|
|
|
+- endif
|
|
|
|
+-
|
|
|
|
+--# Check dtc and pylibfdt, if DTC is provided, else build them
|
|
|
|
+- PHONY += scripts_dtc
|
|
|
|
+- scripts_dtc: scripts_basic
|
|
|
|
+-- $(Q)if test "$(DTC)" = "$(DTC_INTREE)"; then \
|
|
|
|
+-- $(MAKE) $(build)=scripts/dtc; \
|
|
|
|
+-- else \
|
|
|
|
+-- if ! $(DTC) -v >/dev/null; then \
|
|
|
|
+-- echo '*** Failed to check dtc version: $(DTC)'; \
|
|
|
|
+-- false; \
|
|
|
|
+-- else \
|
|
|
|
+-- if test "$(call dtc-version)" -lt $(DTC_MIN_VERSION); then \
|
|
|
|
+-- echo '*** Your dtc is too old, please upgrade to dtc $(DTC_MIN_VERSION) or newer'; \
|
|
|
|
+-- false; \
|
|
|
|
+-- else \
|
|
|
|
+-- if [ -n "$(CONFIG_PYLIBFDT)" ]; then \
|
|
|
|
+-- if ! echo "import libfdt" | $(PYTHON3) 2>/dev/null; then \
|
|
|
|
+-- echo '*** pylibfdt does not seem to be available with $(PYTHON3)'; \
|
|
|
|
+-- false; \
|
|
|
|
+-- fi; \
|
|
|
|
+-- fi; \
|
|
|
|
+-- fi; \
|
|
|
|
+-- fi; \
|
|
|
|
+-- fi
|
|
|
|
+-+ $(Q)$(MAKE) $(build)=scripts/dtc
|
|
|
|
+-
|
|
|
|
+- # ---------------------------------------------------------------------------
|
|
|
|
+- quiet_cmd_cpp_lds = LDS $@
|
|
|
|
+---- a/doc/build/gcc.rst
|
|
|
|
+-+++ b/doc/build/gcc.rst
|
|
|
|
+-@@ -131,27 +131,6 @@ Further important build parameters are
|
|
|
|
+- * O=<dir> - generate all output files in directory <dir>, including .config
|
|
|
|
+- * V=1 - verbose build
|
|
|
|
+-
|
|
|
|
+--Devicetree compiler
|
|
|
|
+--~~~~~~~~~~~~~~~~~~~
|
|
|
|
+--
|
|
|
|
+--Boards that use `CONFIG_OF_CONTROL` (i.e. almost all of them) need the
|
|
|
|
+--devicetree compiler (dtc). Those with `CONFIG_PYLIBFDT` need pylibfdt, a Python
|
|
|
|
+--library for accessing devicetree data. Suitable versions of these are included
|
|
|
|
+--in the U-Boot tree in `scripts/dtc` and built automatically as needed.
|
|
|
|
+--
|
|
|
|
+--To use the system versions of these, use the DTC parameter, for example
|
|
|
|
+--
|
|
|
|
+--.. code-block:: bash
|
|
|
|
+--
|
|
|
|
+-- DTC=/usr/bin/dtc make
|
|
|
|
+--
|
|
|
|
+--In this case, dtc and pylibfdt are not built. The build checks that the version
|
|
|
|
+--of dtc is new enough. It also makes sure that pylibfdt is present, if needed
|
|
|
|
+--(see `scripts_dtc` in the Makefile).
|
|
|
|
+--
|
|
|
|
+--Note that the :doc:`tools` are always built with the included version of libfdt
|
|
|
|
+--so it is not possible to build U-Boot tools with a system libfdt, at present.
|
|
|
|
+--
|
|
|
|
+- Other build targets
|
|
|
|
+- ~~~~~~~~~~~~~~~~~~~
|
|
|
|
+-
|
|
|
|
+---- a/dts/Kconfig
|
|
|
|
+-+++ b/dts/Kconfig
|
|
|
|
+-@@ -5,6 +5,9 @@
|
|
|
|
+- config SUPPORT_OF_CONTROL
|
|
|
|
+- bool
|
|
|
|
+-
|
|
|
|
+-+config DTC
|
|
|
|
+-+ bool
|
|
|
|
+-+
|
|
|
|
+- config PYLIBFDT
|
|
|
|
+- bool
|
|
|
|
+-
|
|
|
|
+-@@ -21,6 +24,7 @@ menu "Device Tree Control"
|
|
|
|
+-
|
|
|
|
+- config OF_CONTROL
|
|
|
|
+- bool "Run-time configuration via Device Tree"
|
|
|
|
+-+ select DTC
|
|
|
|
+- select OF_LIBFDT if !OF_PLATDATA
|
|
|
|
+- select OF_REAL if !OF_PLATDATA
|
|
|
|
+- help
|
|
|
|
+---- a/scripts/Makefile
|
|
|
|
+-+++ b/scripts/Makefile
|
|
|
|
+-@@ -10,3 +10,4 @@ always := $(hostprogs-y)
|
|
|
|
+-
|
|
|
|
+- # Let clean descend into subdirs
|
|
|
|
+- subdir- += basic kconfig dtc
|
|
|
|
+-+subdir-$(CONFIG_DTC) += dtc
|
|
|
|
+---- a/scripts/dtc-version.sh
|
|
|
|
+-+++ b/scripts/dtc-version.sh
|
|
|
|
+-@@ -10,16 +10,11 @@
|
|
|
|
+- dtc="$*"
|
|
|
|
+-
|
|
|
|
+- if [ ${#dtc} -eq 0 ]; then
|
|
|
|
+-- echo "Error: No dtc command specified"
|
|
|
|
+-+ echo "Error: No dtc command specified."
|
|
|
|
+- printf "Usage:\n\t$0 <dtc-command>\n"
|
|
|
|
+- exit 1
|
|
|
|
+- fi
|
|
|
|
+-
|
|
|
|
+--if ! which $dtc >/dev/null ; then
|
|
|
|
+-- echo "Error: Cannot find dtc: $dtc"
|
|
|
|
+-- exit 1
|
|
|
|
+--fi
|
|
|
|
+--
|
|
|
|
+- MAJOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 1)
|
|
|
|
+- MINOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 2)
|
|
|
|
+- PATCH=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 3 | cut -d - -f 1)
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/106-no-kwbimage.patch b/package/boot/uboot-rockchip/patches/106-no-kwbimage.patch
|
|
|
|
+index 65d14f5bece8..224c14af9165 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/106-no-kwbimage.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/106-no-kwbimage.patch
|
|
|
|
+@@ -1,6 +1,6 @@
|
|
|
|
+ --- a/tools/Makefile
|
|
|
|
+ +++ b/tools/Makefile
|
|
|
|
+-@@ -119,7 +119,6 @@ dumpimage-mkimage-objs := aisimage.o \
|
|
|
|
++@@ -113,7 +113,6 @@ dumpimage-mkimage-objs := aisimage.o \
|
|
|
|
+ imximage.o \
|
|
|
|
+ imx8image.o \
|
|
|
|
+ imx8mimage.o \
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/110-force-pylibfdt-build.patch b/package/boot/uboot-rockchip/patches/110-force-pylibfdt-build.patch
|
|
|
|
+new file mode 100644
|
|
|
|
+index 000000000000..d34ed6f2ae55
|
|
|
|
+--- /dev/null
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/110-force-pylibfdt-build.patch
|
|
|
|
+@@ -0,0 +1,30 @@
|
|
|
|
++--- a/Makefile
|
|
|
|
+++++ b/Makefile
|
|
|
|
++@@ -2000,26 +2000,7 @@ endif
|
|
|
|
++ # Check dtc and pylibfdt, if DTC is provided, else build them
|
|
|
|
++ PHONY += scripts_dtc
|
|
|
|
++ scripts_dtc: scripts_basic
|
|
|
|
++- $(Q)if test "$(DTC)" = "$(DTC_INTREE)"; then \
|
|
|
|
++- $(MAKE) $(build)=scripts/dtc; \
|
|
|
|
++- else \
|
|
|
|
++- if ! $(DTC) -v >/dev/null; then \
|
|
|
|
++- echo '*** Failed to check dtc version: $(DTC)'; \
|
|
|
|
++- false; \
|
|
|
|
++- else \
|
|
|
|
++- if test "$(call dtc-version)" -lt $(DTC_MIN_VERSION); then \
|
|
|
|
++- echo '*** Your dtc is too old, please upgrade to dtc $(DTC_MIN_VERSION) or newer'; \
|
|
|
|
++- false; \
|
|
|
|
++- else \
|
|
|
|
++- if [ -n "$(CONFIG_PYLIBFDT)" ]; then \
|
|
|
|
++- if ! echo "import libfdt" | $(PYTHON3) 2>/dev/null; then \
|
|
|
|
++- echo '*** pylibfdt does not seem to be available with $(PYTHON3)'; \
|
|
|
|
++- false; \
|
|
|
|
++- fi; \
|
|
|
|
++- fi; \
|
|
|
|
++- fi; \
|
|
|
|
++- fi; \
|
|
|
|
++- fi
|
|
|
|
+++ $(MAKE) $(build)=scripts/dtc
|
|
|
|
++
|
|
|
|
++ # ---------------------------------------------------------------------------
|
|
|
|
++ quiet_cmd_cpp_lds = LDS $@
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/111-fix-mkimage-host-build.patch b/package/boot/uboot-rockchip/patches/111-fix-mkimage-host-build.patch
|
|
|
|
+new file mode 100644
|
|
|
|
+index 000000000000..cd65c1321fc3
|
|
|
|
+--- /dev/null
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/111-fix-mkimage-host-build.patch
|
|
|
|
+@@ -0,0 +1,24 @@
|
|
|
|
++--- a/tools/image-host.c
|
|
|
|
+++++ b/tools/image-host.c
|
|
|
|
++@@ -1125,6 +1125,7 @@ static int fit_config_add_verification_d
|
|
|
|
++ * 2) get public key (X509_get_pubkey)
|
|
|
|
++ * 3) provide der format (d2i_RSAPublicKey)
|
|
|
|
++ */
|
|
|
|
+++#ifdef CONFIG_TOOLS_LIBCRYPTO
|
|
|
|
++ static int read_pub_key(const char *keydir, const void *name,
|
|
|
|
++ unsigned char **pubkey, int *pubkey_len)
|
|
|
|
++ {
|
|
|
|
++@@ -1178,6 +1179,13 @@ err_cert:
|
|
|
|
++ fclose(f);
|
|
|
|
++ return ret;
|
|
|
|
++ }
|
|
|
|
+++#else
|
|
|
|
+++static int read_pub_key(const char *keydir, const void *name,
|
|
|
|
+++ unsigned char **pubkey, int *pubkey_len)
|
|
|
|
+++{
|
|
|
|
+++ return -ENOSYS;
|
|
|
|
+++}
|
|
|
|
+++#endif
|
|
|
|
++
|
|
|
|
++ int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
|
|
|
|
++ {
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/120-clk-scmi-Add-Kconfig-option-for-SPL.patch b/package/boot/uboot-rockchip/patches/120-clk-scmi-Add-Kconfig-option-for-SPL.patch
|
|
|
|
+new file mode 100644
|
|
|
|
+index 000000000000..bb6d96515c2f
|
|
|
|
+--- /dev/null
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/120-clk-scmi-Add-Kconfig-option-for-SPL.patch
|
|
|
|
+@@ -0,0 +1,72 @@
|
|
|
|
++From 734b9d9e33919efbec63b1bfe48f25ce16dbd59a Mon Sep 17 00:00:00 2001
|
|
|
|
++From: Jonas Karlman <[email protected]>
|
|
|
|
++Date: Fri, 17 Mar 2023 19:16:45 +0000
|
|
|
|
++Subject: [PATCH] clk: scmi: Add Kconfig option for SPL
|
|
|
|
++
|
|
|
|
++Building U-Boot SPL with CLK_SCMI and SCMI_FIRMWARE Kconfig options
|
|
|
|
++enabled and SPL_FIRMWARE disabled result in the following error.
|
|
|
|
++
|
|
|
|
++ drivers/clk/clk_scmi.o: in function `scmi_clk_gate':
|
|
|
|
++ drivers/clk/clk_scmi.c:84: undefined reference to `devm_scmi_process_msg'
|
|
|
|
++ drivers/clk/clk_scmi.c:88: undefined reference to `scmi_to_linux_errno'
|
|
|
|
++ drivers/clk/clk_scmi.o: in function `scmi_clk_get_rate':
|
|
|
|
++ drivers/clk/clk_scmi.c:113: undefined reference to `devm_scmi_process_msg'
|
|
|
|
++ drivers/clk/clk_scmi.c:117: undefined reference to `scmi_to_linux_errno'
|
|
|
|
++ drivers/clk/clk_scmi.o: in function `scmi_clk_set_rate':
|
|
|
|
++ drivers/clk/clk_scmi.c:139: undefined reference to `devm_scmi_process_msg'
|
|
|
|
++ drivers/clk/clk_scmi.c:143: undefined reference to `scmi_to_linux_errno'
|
|
|
|
++ drivers/clk/clk_scmi.o: in function `scmi_clk_probe':
|
|
|
|
++ drivers/clk/clk_scmi.c:157: undefined reference to `devm_scmi_of_get_channel'
|
|
|
|
++ make[1]: *** [scripts/Makefile.spl:527: spl/u-boot-spl] Error 1
|
|
|
|
++ make: *** [Makefile:2043: spl/u-boot-spl] Error 2
|
|
|
|
++
|
|
|
|
++Add Kconfig option so that CLK_SCMI can be disabled in SPL to fix this.
|
|
|
|
++
|
|
|
|
++Signed-off-by: Jonas Karlman <[email protected]>
|
|
|
|
++Reviewed-by: Kever Yang <[email protected]>
|
|
|
|
++Link: https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/
|
|
|
|
++---
|
|
|
|
++ drivers/clk/Kconfig | 8 ++++++++
|
|
|
|
++ drivers/clk/Makefile | 2 +-
|
|
|
|
++ drivers/firmware/scmi/scmi_agent-uclass.c | 2 +-
|
|
|
|
++ 3 files changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
++
|
|
|
|
++--- a/drivers/clk/Kconfig
|
|
|
|
+++++ b/drivers/clk/Kconfig
|
|
|
|
++@@ -166,6 +166,14 @@ config CLK_SCMI
|
|
|
|
++ by a SCMI agent based on SCMI clock protocol communication
|
|
|
|
++ with a SCMI server.
|
|
|
|
++
|
|
|
|
+++config SPL_CLK_SCMI
|
|
|
|
+++ bool "Enable SCMI clock driver in SPL"
|
|
|
|
+++ depends on SCMI_FIRMWARE && SPL_FIRMWARE
|
|
|
|
+++ help
|
|
|
|
+++ Enable this option if you want to support clock devices exposed
|
|
|
|
+++ by a SCMI agent based on SCMI clock protocol communication
|
|
|
|
+++ with a SCMI server in SPL.
|
|
|
|
+++
|
|
|
|
++ config CLK_HSDK
|
|
|
|
++ bool "Enable cgu clock driver for HSDK boards"
|
|
|
|
++ depends on CLK && TARGET_HSDK
|
|
|
|
++--- a/drivers/clk/Makefile
|
|
|
|
+++++ b/drivers/clk/Makefile
|
|
|
|
++@@ -39,7 +39,7 @@ obj-$(CONFIG_CLK_MVEBU) += mvebu/
|
|
|
|
++ obj-$(CONFIG_CLK_OCTEON) += clk_octeon.o
|
|
|
|
++ obj-$(CONFIG_CLK_OWL) += owl/
|
|
|
|
++ obj-$(CONFIG_CLK_RENESAS) += renesas/
|
|
|
|
++-obj-$(CONFIG_CLK_SCMI) += clk_scmi.o
|
|
|
|
+++obj-$(CONFIG_$(SPL_TPL_)CLK_SCMI) += clk_scmi.o
|
|
|
|
++ obj-$(CONFIG_CLK_SIFIVE) += sifive/
|
|
|
|
++ obj-$(CONFIG_CLK_UNIPHIER) += uniphier/
|
|
|
|
++ obj-$(CONFIG_CLK_VERSACLOCK) += clk_versaclock.o
|
|
|
|
++--- a/drivers/firmware/scmi/scmi_agent-uclass.c
|
|
|
|
+++++ b/drivers/firmware/scmi/scmi_agent-uclass.c
|
|
|
|
++@@ -75,7 +75,7 @@ static int scmi_bind_protocols(struct udevice *dev)
|
|
|
|
++ name = ofnode_get_name(node);
|
|
|
|
++ switch (protocol_id) {
|
|
|
|
++ case SCMI_PROTOCOL_ID_CLOCK:
|
|
|
|
++- if (IS_ENABLED(CONFIG_CLK_SCMI))
|
|
|
|
+++ if (CONFIG_IS_ENABLED(CLK_SCMI))
|
|
|
|
++ drv = DM_DRIVER_GET(scmi_clock);
|
|
|
|
++ break;
|
|
|
|
++ case SCMI_PROTOCOL_ID_RESET_DOMAIN:
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/121-pinctrl-rockchip-Fix-IO-mux-selection-on.patch b/package/boot/uboot-rockchip/patches/121-pinctrl-rockchip-Fix-IO-mux-selection-on.patch
|
|
|
|
+new file mode 100644
|
|
|
|
+index 000000000000..e6a15ce3c9b0
|
|
|
|
+--- /dev/null
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/121-pinctrl-rockchip-Fix-IO-mux-selection-on.patch
|
|
|
|
+@@ -0,0 +1,126 @@
|
|
|
|
++From 7db635cf638dfad08a50e26a6d02e1b6e7a9d7c5 Mon Sep 17 00:00:00 2001
|
|
|
|
++From: Jonas Karlman <[email protected]>
|
|
|
|
++Date: Sat, 18 Mar 2023 23:30:42 +0000
|
|
|
|
++Subject: [PATCH] pinctrl: rockchip: Fix IO mux selection on RK3568
|
|
|
|
++
|
|
|
|
++IO mux selection is not working correctly for all pins. Sync mux route
|
|
|
|
++data from linux to add any missing and update wrong trigger pins to fix
|
|
|
|
++this. Also apply the pull-up fix needed for GPIO0 D3-D6.
|
|
|
|
++
|
|
|
|
++Fixes: 1977d746aa54 ("rockchip: rk3568: add rk3568 pinctrl driver")
|
|
|
|
++Signed-off-by: Jonas Karlman <[email protected]>
|
|
|
|
++Link: https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/
|
|
|
|
++---
|
|
|
|
++ drivers/pinctrl/rockchip/pinctrl-rk3568.c | 66 +++++++++++++----------
|
|
|
|
++ 1 file changed, 38 insertions(+), 28 deletions(-)
|
|
|
|
++
|
|
|
|
++--- a/drivers/pinctrl/rockchip/pinctrl-rk3568.c
|
|
|
|
+++++ b/drivers/pinctrl/rockchip/pinctrl-rk3568.c
|
|
|
|
++@@ -13,6 +13,12 @@
|
|
|
|
++ #include "pinctrl-rockchip.h"
|
|
|
|
++
|
|
|
|
++ static struct rockchip_mux_route_data rk3568_mux_route_data[] = {
|
|
|
|
+++ MR_PMUGRF(RK_GPIO0, RK_PB7, RK_FUNC_1, 0x0110, RK_GENMASK_VAL(1, 0, 0)), /* PWM0 IO mux selection M0 */
|
|
|
|
+++ MR_PMUGRF(RK_GPIO0, RK_PC7, RK_FUNC_2, 0x0110, RK_GENMASK_VAL(1, 0, 1)), /* PWM0 IO mux selection M1 */
|
|
|
|
+++ MR_PMUGRF(RK_GPIO0, RK_PC0, RK_FUNC_1, 0x0110, RK_GENMASK_VAL(3, 2, 0)), /* PWM1 IO mux selection M0 */
|
|
|
|
+++ MR_PMUGRF(RK_GPIO0, RK_PB5, RK_FUNC_4, 0x0110, RK_GENMASK_VAL(3, 2, 1)), /* PWM1 IO mux selection M1 */
|
|
|
|
+++ MR_PMUGRF(RK_GPIO0, RK_PC1, RK_FUNC_1, 0x0110, RK_GENMASK_VAL(5, 4, 0)), /* PWM2 IO mux selection M0 */
|
|
|
|
+++ MR_PMUGRF(RK_GPIO0, RK_PB6, RK_FUNC_4, 0x0110, RK_GENMASK_VAL(5, 4, 1)), /* PWM2 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO0, RK_PB3, RK_FUNC_2, 0x0300, RK_GENMASK_VAL(0, 0, 0)), /* CAN0 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PA1, RK_FUNC_4, 0x0300, RK_GENMASK_VAL(0, 0, 1)), /* CAN0 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO1, RK_PA1, RK_FUNC_3, 0x0300, RK_GENMASK_VAL(2, 2, 0)), /* CAN1 IO mux selection M0 */
|
|
|
|
++@@ -33,30 +39,22 @@ static struct rockchip_mux_route_data rk3568_mux_route_data[] = {
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PB1, RK_FUNC_2, 0x0304, RK_GENMASK_VAL(2, 2, 1)), /* I2C4 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO3, RK_PB4, RK_FUNC_4, 0x0304, RK_GENMASK_VAL(4, 4, 0)), /* I2C5 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO4, RK_PD0, RK_FUNC_2, 0x0304, RK_GENMASK_VAL(4, 4, 1)), /* I2C5 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(6, 6, 0)), /* PWM4 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(6, 6, 1)), /* PWM4 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(8, 8, 0)), /* PWM5 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(8, 8, 1)), /* PWM5 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(10, 10, 0)), /* PWM6 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(10, 10, 1)), /* PWM6 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(12, 12, 0)), /* PWM7 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(12, 12, 1)), /* PWM7 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(14, 14, 0)), /* PWM8 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0304, RK_GENMASK_VAL(14, 14, 1)), /* PWM8 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(0, 0, 0)), /* PWM9 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(0, 0, 1)), /* PWM9 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(2, 2, 0)), /* PWM10 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(2, 2, 1)), /* PWM10 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(4, 4, 0)), /* PWM11 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(4, 4, 1)), /* PWM11 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(6, 6, 0)), /* PWM12 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(6, 6, 1)), /* PWM12 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(8, 8, 0)), /* PWM13 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(8, 8, 1)), /* PWM13 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(10, 10, 0)), /* PWM14 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(10, 10, 1)), /* PWM14 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(12, 12, 0)), /* PWM15 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(12, 12, 1)), /* PWM15 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PB1, RK_FUNC_5, 0x0304, RK_GENMASK_VAL(14, 14, 0)), /* PWM8 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO1, RK_PD5, RK_FUNC_4, 0x0304, RK_GENMASK_VAL(14, 14, 1)), /* PWM8 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PB2, RK_FUNC_5, 0x0308, RK_GENMASK_VAL(0, 0, 0)), /* PWM9 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO1, RK_PD6, RK_FUNC_4, 0x0308, RK_GENMASK_VAL(0, 0, 1)), /* PWM9 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PB5, RK_FUNC_5, 0x0308, RK_GENMASK_VAL(2, 2, 0)), /* PWM10 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO2, RK_PA1, RK_FUNC_2, 0x0308, RK_GENMASK_VAL(2, 2, 1)), /* PWM10 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PB6, RK_FUNC_5, 0x0308, RK_GENMASK_VAL(4, 4, 0)), /* PWM11 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PC0, RK_FUNC_3, 0x0308, RK_GENMASK_VAL(4, 4, 1)), /* PWM11 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PB7, RK_FUNC_2, 0x0308, RK_GENMASK_VAL(6, 6, 0)), /* PWM12 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PC5, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(6, 6, 1)), /* PWM12 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PC0, RK_FUNC_2, 0x0308, RK_GENMASK_VAL(8, 8, 0)), /* PWM13 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PC6, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(8, 8, 1)), /* PWM13 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PC4, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(10, 10, 0)), /* PWM14 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PC2, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(10, 10, 1)), /* PWM14 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PC5, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(12, 12, 0)), /* PWM15 IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PC3, RK_FUNC_1, 0x0308, RK_GENMASK_VAL(12, 12, 1)), /* PWM15 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_3, 0x0308, RK_GENMASK_VAL(14, 14, 0)), /* SDMMC2 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO3, RK_PA5, RK_FUNC_5, 0x0308, RK_GENMASK_VAL(14, 14, 1)), /* SDMMC2 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO0, RK_PB5, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(0, 0, 0)), /* SPI0 IO mux selection M0 */
|
|
|
|
++@@ -68,7 +66,7 @@ static struct rockchip_mux_route_data rk3568_mux_route_data[] = {
|
|
|
|
++ MR_TOPGRF(RK_GPIO4, RK_PB3, RK_FUNC_4, 0x030c, RK_GENMASK_VAL(6, 6, 0)), /* SPI3 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO4, RK_PC2, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(6, 6, 1)), /* SPI3 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PB4, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(8, 8, 0)), /* UART1 IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO0, RK_PD1, RK_FUNC_1, 0x030c, RK_GENMASK_VAL(8, 8, 1)), /* UART1 IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PD6, RK_FUNC_4, 0x030c, RK_GENMASK_VAL(8, 8, 1)), /* UART1 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO0, RK_PD1, RK_FUNC_1, 0x030c, RK_GENMASK_VAL(10, 10, 0)), /* UART2 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO1, RK_PD5, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(10, 10, 1)), /* UART2 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO1, RK_PA1, RK_FUNC_2, 0x030c, RK_GENMASK_VAL(12, 12, 0)), /* UART3 IO mux selection M0 */
|
|
|
|
++@@ -81,7 +79,7 @@ static struct rockchip_mux_route_data rk3568_mux_route_data[] = {
|
|
|
|
++ MR_TOPGRF(RK_GPIO1, RK_PD5, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(2, 2, 1)), /* UART6 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PA6, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(5, 4, 0)), /* UART7 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO3, RK_PC4, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(5, 4, 1)), /* UART7 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD2, RK_FUNC_1, 0x0310, RK_GENMASK_VAL(5, 4, 2)), /* UART7 IO mux selection M2 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PA2, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(5, 4, 2)), /* UART7 IO mux selection M2 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PC5, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(6, 6, 0)), /* UART8 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PD7, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(6, 6, 1)), /* UART8 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PB0, RK_FUNC_3, 0x0310, RK_GENMASK_VAL(9, 8, 0)), /* UART9 IO mux selection M0 */
|
|
|
|
++@@ -94,8 +92,11 @@ static struct rockchip_mux_route_data rk3568_mux_route_data[] = {
|
|
|
|
++ MR_TOPGRF(RK_GPIO4, RK_PB6, RK_FUNC_5, 0x0310, RK_GENMASK_VAL(12, 12, 1)), /* I2S2 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO3, RK_PA2, RK_FUNC_4, 0x0310, RK_GENMASK_VAL(14, 14, 0)), /* I2S3 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO4, RK_PC2, RK_FUNC_5, 0x0310, RK_GENMASK_VAL(14, 14, 1)), /* I2S3 IO mux selection M1 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO1, RK_PA6, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(0, 0, 0)), /* PDM IO mux selection M0 */
|
|
|
|
++- MR_TOPGRF(RK_GPIO3, RK_PD6, RK_FUNC_5, 0x0314, RK_GENMASK_VAL(0, 0, 1)), /* PDM IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO1, RK_PA4, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(1, 0, 0)), /* PDM IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO1, RK_PA6, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(1, 0, 0)), /* PDM IO mux selection M0 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PD6, RK_FUNC_5, 0x0314, RK_GENMASK_VAL(1, 0, 1)), /* PDM IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO4, RK_PA0, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(1, 0, 1)), /* PDM IO mux selection M1 */
|
|
|
|
+++ MR_TOPGRF(RK_GPIO3, RK_PC4, RK_FUNC_5, 0x0314, RK_GENMASK_VAL(1, 0, 2)), /* PDM IO mux selection M2 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO0, RK_PA5, RK_FUNC_3, 0x0314, RK_GENMASK_VAL(3, 2, 0)), /* PCIE20 IO mux selection M0 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO2, RK_PD0, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(3, 2, 1)), /* PCIE20 IO mux selection M1 */
|
|
|
|
++ MR_TOPGRF(RK_GPIO1, RK_PB0, RK_FUNC_4, 0x0314, RK_GENMASK_VAL(3, 2, 2)), /* PCIE20 IO mux selection M2 */
|
|
|
|
++@@ -237,6 +238,15 @@ static int rk3568_set_pull(struct rockchip_pin_bank *bank,
|
|
|
|
++ return ret;
|
|
|
|
++ }
|
|
|
|
++
|
|
|
|
+++ /*
|
|
|
|
+++ * In the TRM, pull-up being 1 for everything except the GPIO0_D3-D6,
|
|
|
|
+++ * where that pull up value becomes 3.
|
|
|
|
+++ */
|
|
|
|
+++ if (bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) {
|
|
|
|
+++ if (ret == 1)
|
|
|
|
+++ ret = 3;
|
|
|
|
+++ }
|
|
|
|
+++
|
|
|
|
++ /* enable the write to the equivalent lower bits */
|
|
|
|
++ data = ((1 << ROCKCHIP_PULL_BITS_PER_PIN) - 1) << (bit + 16);
|
|
|
|
++
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/203-rock64pro-disable-CONFIG_USE_PREBOOT.patch b/package/boot/uboot-rockchip/patches/203-rock64pro-disable-CONFIG_USE_PREBOOT.patch
|
|
|
|
+index f630818358d2..37e50d175c00 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/203-rock64pro-disable-CONFIG_USE_PREBOOT.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/203-rock64pro-disable-CONFIG_USE_PREBOOT.patch
|
|
|
|
+@@ -17,10 +17,10 @@ Signed-off-by: Marty Jones <[email protected]>
|
|
|
|
+
|
|
|
|
+ --- a/configs/rockpro64-rk3399_defconfig
|
|
|
|
+ +++ b/configs/rockpro64-rk3399_defconfig
|
|
|
|
+-@@ -12,7 +12,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
|
|
|
+- CONFIG_SPL_SPI_SUPPORT=y
|
|
|
|
+- CONFIG_DEFAULT_DEVICE_TREE="rk3399-rockpro64"
|
|
|
|
++@@ -21,7 +21,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
|
|
|
+ CONFIG_DEBUG_UART=y
|
|
|
|
++ CONFIG_BOOTSTAGE=y
|
|
|
|
++ CONFIG_BOOTSTAGE_REPORT=y
|
|
|
|
+ -CONFIG_USE_PREBOOT=y
|
|
|
|
+ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
|
|
|
|
+ CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/301-arm64-dts-rockchip-Add-GuangMiao-G4C-support.patch b/package/boot/uboot-rockchip/patches/301-arm64-dts-rockchip-Add-GuangMiao-G4C-support.patch
|
|
|
|
+index fae269b7149f..57d5b0f8d9be 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/301-arm64-dts-rockchip-Add-GuangMiao-G4C-support.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/301-arm64-dts-rockchip-Add-GuangMiao-G4C-support.patch
|
|
|
|
+@@ -13,7 +13,7 @@
|
|
|
|
+ @@ -0,0 +1,57 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3399=y
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3399=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/302-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus.patch b/package/boot/uboot-rockchip/patches/302-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus.patch
|
|
|
|
+index 18b0734277d3..60c2ec7a8d1f 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/302-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/302-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus.patch
|
|
|
|
+@@ -42,27 +42,31 @@
|
|
|
|
+ +};
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/orangepi-r1-plus-rk3328_defconfig
|
|
|
|
+-@@ -0,0 +1,104 @@
|
|
|
|
++@@ -0,0 +1,112 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+ +CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_SPL_GPIO=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=1
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3328-orangepi-r1-plus"
|
|
|
|
+++CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3328=y
|
|
|
|
+ +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+ +CONFIG_TPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_TPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_DRIVERS_MISC=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+++CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFF130000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0x800800
|
|
|
|
+ +CONFIG_DEBUG_UART=y
|
|
|
|
+-+CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
|
|
|
+ +# CONFIG_ANDROID_BOOT_IMAGE is not set
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+@@ -71,13 +75,19 @@
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+ +CONFIG_MISC_INIT_R=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x2000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x2000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-+CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+ +CONFIG_SPL_I2C=y
|
|
|
|
+ +CONFIG_SPL_POWER=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+ +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
|
|
|
|
+++CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
|
|
|
+ +CONFIG_CMD_BOOTZ=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+@@ -108,7 +118,6 @@
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SF_DEFAULT_SPEED=20000000
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+ +CONFIG_PINCTRL=y
|
|
|
|
+@@ -125,9 +134,9 @@
|
|
|
|
+ +CONFIG_RAM=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+ +CONFIG_TPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSINFO=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +# CONFIG_TPL_SYSRESET is not set
|
|
|
|
+@@ -138,7 +147,6 @@
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_OHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+ +CONFIG_USB_DWC2=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +# CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/303-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus-LTS.patch b/package/boot/uboot-rockchip/patches/303-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus-LTS.patch
|
|
|
|
+index 953d531bdef6..5cbbffa07b96 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/303-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus-LTS.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/303-rockchip-rk3328-Add-support-for-Orangepi-R1-Plus-LTS.patch
|
|
|
|
+@@ -37,27 +37,31 @@ Subject: [PATCH] Add support for Orangepi R1 Plus LTS
|
|
|
|
+ +};
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/orangepi-r1-plus-lts-rk3328_defconfig
|
|
|
|
+-@@ -0,0 +1,104 @@
|
|
|
|
++@@ -0,0 +1,112 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+ +CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_SPL_GPIO=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=1
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3328-orangepi-r1-plus-lts"
|
|
|
|
+++CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3328=y
|
|
|
|
+ +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+ +CONFIG_TPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_TPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_DRIVERS_MISC=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+++CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFF130000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0x800800
|
|
|
|
+ +CONFIG_DEBUG_UART=y
|
|
|
|
+-+CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
|
|
|
+ +# CONFIG_ANDROID_BOOT_IMAGE is not set
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+@@ -66,13 +70,19 @@ Subject: [PATCH] Add support for Orangepi R1 Plus LTS
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+ +CONFIG_MISC_INIT_R=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x2000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x2000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-+CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+ +CONFIG_SPL_I2C=y
|
|
|
|
+ +CONFIG_SPL_POWER=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+ +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
|
|
|
|
+++CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
|
|
|
+ +CONFIG_CMD_BOOTZ=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+@@ -103,7 +113,6 @@ Subject: [PATCH] Add support for Orangepi R1 Plus LTS
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SF_DEFAULT_SPEED=20000000
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+ +CONFIG_PINCTRL=y
|
|
|
|
+@@ -120,9 +129,9 @@ Subject: [PATCH] Add support for Orangepi R1 Plus LTS
|
|
|
|
+ +CONFIG_RAM=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+ +CONFIG_TPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSINFO=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +# CONFIG_TPL_SYSRESET is not set
|
|
|
|
+@@ -133,7 +142,6 @@ Subject: [PATCH] Add support for Orangepi R1 Plus LTS
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_OHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+ +CONFIG_USB_DWC2=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +# CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+@@ -142,5 +150,3 @@ Subject: [PATCH] Add support for Orangepi R1 Plus LTS
|
|
|
|
+ +CONFIG_SPL_TINY_MEMSET=y
|
|
|
|
+ +CONFIG_TPL_TINY_MEMSET=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+---
|
|
|
|
+-2.25.1
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/304-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch b/package/boot/uboot-rockchip/patches/304-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch
|
|
|
|
+index 39022fddfb15..02291e29bf29 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/304-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/304-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch
|
|
|
|
+@@ -81,25 +81,31 @@ new file mode 100644
|
|
|
|
+ index 0000000000..7bc7a3274f
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/nanopi-r2c-rk3328_defconfig
|
|
|
|
+-@@ -0,0 +1,100 @@
|
|
|
|
++@@ -0,0 +1,112 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+++CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+-+CONFIG_SPL_GPIO_SUPPORT=y
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_SPL_GPIO=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=1
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3328-nanopi-r2c"
|
|
|
|
+++CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3328=y
|
|
|
|
+ +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+ +CONFIG_TPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_TPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
|
|
|
|
+++CONFIG_SPL_DRIVERS_MISC=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+++CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFF130000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0x800800
|
|
|
|
+ +CONFIG_DEBUG_UART=y
|
|
|
|
+-+CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
|
|
|
|
+ +# CONFIG_ANDROID_BOOT_IMAGE is not set
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+@@ -108,13 +114,19 @@ index 0000000000..7bc7a3274f
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+ +CONFIG_MISC_INIT_R=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x2000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x2000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+-+CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_I2C_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_POWER_SUPPORT=y
|
|
|
|
+++CONFIG_SPL_I2C=y
|
|
|
|
+++CONFIG_SPL_POWER=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+ +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
|
|
|
|
+++CONFIG_TPL_SYS_MALLOC_SIMPLE=y
|
|
|
|
+ +CONFIG_CMD_BOOTZ=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+@@ -127,6 +139,7 @@ index 0000000000..7bc7a3274f
|
|
|
|
+ +CONFIG_TPL_OF_PLATDATA=y
|
|
|
|
+ +CONFIG_ENV_IS_IN_MMC=y
|
|
|
|
+ +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
|
|
|
+++CONFIG_SYS_MMC_ENV_DEV=1
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+ +CONFIG_TPL_DM=y
|
|
|
|
+ +CONFIG_REGMAP=y
|
|
|
|
+@@ -144,13 +157,13 @@ index 0000000000..7bc7a3274f
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SF_DEFAULT_SPEED=20000000
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+ +CONFIG_PINCTRL=y
|
|
|
|
+ +CONFIG_SPL_PINCTRL=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_DM_REGULATOR=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+ +CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+@@ -160,9 +173,9 @@ index 0000000000..7bc7a3274f
|
|
|
|
+ +CONFIG_RAM=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+ +CONFIG_TPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSINFO=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +# CONFIG_TPL_SYSRESET is not set
|
|
|
|
+@@ -173,7 +186,6 @@ index 0000000000..7bc7a3274f
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_OHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+ +CONFIG_USB_DWC2=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +# CONFIG_USB_DWC3_GADGET is not set
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/305-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch b/package/boot/uboot-rockchip/patches/305-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch
|
|
|
|
+index ca6f80958ff2..d9dc149af00f 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/305-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/305-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch
|
|
|
|
+@@ -50,7 +50,7 @@
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+ +CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=1
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4se"
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/306-rockchip-rk3399-Add-support-for-Rongpin-king3399.patch b/package/boot/uboot-rockchip/patches/306-rockchip-rk3399-Add-support-for-Rongpin-king3399.patch
|
|
|
|
+index 837f586491ac..9e6bd4e17e54 100755
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/306-rockchip-rk3399-Add-support-for-Rongpin-king3399.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/306-rockchip-rk3399-Add-support-for-Rongpin-king3399.patch
|
|
|
|
+@@ -5,7 +5,7 @@
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+ +CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=1
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4se"
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/307-rockchip-rk3399-Add-support-for-Rocktech-MPC1903.patch b/package/boot/uboot-rockchip/patches/307-rockchip-rk3399-Add-support-for-Rocktech-MPC1903.patch
|
|
|
|
+index bdccbc01f151..040821367725 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/307-rockchip-rk3399-Add-support-for-Rocktech-MPC1903.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/307-rockchip-rk3399-Add-support-for-Rocktech-MPC1903.patch
|
|
|
|
+@@ -723,7 +723,7 @@
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+ +CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3399=y
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3399=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/308-rockchip-rk3399-Add-support-for-sharevdi-h3399pc.patch b/package/boot/uboot-rockchip/patches/308-rockchip-rk3399-Add-support-for-sharevdi-h3399pc.patch
|
|
|
|
+index b7db33ec0707..9d6cf894391f 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/308-rockchip-rk3399-Add-support-for-sharevdi-h3399pc.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/308-rockchip-rk3399-Add-support-for-sharevdi-h3399pc.patch
|
|
|
|
+@@ -863,7 +863,7 @@
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+ +CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00200000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00200000
|
|
|
|
+ +CONFIG_ENV_OFFSET=0x3F8000
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3399=y
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3399=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/311-rockchip-rk3568-Add-support-for-ezpro_mrkaio-m68s.patch b/package/boot/uboot-rockchip/patches/311-rockchip-rk3568-Add-support-for-ezpro_mrkaio-m68s.patch
|
|
|
|
+index ff7ded5f8c85..7bba95d54f27 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/311-rockchip-rk3568-Add-support-for-ezpro_mrkaio-m68s.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/311-rockchip-rk3568-Add-support-for-ezpro_mrkaio-m68s.patch
|
|
|
|
+@@ -1,19 +1,19 @@
|
|
|
|
+ --- a/arch/arm/dts/Makefile
|
|
|
|
+ +++ b/arch/arm/dts/Makefile
|
|
|
|
+ @@ -171,6 +171,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
++
|
|
|
|
+ dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+- rk3568-bpi-r2-pro.dtb \
|
|
|
|
+ rk3568-evb.dtb \
|
|
|
|
+ + rk3568-mrkaio-m68s.dtb \
|
|
|
|
+ rk3568-nanopi-r5s.dtb \
|
|
|
|
+- rk3566-quartz64-a.dtb \
|
|
|
|
++ rk3566-radxa-cm3-io.dtb \
|
|
|
|
+ rk3568-rock-3a.dtb
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/arch/arm/dts/rk3568-mrkaio-m68s-u-boot.dtsi
|
|
|
|
+ @@ -0,0 +1,21 @@
|
|
|
|
+ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+ +
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+++#include "rk356x-u-boot.dtsi"
|
|
|
|
+ +
|
|
|
|
+ +/ {
|
|
|
|
+ + chosen {
|
|
|
|
+@@ -305,103 +305,95 @@
|
|
|
|
+ +};
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/mrkaio-m68s-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,99 @@
|
|
|
|
++@@ -0,0 +1,91 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-mrkaio-m68s"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+++CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_SPL_MMC=y
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-mrkaio-m68s.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+ +CONFIG_SPL_ADC=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_CMD_ADC=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+ +CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+ +CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+ +CONFIG_CMD_REGULATOR=y
|
|
|
|
+++# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+ +CONFIG_OF_LIVE=y
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+++CONFIG_SUPPORT_EMMC_RPMB=y
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+ +CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+ +CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+ +CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +CONFIG_USB=y
|
|
|
|
+ +CONFIG_USB_XHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+ +CONFIG_USB_EHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/312-rockchip-rk3568-Add-support-for-hinlink-opc-h68k.patch b/package/boot/uboot-rockchip/patches/312-rockchip-rk3568-Add-support-for-hinlink-opc-h68k.patch
|
|
|
|
+index 3d007271326d..04b06513e112 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/312-rockchip-rk3568-Add-support-for-hinlink-opc-h68k.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/312-rockchip-rk3568-Add-support-for-hinlink-opc-h68k.patch
|
|
|
|
+@@ -1,19 +1,19 @@
|
|
|
|
+ --- a/arch/arm/dts/Makefile
|
|
|
|
+ +++ b/arch/arm/dts/Makefile
|
|
|
|
+ @@ -171,6 +171,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
++
|
|
|
|
+ dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+- rk3568-bpi-r2-pro.dtb \
|
|
|
|
+ rk3568-evb.dtb \
|
|
|
|
+ + rk3568-opc-h68k.dtb \
|
|
|
|
+ rk3568-mrkaio-m68s.dtb \
|
|
|
|
+ rk3568-nanopi-r5s.dtb \
|
|
|
|
+- rk3566-quartz64-a.dtb \
|
|
|
|
++ rk3566-radxa-cm3-io.dtb \
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/arch/arm/dts/rk3568-opc-h68k-u-boot.dtsi
|
|
|
|
+ @@ -0,0 +1,21 @@
|
|
|
|
+ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+ +
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+++#include "rk356x-u-boot.dtsi"
|
|
|
|
+ +
|
|
|
|
+ +/ {
|
|
|
|
+ + chosen {
|
|
|
|
+@@ -314,103 +314,95 @@
|
|
|
|
+ +};
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/opc-h68k-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,99 @@
|
|
|
|
++@@ -0,0 +1,91 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-opc-h68k"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+++CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_SPL_MMC=y
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-opc-h68k.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+ +CONFIG_SPL_ADC=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_CMD_ADC=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+ +CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+ +CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+ +CONFIG_CMD_REGULATOR=y
|
|
|
|
+++# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+ +CONFIG_OF_LIVE=y
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+++CONFIG_SUPPORT_EMMC_RPMB=y
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+ +CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+ +CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+ +CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +CONFIG_USB=y
|
|
|
|
+ +CONFIG_USB_XHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+ +CONFIG_USB_EHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/313-rockchip-rk3568-Add-support-for-fastrhino-r66s.patch b/package/boot/uboot-rockchip/patches/313-rockchip-rk3568-Add-support-for-fastrhino-r66s.patch
|
|
|
|
+index c4b9e19b81e5..de01269e5e3e 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/313-rockchip-rk3568-Add-support-for-fastrhino-r66s.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/313-rockchip-rk3568-Add-support-for-fastrhino-r66s.patch
|
|
|
|
+@@ -1,8 +1,8 @@
|
|
|
|
+ --- a/arch/arm/dts/Makefile
|
|
|
|
+ +++ b/arch/arm/dts/Makefile
|
|
|
|
+ @@ -171,6 +171,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
|
|
|
++
|
|
|
|
+ dtb-$(CONFIG_ROCKCHIP_RK3568) += \
|
|
|
|
+- rk3568-bpi-r2-pro.dtb \
|
|
|
|
+ rk3568-evb.dtb \
|
|
|
|
+ + rk3568-r66s.dtb \
|
|
|
|
+ rk3568-opc-h68k.dtb \
|
|
|
|
+@@ -13,7 +13,7 @@
|
|
|
|
+ @@ -0,0 +1,21 @@
|
|
|
|
+ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+ +
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+++#include "rk356x-u-boot.dtsi"
|
|
|
|
+ +
|
|
|
|
+ +/ {
|
|
|
|
+ + chosen {
|
|
|
|
+@@ -39,103 +39,95 @@
|
|
|
|
+ +#include "rk3568-evb.dts"
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/r66s-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,99 @@
|
|
|
|
++@@ -0,0 +1,91 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-r66s"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+++CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_SPL_MMC=y
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-r66s.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+ +CONFIG_SPL_ADC=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_CMD_ADC=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+ +CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+ +CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+ +CONFIG_CMD_REGULATOR=y
|
|
|
|
+++# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+ +CONFIG_OF_LIVE=y
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+++CONFIG_SUPPORT_EMMC_RPMB=y
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+ +CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+ +CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+ +CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +CONFIG_USB=y
|
|
|
|
+ +CONFIG_USB_XHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+ +CONFIG_USB_EHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-Station-P2.patch b/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-Station-P2.patch
|
|
|
|
+index 3df47445fb79..26531f3799d2 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-Station-P2.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-Station-P2.patch
|
|
|
|
+@@ -8,19 +8,19 @@ Subject: [PATCH] rockchip: rk3568: Add support for Station P2
|
|
|
|
+ 1 file changed, 59 insertions(+)
|
|
|
|
+ create mode 100644 configs/station-p2-rk3568_defconfig
|
|
|
|
+
|
|
|
|
+-diff --git a/configs/station-p2-rk3568_defconfig b/configs/station-p2-rk3568_defconfig
|
|
|
|
+-new file mode 100644
|
|
|
|
+-index 0000000000..435be99edf
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/station-p2-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,59 @@
|
|
|
|
++@@ -0,0 +1,87 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-evb"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+@@ -29,22 +29,32 @@ index 0000000000..435be99edf
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-evb.dtb"
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+++CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+++CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+++CONFIG_CMD_USB=y
|
|
|
|
+++CONFIG_CMD_REGULATOR=y
|
|
|
|
+ +# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+@@ -53,6 +63,8 @@ index 0000000000..435be99edf
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+@@ -62,16 +74,27 @@ index 0000000000..435be99edf
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+++CONFIG_DM_PMIC=y
|
|
|
|
+++CONFIG_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+++CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+ +CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+++CONFIG_USB=y
|
|
|
|
+++CONFIG_USB_XHCI_HCD=y
|
|
|
|
+++CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+++CONFIG_USB_EHCI_HCD=y
|
|
|
|
+++CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+++CONFIG_USB_DWC3=y
|
|
|
|
+++CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+---
|
|
|
|
+-2.20.1
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-photonicat.patch b/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-photonicat.patch
|
|
|
|
+index 216186289282..35dd32e67b71 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-photonicat.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/314-rockchip-rk3568-Add-support-for-photonicat.patch
|
|
|
|
+@@ -5,15 +5,15 @@
|
|
|
|
+ rk3568-mrkaio-m68s.dtb \
|
|
|
|
+ rk3568-nanopi-r5s.dtb \
|
|
|
|
+ + rk3568-photonicat.dtb \
|
|
|
|
+- rk3566-quartz64-a.dtb \
|
|
|
|
+- rk3568-rock-3a.dtb \
|
|
|
|
+- rk3568-rock-pi-e25.dtb
|
|
|
|
++ rk3566-radxa-cm3-io.dtb \
|
|
|
|
++ rk3568-rock-3a.dtb
|
|
|
|
++
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/arch/arm/dts/rk3568-photonicat-u-boot.dtsi
|
|
|
|
+ @@ -0,0 +1,33 @@
|
|
|
|
+ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+ +
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+++#include "rk356x-u-boot.dtsi"
|
|
|
|
+ +
|
|
|
|
+ +/ {
|
|
|
|
+ + chosen {
|
|
|
|
+@@ -103,14 +103,17 @@
|
|
|
|
+ +};
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/photonicat-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,101 @@
|
|
|
|
++@@ -0,0 +1,94 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-photonicat"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+@@ -120,89 +123,78 @@
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-photonicat.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=2
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+ +CONFIG_SPL_ADC=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+ +CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_CMD_ADC=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+ +CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+ +CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+ +CONFIG_CMD_REGULATOR=y
|
|
|
|
+++# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+ +CONFIG_OF_LIVE=y
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+ +CONFIG_MMC_IO_VOLTAGE=y
|
|
|
|
+ +CONFIG_SPL_MMC_IO_VOLTAGE=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+++CONFIG_SUPPORT_EMMC_RPMB=y
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+ +CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+ +CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+ +CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +CONFIG_USB=y
|
|
|
|
+ +CONFIG_USB_XHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+ +CONFIG_USB_EHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|
|
|
|
+diff --git a/package/boot/uboot-rockchip/patches/315-rockchip-rk3568-Add-support-for-radxa_e25.patch b/package/boot/uboot-rockchip/patches/315-rockchip-rk3568-Add-support-for-radxa_e25.patch
|
|
|
|
+index 97db4c6722dd..f07e184af652 100644
|
|
|
|
+--- a/package/boot/uboot-rockchip/patches/315-rockchip-rk3568-Add-support-for-radxa_e25.patch
|
|
|
|
++++ b/package/boot/uboot-rockchip/patches/315-rockchip-rk3568-Add-support-for-radxa_e25.patch
|
|
|
|
+@@ -1,21 +1,21 @@
|
|
|
|
+ --- a/arch/arm/dts/Makefile
|
|
|
|
+ +++ b/arch/arm/dts/Makefile
|
|
|
|
+ @@ -177,7 +177,8 @@ rk3568-evb.dtb \
|
|
|
|
+- rk3568-mrkaio-m68s.dtb \
|
|
|
|
+ rk3568-nanopi-r5s.dtb \
|
|
|
|
+- rk3566-quartz64-a.dtb \
|
|
|
|
++ rk3568-photonicat.dtb \
|
|
|
|
++ rk3566-radxa-cm3-io.dtb \
|
|
|
|
+ - rk3568-rock-3a.dtb
|
|
|
|
+ + rk3568-rock-3a.dtb \
|
|
|
|
+ + rk3568-radxa-e25.dtb
|
|
|
|
+
|
|
|
|
+- dtb-$(CONFIG_ROCKCHIP_RV1108) += \
|
|
|
|
+- rv1108-elgin-r1.dtb \
|
|
|
|
++ dtb-$(CONFIG_ROCKCHIP_RK3588) += \
|
|
|
|
++ rk3588-edgeble-neu6a-io.dtb \
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/arch/arm/dts/rk3568-radxa-e25-u-boot.dtsi
|
|
|
|
+ @@ -0,0 +1,21 @@
|
|
|
|
+ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
|
|
+ +
|
|
|
|
+-+#include "rk3568-u-boot.dtsi"
|
|
|
|
+++#include "rk356x-u-boot.dtsi"
|
|
|
|
+ +
|
|
|
|
+ +/ {
|
|
|
|
+ + chosen {
|
|
|
|
+@@ -47,103 +47,93 @@
|
|
|
|
+ +};
|
|
|
|
+ --- /dev/null
|
|
|
|
+ +++ b/configs/radxa-e25-rk3568_defconfig
|
|
|
|
+-@@ -0,0 +1,99 @@
|
|
|
|
++@@ -0,0 +1,89 @@
|
|
|
|
+ +CONFIG_ARM=y
|
|
|
|
+ +CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
|
|
+++CONFIG_COUNTER_FREQUENCY=24000000
|
|
|
|
+ +CONFIG_ARCH_ROCKCHIP=y
|
|
|
|
+-+CONFIG_SYS_TEXT_BASE=0x00a00000
|
|
|
|
+++CONFIG_TEXT_BASE=0x00a00000
|
|
|
|
+ +CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
|
|
|
+ +CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
|
|
|
+ +CONFIG_NR_DRAM_BANKS=2
|
|
|
|
+++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
|
|
+++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000
|
|
|
|
+ +CONFIG_DEFAULT_DEVICE_TREE="rk3568-radxa-e25"
|
|
|
|
+ +CONFIG_ROCKCHIP_RK3568=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
|
|
|
+ +CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
|
|
|
|
+++CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_SPL_MMC=y
|
|
|
|
+ +CONFIG_SPL_SERIAL=y
|
|
|
|
+ +CONFIG_SPL_STACK_R_ADDR=0x600000
|
|
|
|
+ +CONFIG_TARGET_EVB_RK3568=y
|
|
|
|
+++CONFIG_SPL_STACK=0x400000
|
|
|
|
+ +CONFIG_DEBUG_UART_BASE=0xFE660000
|
|
|
|
+ +CONFIG_DEBUG_UART_CLOCK=24000000
|
|
|
|
+-+CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
|
|
+-+CONFIG_API=y
|
|
|
|
+++CONFIG_DEBUG_UART=y
|
|
|
|
+ +CONFIG_FIT=y
|
|
|
|
+ +CONFIG_FIT_VERBOSE=y
|
|
|
|
+ +CONFIG_SPL_LOAD_FIT=y
|
|
|
|
+-+CONFIG_OF_SYSTEM_SETUP=y
|
|
|
|
+ +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-radxa-e25.dtb"
|
|
|
|
+-+# CONFIG_SYS_DEVICE_NULLDEV is not set
|
|
|
|
+-+CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS=1
|
|
|
|
+ +# CONFIG_DISPLAY_CPUINFO is not set
|
|
|
|
+ +CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
|
|
+++CONFIG_SPL_MAX_SIZE=0x40000
|
|
|
|
+++CONFIG_SPL_PAD_TO=0x7f8000
|
|
|
|
+++CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
|
|
|
|
+++CONFIG_SPL_BSS_START_ADDR=0x4000000
|
|
|
|
+++CONFIG_SPL_BSS_MAX_SIZE=0x4000
|
|
|
|
+ +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
|
|
+++# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
|
|
|
|
+ +CONFIG_SPL_STACK_R=y
|
|
|
|
+-+CONFIG_SPL_SEPARATE_BSS=y
|
|
|
|
+ +CONFIG_SPL_ADC=y
|
|
|
|
+ +CONFIG_SPL_ATF=y
|
|
|
|
+-+CONFIG_SPL_BOARD_INIT=y
|
|
|
|
+ +CONFIG_CMD_ADC=y
|
|
|
|
+-+CONFIG_CMD_BIND=y
|
|
|
|
+-+CONFIG_CMD_CLK=y
|
|
|
|
+ +CONFIG_CMD_GPIO=y
|
|
|
|
+ +CONFIG_CMD_GPT=y
|
|
|
|
+ +CONFIG_CMD_I2C=y
|
|
|
|
+ +CONFIG_CMD_MMC=y
|
|
|
|
+ +CONFIG_CMD_USB=y
|
|
|
|
+-+# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+-+CONFIG_CMD_PMIC=y
|
|
|
|
+ +CONFIG_CMD_REGULATOR=y
|
|
|
|
+++# CONFIG_CMD_SETEXPR is not set
|
|
|
|
+ +# CONFIG_SPL_DOS_PARTITION is not set
|
|
|
|
+ +CONFIG_SPL_OF_CONTROL=y
|
|
|
|
+ +CONFIG_OF_LIVE=y
|
|
|
|
+ +CONFIG_NET_RANDOM_ETHADDR=y
|
|
|
|
+-+CONFIG_SPL_DM_WARN=y
|
|
|
|
+ +CONFIG_SPL_REGMAP=y
|
|
|
|
+ +CONFIG_SPL_SYSCON=y
|
|
|
|
+ +CONFIG_SPL_CLK=y
|
|
|
|
+++CONFIG_CLK_SCMI=y
|
|
|
|
+++CONFIG_RESET_SCMI=y
|
|
|
|
+ +CONFIG_ROCKCHIP_GPIO=y
|
|
|
|
+-+CONFIG_ROCKCHIP_GPIO_V2=y
|
|
|
|
+ +CONFIG_SYS_I2C_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MISC=y
|
|
|
|
+-+CONFIG_MMC_HS200_SUPPORT=y
|
|
|
|
+-+CONFIG_SPL_MMC_HS200_SUPPORT=y
|
|
|
|
+++CONFIG_SUPPORT_EMMC_RPMB=y
|
|
|
|
+ +CONFIG_MMC_DW=y
|
|
|
|
+ +CONFIG_MMC_DW_ROCKCHIP=y
|
|
|
|
+ +CONFIG_MMC_SDHCI=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_SDMA=y
|
|
|
|
+ +CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
|
|
+-+CONFIG_DM_ETH=y
|
|
|
|
+ +CONFIG_ETH_DESIGNWARE=y
|
|
|
|
+ +CONFIG_GMAC_ROCKCHIP=y
|
|
|
|
+-+CONFIG_POWER_DOMAIN=y
|
|
|
|
+ +CONFIG_DM_PMIC=y
|
|
|
|
+ +CONFIG_PMIC_RK8XX=y
|
|
|
|
+ +CONFIG_SPL_PMIC_RK8XX=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
|
|
+++CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
|
|
+ +CONFIG_REGULATOR_PWM=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_SPL_DM_REGULATOR_FIXED=y
|
|
|
|
+-+CONFIG_DM_REGULATOR_GPIO=y
|
|
|
|
+ +CONFIG_REGULATOR_RK8XX=y
|
|
|
|
+ +CONFIG_PWM_ROCKCHIP=y
|
|
|
|
+ +CONFIG_SPL_RAM=y
|
|
|
|
+-+CONFIG_DM_RESET=y
|
|
|
|
+ +CONFIG_BAUDRATE=1500000
|
|
|
|
+ +CONFIG_DEBUG_UART_SHIFT=2
|
|
|
|
+++CONFIG_SYS_NS16550_MEM32=y
|
|
|
|
+ +CONFIG_SYSRESET=y
|
|
|
|
+ +CONFIG_USB=y
|
|
|
|
+ +CONFIG_USB_XHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_XHCI_DWC3=y
|
|
|
|
+ +CONFIG_USB_EHCI_HCD=y
|
|
|
|
+ +CONFIG_USB_EHCI_GENERIC=y
|
|
|
|
+-+CONFIG_USB_OHCI_HCD=y
|
|
|
|
+-+CONFIG_USB_OHCI_GENERIC=y
|
|
|
|
+ +CONFIG_USB_DWC3=y
|
|
|
|
+ +CONFIG_USB_DWC3_GENERIC=y
|
|
|
|
+-+CONFIG_ROCKCHIP_USB2_PHY=y
|
|
|
|
+-+CONFIG_USB_KEYBOARD=y
|
|
|
|
+-+CONFIG_USB_HOST_ETHER=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN75XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_LAN78XX=y
|
|
|
|
+-+CONFIG_USB_ETHER_SMSC95XX=y
|
|
|
|
+ +CONFIG_ERRNO_STR=y
|