101-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus-LT.patch 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. From 408fd4570c0f1e6b1fe3722998394651144f2a29 Mon Sep 17 00:00:00 2001
  2. From: Tianling Shen <[email protected]>
  3. Date: Sat, 20 May 2023 18:52:14 +0800
  4. Subject: [PATCH] rockchip: rk3328: Add support for Orange Pi R1 Plus LTS
  5. The OrangePi R1 Plus LTS is a minor variant of OrangePi R1 Plus with
  6. the on-board NIC chip changed from rtl8211e to yt8531c, and RAM type
  7. changed from DDR4 to LPDDR3.
  8. The device tree is taken from kernel v6.4-rc1.
  9. Signed-off-by: Tianling Shen <[email protected]>
  10. ---
  11. arch/arm/dts/Makefile | 1 +
  12. .../rk3328-orangepi-r1-plus-lts-u-boot.dtsi | 46 +++++++
  13. arch/arm/dts/rk3328-orangepi-r1-plus-lts.dts | 40 ++++++
  14. board/rockchip/evb_rk3328/MAINTAINERS | 6 +
  15. configs/orangepi-r1-plus-lts-rk3328_defconfig | 114 ++++++++++++++++++
  16. 5 files changed, 207 insertions(+)
  17. create mode 100644 arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
  18. create mode 100644 arch/arm/dts/rk3328-orangepi-r1-plus-lts.dts
  19. create mode 100644 configs/orangepi-r1-plus-lts-rk3328_defconfig
  20. --- a/arch/arm/dts/Makefile
  21. +++ b/arch/arm/dts/Makefile
  22. @@ -126,6 +126,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3328) += \
  23. rk3328-nanopi-r2c.dtb \
  24. rk3328-nanopi-r2s.dtb \
  25. rk3328-orangepi-r1-plus.dtb \
  26. + rk3328-orangepi-r1-plus-lts.dtb \
  27. rk3328-roc-cc.dtb \
  28. rk3328-rock64.dtb \
  29. rk3328-rock-pi-e.dtb
  30. --- /dev/null
  31. +++ b/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
  32. @@ -0,0 +1,46 @@
  33. +// SPDX-License-Identifier: GPL-2.0-or-later
  34. +/*
  35. + * (C) Copyright 2018-2019 Rockchip Electronics Co., Ltd
  36. + * (C) Copyright 2020 David Bauer
  37. + */
  38. +
  39. +#include "rk3328-u-boot.dtsi"
  40. +#include "rk3328-sdram-lpddr3-666.dtsi"
  41. +/ {
  42. + chosen {
  43. + u-boot,spl-boot-order = "same-as-spl", &sdmmc, &emmc;
  44. + };
  45. +};
  46. +
  47. +&gpio0 {
  48. + bootph-pre-ram;
  49. +};
  50. +
  51. +&pinctrl {
  52. + bootph-pre-ram;
  53. +};
  54. +
  55. +&sdmmc0m1_pin {
  56. + bootph-pre-ram;
  57. +};
  58. +
  59. +&pcfg_pull_up_4ma {
  60. + bootph-pre-ram;
  61. +};
  62. +
  63. +/* Need this and all the pinctrl/gpio stuff above to set pinmux */
  64. +&vcc_sd {
  65. + bootph-pre-ram;
  66. +};
  67. +
  68. +&gmac2io {
  69. + snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  70. + snps,reset-active-low;
  71. + snps,reset-delays-us = <0 10000 50000>;
  72. +};
  73. +
  74. +&spi0 {
  75. + spi_flash: spiflash@0 {
  76. + bootph-all;
  77. + };
  78. +};
  79. --- /dev/null
  80. +++ b/arch/arm/dts/rk3328-orangepi-r1-plus-lts.dts
  81. @@ -0,0 +1,40 @@
  82. +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  83. +/*
  84. + * Copyright (c) 2016 Xunlong Software. Co., Ltd.
  85. + * (http://www.orangepi.org)
  86. + *
  87. + * Copyright (c) 2021-2023 Tianling Shen <[email protected]>
  88. + */
  89. +
  90. +/dts-v1/;
  91. +#include "rk3328-orangepi-r1-plus.dts"
  92. +
  93. +/ {
  94. + model = "Xunlong Orange Pi R1 Plus LTS";
  95. + compatible = "xunlong,orangepi-r1-plus-lts", "rockchip,rk3328";
  96. +};
  97. +
  98. +&gmac2io {
  99. + phy-handle = <&yt8531c>;
  100. + tx_delay = <0x19>;
  101. + rx_delay = <0x05>;
  102. +
  103. + mdio {
  104. + /delete-node/ ethernet-phy@1;
  105. +
  106. + yt8531c: ethernet-phy@0 {
  107. + compatible = "ethernet-phy-ieee802.3-c22";
  108. + reg = <0>;
  109. +
  110. + motorcomm,clk-out-frequency-hz = <125000000>;
  111. + motorcomm,keep-pll-enabled;
  112. + motorcomm,auto-sleep-disabled;
  113. +
  114. + pinctrl-0 = <&eth_phy_reset_pin>;
  115. + pinctrl-names = "default";
  116. + reset-assert-us = <15000>;
  117. + reset-deassert-us = <50000>;
  118. + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  119. + };
  120. + };
  121. +};
  122. --- a/board/rockchip/evb_rk3328/MAINTAINERS
  123. +++ b/board/rockchip/evb_rk3328/MAINTAINERS
  124. @@ -24,6 +24,12 @@ S: Maintained
  125. F: configs/orangepi-r1-plus-rk3328_defconfig
  126. F: arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
  127. +ORANGEPI-R1-PLUS-LTS-RK3328
  128. +M: Tianling Shen <[email protected]>
  129. +S: Maintained
  130. +F: configs/orangepi-r1-plus-lts-rk3328_defconfig
  131. +F: arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
  132. +
  133. ROC-RK3328-CC
  134. M: Loic Devulder <[email protected]>
  135. M: Chen-Yu Tsai <[email protected]>
  136. --- /dev/null
  137. +++ b/configs/orangepi-r1-plus-lts-rk3328_defconfig
  138. @@ -0,0 +1,114 @@
  139. +CONFIG_ARM=y
  140. +CONFIG_SKIP_LOWLEVEL_INIT=y
  141. +CONFIG_COUNTER_FREQUENCY=24000000
  142. +CONFIG_ARCH_ROCKCHIP=y
  143. +CONFIG_TEXT_BASE=0x00200000
  144. +CONFIG_SPL_GPIO=y
  145. +CONFIG_NR_DRAM_BANKS=1
  146. +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
  147. +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000
  148. +CONFIG_ENV_OFFSET=0x3F8000
  149. +CONFIG_DEFAULT_DEVICE_TREE="rk3328-orangepi-r1-plus-lts"
  150. +CONFIG_DM_RESET=y
  151. +CONFIG_ROCKCHIP_RK3328=y
  152. +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
  153. +CONFIG_TPL_LIBCOMMON_SUPPORT=y
  154. +CONFIG_TPL_LIBGENERIC_SUPPORT=y
  155. +CONFIG_SPL_DRIVERS_MISC=y
  156. +CONFIG_SPL_STACK_R_ADDR=0x600000
  157. +CONFIG_SPL_STACK=0x400000
  158. +CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
  159. +CONFIG_DEBUG_UART_BASE=0xFF130000
  160. +CONFIG_DEBUG_UART_CLOCK=24000000
  161. +CONFIG_SYS_LOAD_ADDR=0x800800
  162. +CONFIG_DEBUG_UART=y
  163. +# CONFIG_ANDROID_BOOT_IMAGE is not set
  164. +CONFIG_FIT=y
  165. +CONFIG_FIT_VERBOSE=y
  166. +CONFIG_SPL_LOAD_FIT=y
  167. +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-orangepi-r1-plus-lts.dtb"
  168. +# CONFIG_DISPLAY_CPUINFO is not set
  169. +CONFIG_DISPLAY_BOARDINFO_LATE=y
  170. +CONFIG_MISC_INIT_R=y
  171. +CONFIG_SPL_MAX_SIZE=0x40000
  172. +CONFIG_SPL_PAD_TO=0x7f8000
  173. +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
  174. +CONFIG_SPL_BSS_START_ADDR=0x2000000
  175. +CONFIG_SPL_BSS_MAX_SIZE=0x2000
  176. +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
  177. +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
  178. +CONFIG_SPL_STACK_R=y
  179. +CONFIG_SPL_I2C=y
  180. +CONFIG_SPL_POWER=y
  181. +CONFIG_SPL_ATF=y
  182. +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
  183. +CONFIG_TPL_SYS_MALLOC_SIMPLE=y
  184. +CONFIG_CMD_BOOTZ=y
  185. +CONFIG_CMD_GPT=y
  186. +CONFIG_CMD_MMC=y
  187. +CONFIG_CMD_USB=y
  188. +# CONFIG_CMD_SETEXPR is not set
  189. +CONFIG_CMD_TIME=y
  190. +CONFIG_SPL_OF_CONTROL=y
  191. +CONFIG_TPL_OF_CONTROL=y
  192. +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
  193. +CONFIG_TPL_OF_PLATDATA=y
  194. +CONFIG_ENV_IS_IN_MMC=y
  195. +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
  196. +CONFIG_SYS_MMC_ENV_DEV=1
  197. +CONFIG_NET_RANDOM_ETHADDR=y
  198. +CONFIG_TPL_DM=y
  199. +CONFIG_REGMAP=y
  200. +CONFIG_SPL_REGMAP=y
  201. +CONFIG_TPL_REGMAP=y
  202. +CONFIG_SYSCON=y
  203. +CONFIG_SPL_SYSCON=y
  204. +CONFIG_TPL_SYSCON=y
  205. +CONFIG_CLK=y
  206. +CONFIG_SPL_CLK=y
  207. +CONFIG_FASTBOOT_BUF_ADDR=0x800800
  208. +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
  209. +CONFIG_ROCKCHIP_GPIO=y
  210. +CONFIG_SYS_I2C_ROCKCHIP=y
  211. +CONFIG_MMC_DW=y
  212. +CONFIG_MMC_DW_ROCKCHIP=y
  213. +CONFIG_SF_DEFAULT_SPEED=20000000
  214. +CONFIG_SPI_FLASH_GIGADEVICE=y
  215. +CONFIG_ETH_DESIGNWARE=y
  216. +CONFIG_GMAC_ROCKCHIP=y
  217. +CONFIG_PINCTRL=y
  218. +CONFIG_SPL_PINCTRL=y
  219. +CONFIG_DM_PMIC=y
  220. +CONFIG_PMIC_RK8XX=y
  221. +CONFIG_SPL_PMIC_RK8XX=y
  222. +CONFIG_SPL_DM_REGULATOR=y
  223. +CONFIG_REGULATOR_PWM=y
  224. +CONFIG_DM_REGULATOR_FIXED=y
  225. +CONFIG_SPL_DM_REGULATOR_FIXED=y
  226. +CONFIG_REGULATOR_RK8XX=y
  227. +CONFIG_PWM_ROCKCHIP=y
  228. +CONFIG_RAM=y
  229. +CONFIG_SPL_RAM=y
  230. +CONFIG_TPL_RAM=y
  231. +CONFIG_BAUDRATE=1500000
  232. +CONFIG_DEBUG_UART_SHIFT=2
  233. +CONFIG_SYS_NS16550_MEM32=y
  234. +CONFIG_ROCKCHIP_SPI=y
  235. +CONFIG_SYSINFO=y
  236. +CONFIG_SYSRESET=y
  237. +# CONFIG_TPL_SYSRESET is not set
  238. +CONFIG_USB=y
  239. +CONFIG_USB_XHCI_HCD=y
  240. +CONFIG_USB_XHCI_DWC3=y
  241. +CONFIG_USB_EHCI_HCD=y
  242. +CONFIG_USB_EHCI_GENERIC=y
  243. +CONFIG_USB_OHCI_HCD=y
  244. +CONFIG_USB_OHCI_GENERIC=y
  245. +CONFIG_USB_DWC2=y
  246. +CONFIG_USB_DWC3=y
  247. +# CONFIG_USB_DWC3_GADGET is not set
  248. +CONFIG_USB_GADGET=y
  249. +CONFIG_USB_GADGET_DWC2_OTG=y
  250. +CONFIG_SPL_TINY_MEMSET=y
  251. +CONFIG_TPL_TINY_MEMSET=y
  252. +CONFIG_ERRNO_STR=y