
Hi,
On Mon, Feb 1, 2021 at 9:58 AM Kever Yang kever.yang@rock-chips.com wrote:
Hi Xiaobo,
Thanks for your update, see comments in line.
On 2021/1/29 下午10:34, alex tian wrote:
From c9563fe439e07e760d29a42e737b8265d5772150 Mon Sep 17 00:00:00 2001 From: Xiaobo Tian <peterwillcn@gmail.com mailto:peterwillcn@gmail.com> Date: Fri, 29 Jan 2021 22:30:22 +0800 Subject: [PATCH] arm64: rk3399: Add support NanoPi R4s
You need to update the patch version, this is at lease version 4, and please add change log
for what have been update in new version, these can be found in the link I share with you in previous review.
NanoPi R4s [1] is SBC base on Rockchip RK3399 hexa-core processor with dual-Core Cortex-A72 and Mali-T864 GPU with 4GiB(LPDDR4) of RAM, SD card support, including 2 gigabit ethernet(RTL8211E 1Gbps - RTL8111H 1Gbps) and 2 USB 3.0 port. port.It also has two GPIO headers which allows further peripherals to be used.
The devicetree file is taken of the rk3399 nanopi4 Linux kernel [2].
we need a commit number in mainline kernel instead of file link.
This product is no need in the commit message.
[2] https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/r...
Cc: Tom Rini <trini@konsulko.com mailto:trini@konsulko.com> Cc: Kever Yang <kever.yang@rock-chips.com mailto:kever.yang@rock-chips.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com mailto:kever.yang@rock-chips.com>
Please don't add my review tag before I reply it to the list with "Reviewed-by..." message.
One more thing is that please make sure this patch can pass the checkpatch script, 10 warnings for this patch now,
and you will need to add MAINTAINERS info for this board at board/rockchip/evb_rk3399/MAINTAINERS if you
want to follow evb with everything other than dts, or else you will need to add a board at board/friendlyarm/.
Thanks,
- Kever
Signed-off-by: Xiaobo Tian <peterwillcn@gmail.com
mailto:peterwillcn@gmail.com>
arch/arm/dts/Makefile | 1 + arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi | 7 ++ arch/arm/dts/rk3399-nanopi-r4s.dts | 129 +++++++++++++++++++++ configs/nanopi-r4s-rk3399_defconfig | 62 ++++++++++ 4 files changed, 199 insertions(+) create mode 100644 arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi create mode 100644 arch/arm/dts/rk3399-nanopi-r4s.dts create mode 100644 configs/nanopi-r4s-rk3399_defconfig
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 858b79ac97..528dfe069e 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -92,6 +92,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3288) += \ rk3288-evb.dtb \ rk3288-firefly.dtb \ rk3288-miqi.dtb \
- rk3399-nanopi-r4s.dtb \ rk3288-phycore-rdk.dtb \ rk3288-popmetal.dtb \ rk3288-rock2-square.dtb \
diff --git a/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi new file mode 100644 index 0000000000..df193f0e64 --- /dev/null +++ b/arch/arm/dts/rk3399-nanopi-r4s-u-boot.dtsi @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2020 Xiaobo <peterwillcn@gmail.com
- */
+#include "rk3399-nanopi4-u-boot.dtsi" +#include "rk3399-sdram-lpddr4-100.dtsi"
Because of this ...
diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts b/arch/arm/dts/rk3399-nanopi-r4s.dts new file mode 100644 index 0000000000..36d55fed39 --- /dev/null +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts @@ -0,0 +1,129 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/*
- Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
- Copyright (C) 2020 Xiaobo <peterwillcn@gmail.com
- */
+/dts-v1/; +#include "rk3399-nanopi4.dtsi"
+/ {
- model = "FriendlyElec NanoPi R4S";
- compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
- cpuinfo {
compatible = "rockchip,cpuinfo";
nvmem-cells = <&cpu_id>;
nvmem-cell-names = "id";
- };
- aliases {
ethernet1 = &r8169;
- };
- vdd_5v: vdd-5v {
- compatible = "regulator-fixed";
- regulator-name = "vdd_5v";
- regulator-always-on;
- regulator-boot-on;
- };
- fan: pwm-fan {
- compatible = "pwm-fan";
- cooling-levels = <0 12 18 255>;
- #cooling-cells = <2>;
- fan-supply = <&vdd_5v>;
- pwms = <&pwm1 0 50000 0>;
- };
+};
+&cpu_thermal {
- trips {
- cpu_warm: cpu_warm {
- temperature = <55000>;
- hysteresis = <2000>;
- type = "active";
- };
- cpu_hot: cpu_hot {
- temperature = <65000>;
- hysteresis = <2000>;
- type = "active";
- };
- };
- cooling-maps {
- map2 {
- trip = <&cpu_warm>;
- cooling-device = <&fan THERMAL_NO_LIMIT 1>;
- };
- map3 {
- trip = <&cpu_hot>;
- cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
- };
- };
+};
+&emmc_phy {
- status = "disabled";
+};
+&fusb0 {
- status = "disabled";
+};
+&leds {
- lan_led: led-1 {
- gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
- label = "nanopi-r4s:green:lan";
- };
- wan_led: led-2 {
- gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
- label = "nanopi-r4s:green:wan";
- };
+};
+&leds_gpio {
- rockchip,pins =
- <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
- <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,
- <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
+};
+&pcie0 {
- max-link-speed = <1>;
- num-lanes = <1>;
- vpcie3v3-supply = <&vcc3v3_sys>;
+};
+&sdhci {
- status = "disabled";
+};
+&sdio0 {
- status = "disabled";
+};
+&sdmmc {
- host-index-min = <1>;
+};
+&u2phy0_host {
- phy-supply = <&vdd_5v>;
+};
+&u2phy1_host {
- status = "disabled";
+};
+&usbdrd_dwc3_0 {
- dr_mode = "host";
+};
+&vcc3v3_sys {
- vin-supply = <&vcc5v0_sys>;
+}; diff --git a/configs/nanopi-r4s-rk3399_defconfig b/configs/nanopi-r4s-rk3399_defconfig new file mode 100644 index 0000000000..0a3c28b012 --- /dev/null +++ b/configs/nanopi-r4s-rk3399_defconfig @@ -0,0 +1,62 @@ +CONFIG_ARM=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_SYS_TEXT_BASE=0x00200000 +CONFIG_ENV_OFFSET=0x3F8000 +CONFIG_ROCKCHIP_RK3399=y +CONFIG_TARGET_EVB_RK3399=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEBUG_UART_BASE=0xFF1A0000 +CONFIG_DEBUG_UART_CLOCK=24000000 +CONFIG_DEBUG_UART=y +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-nanopi-r4s.dtb" +CONFIG_DISPLAY_BOARDINFO_LATE=y +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +CONFIG_SPL_STACK_R=y +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 +CONFIG_TPL=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_GPT=y +CONFIG_CMD_MMC=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_TIME=y +CONFIG_SPL_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="rk3399-nanopi-r4s" +CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" +CONFIG_ENV_IS_IN_MMC=y +CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_ROCKCHIP_GPIO=y +CONFIG_SYS_I2C_ROCKCHIP=y +CONFIG_MMC_DW=y +CONFIG_MMC_DW_ROCKCHIP=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_ROCKCHIP=y +CONFIG_DM_ETH=y +CONFIG_ETH_DESIGNWARE=y +CONFIG_GMAC_ROCKCHIP=y +CONFIG_PMIC_RK8XX=y +CONFIG_REGULATOR_PWM=y +CONFIG_REGULATOR_RK8XX=y +CONFIG_PWM_ROCKCHIP=y +CONFIG_RAM_RK3399_LPDDR4=y
and this, should the board have a lpddr4 or 4gb suffix, to distinguish this from the 1gb ddr3 variant?
ChenYu