Message ID | CANxuSJNn6gxHr7WcU5jYRPP67Oyrkc5UP=KTZ7FL4FJeVu8RQQ@mail.gmail.com |
---|---|
State | Changes Requested |
Delegated to: | Kever Yang |
Headers | show |
Series | arm: rk3399: add support nanopi r4s | expand |
Hi Xiaobo, Please add commit message for this patch, eg. you can introduce this board. Does this board support by mainline kernel? If yes, please share the commit number in the commit message. Thanks, - Kever On 2021/1/19 下午9:30, alex tian wrote: > From e4f4c74b1f0e2bb7205a7b083fab6faf0b65c1ba Mon Sep 17 00:00:00 2001 > From: Xiaobo Tian <peterwillcn@gmail.com> > Date: Sat, 26 Dec 2020 00:13:37 +0800 > Subject: [PATCH] arm: rk3399: add support nanopi r4s > > Signed-off-by: Xiaobo Tian <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 | 120 +++++++++++++++++++++ > configs/nanopi-r4s-rk3399_defconfig | 62 +++++++++++ > 4 files changed, 190 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 fd47e408f8..8d42c37fcb 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..05f785e662 > --- /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 <tianxiaobo@gelaxy.io> > + */ > + > +#include "rk3399-nanopi4-u-boot.dtsi" > +#include "rk3399-sdram-lpddr4-100.dtsi" > diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts > b/arch/arm/dts/rk3399-nanopi-r4s.dts > new file mode 100644 > index 0000000000..5c65447f0e > --- /dev/null > +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts > @@ -0,0 +1,120 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd. > + * (http://www.friendlyarm.com) > + * > + * Copyright (C) 2020 Xiaobo <tianxiaobo@gelaxy.io> > + */ > + > +/dts-v1/; > +#include "rk3399-nanopi4.dtsi" > + > +/ { > + model = "FriendlyElec NanoPi R4S"; > + compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399"; > + > + vdd_5v: vdd-5v { > + compatible = "regulator-fixed"; > + regulator-name = "vdd_5v"; > + regulator-always-on; > + regulator-boot-on; > + }; > + > + fan: pwm-fan { > + compatible = "pwm-fan"; > + /* FIXME: adjust leveles for the connected 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 > +CONFIG_BAUDRATE=1500000 > +CONFIG_DEBUG_UART_SHIFT=2 > +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_KEYBOARD=y > +CONFIG_USB_HOST_ETHER=y > +CONFIG_USB_ETHER_ASIX=y > +CONFIG_USB_ETHER_ASIX88179=y > +CONFIG_USB_ETHER_MCS7830=y > +CONFIG_USB_ETHER_RTL8152=y > +CONFIG_USB_ETHER_SMSC95XX=y > +CONFIG_DM_VIDEO=y > +CONFIG_DISPLAY=y > +CONFIG_VIDEO_ROCKCHIP=y > +CONFIG_DISPLAY_ROCKCHIP_HDMI=y > +CONFIG_SPL_TINY_MEMSET=y > +CONFIG_ERRNO_STR=y > -- > 2.30.0
From 0c1b6b9c696f7bbdb91119af033e598e4b8d2f81 Mon Sep 17 00:00:00 2001 From: Xiaobo Tian <peterwillcn@gmail.com> Date: Sat, 26 Dec 2020 00:13:37 +0800 Subject: [PATCH] arm: rk3399: add support nanopi r4s MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SoC – Rockchip RK3399 hexa-core processor with dual-Core Cortex-A72 up to 2.0GHz, quad-core Cortex-A53 up to 1.5GHz, Mali-T864 GPU with OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11, and AFBC support, 4K VP9 and 4K 10-bit H265/H264 60fps video decoder System Memory – 1GB DDR3 or 4GB LPDDR4 Storage – MicroSD card slot Networking – 2x GbE(RTL8211E 1Gbps - RTL8111H 1Gbps), including one native Gigabit Ethernet, and one PCIe Gigabit Ethernet USB – 2x USB 3.0 Type-A ports, USB 2.0 via 4-pin header Expansion – 2×5-pin header with 1x SPI, 1x I2C Debugging – 3-pin debug UART header Misc- 1x power LED, and 3x user LEDs (SYS, LAN, WAN), user button, 2-pin RTC battery connector, 5V fan connector Power Supply 5V/3A via USB-C connector or pin header RK808-D PMIC and independent DC/DC enabling DVFS, software power-down, RTC wake-up, system sleep mode Dimensions – 66 x 66 mm (8-layer PCB) Temperature Range – -20°C to 70°C The detailed information for NanoPi R4S < https://wiki.friendlyarm.com/wiki/index.php/NanoPi_R4S> Signed-off-by: Xiaobo Tian <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 | 120 +++++++++++++++++++++ configs/nanopi-r4s-rk3399_defconfig | 62 +++++++++++ 4 files changed, 190 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 e320c2254e..507b1e4ec9 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..05f785e662 --- /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 <tianxiaobo@gelaxy.io> + */ + +#include "rk3399-nanopi4-u-boot.dtsi" +#include "rk3399-sdram-lpddr4-100.dtsi" diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts b/arch/arm/dts/rk3399-nanopi-r4s.dts new file mode 100644 index 0000000000..5c65447f0e --- /dev/null +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd. + * (http://www.friendlyarm.com) + * + * Copyright (C) 2020 Xiaobo <tianxiaobo@gelaxy.io> + */ + +/dts-v1/; +#include "rk3399-nanopi4.dtsi" + +/ { + model = "FriendlyElec NanoPi R4S"; + compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399"; + + vdd_5v: vdd-5v { + compatible = "regulator-fixed"; + regulator-name = "vdd_5v"; + regulator-always-on; + regulator-boot-on; + }; + + fan: pwm-fan { + compatible = "pwm-fan"; + /* FIXME: adjust leveles for the connected 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 +CONFIG_BAUDRATE=1500000 +CONFIG_DEBUG_UART_SHIFT=2 +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_KEYBOARD=y +CONFIG_USB_HOST_ETHER=y +CONFIG_USB_ETHER_ASIX=y +CONFIG_USB_ETHER_ASIX88179=y +CONFIG_USB_ETHER_MCS7830=y +CONFIG_USB_ETHER_RTL8152=y +CONFIG_USB_ETHER_SMSC95XX=y +CONFIG_DM_VIDEO=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y +CONFIG_SPL_TINY_MEMSET=y +CONFIG_ERRNO_STR=y -- 2.30.0 Kever Yang <kever.yang@rock-chips.com> 于2021年1月21日周四 上午11:46写道: > Hi Xiaobo, > > Please add commit message for this patch, eg. you can introduce > this board. > > Does this board support by mainline kernel? If yes, please share > the commit number in the commit message. > > > Thanks, > > - Kever > > On 2021/1/19 下午9:30, alex tian wrote: > > From e4f4c74b1f0e2bb7205a7b083fab6faf0b65c1ba Mon Sep 17 00:00:00 2001 > > From: Xiaobo Tian <peterwillcn@gmail.com> > > Date: Sat, 26 Dec 2020 00:13:37 +0800 > > Subject: [PATCH] arm: rk3399: add support nanopi r4s > > > > Signed-off-by: Xiaobo Tian <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 | 120 +++++++++++++++++++++ > > configs/nanopi-r4s-rk3399_defconfig | 62 +++++++++++ > > 4 files changed, 190 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 fd47e408f8..8d42c37fcb 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..05f785e662 > > --- /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 <tianxiaobo@gelaxy.io> > > + */ > > + > > +#include "rk3399-nanopi4-u-boot.dtsi" > > +#include "rk3399-sdram-lpddr4-100.dtsi" > > diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts > > b/arch/arm/dts/rk3399-nanopi-r4s.dts > > new file mode 100644 > > index 0000000000..5c65447f0e > > --- /dev/null > > +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts > > @@ -0,0 +1,120 @@ > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > +/* > > + * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd. > > + * (http://www.friendlyarm.com) > > + * > > + * Copyright (C) 2020 Xiaobo <tianxiaobo@gelaxy.io> > > + */ > > + > > +/dts-v1/; > > +#include "rk3399-nanopi4.dtsi" > > + > > +/ { > > + model = "FriendlyElec NanoPi R4S"; > > + compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399"; > > + > > + vdd_5v: vdd-5v { > > + compatible = "regulator-fixed"; > > + regulator-name = "vdd_5v"; > > + regulator-always-on; > > + regulator-boot-on; > > + }; > > + > > + fan: pwm-fan { > > + compatible = "pwm-fan"; > > + /* FIXME: adjust leveles for the connected 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 > > +CONFIG_BAUDRATE=1500000 > > +CONFIG_DEBUG_UART_SHIFT=2 > > +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_KEYBOARD=y > > +CONFIG_USB_HOST_ETHER=y > > +CONFIG_USB_ETHER_ASIX=y > > +CONFIG_USB_ETHER_ASIX88179=y > > +CONFIG_USB_ETHER_MCS7830=y > > +CONFIG_USB_ETHER_RTL8152=y > > +CONFIG_USB_ETHER_SMSC95XX=y > > +CONFIG_DM_VIDEO=y > > +CONFIG_DISPLAY=y > > +CONFIG_VIDEO_ROCKCHIP=y > > +CONFIG_DISPLAY_ROCKCHIP_HDMI=y > > +CONFIG_SPL_TINY_MEMSET=y > > +CONFIG_ERRNO_STR=y > > -- > > 2.30.0 > > >
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index fd47e408f8..8d42c37fcb 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..05f785e662 --- /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 <tianxiaobo@gelaxy.io> + */ + +#include "rk3399-nanopi4-u-boot.dtsi" +#include "rk3399-sdram-lpddr4-100.dtsi" diff --git a/arch/arm/dts/rk3399-nanopi-r4s.dts b/arch/arm/dts/rk3399-nanopi-r4s.dts new file mode 100644 index 0000000000..5c65447f0e --- /dev/null +++ b/arch/arm/dts/rk3399-nanopi-r4s.dts @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd. + * (http://www.friendlyarm.com) + * + * Copyright (C) 2020 Xiaobo <tianxiaobo@gelaxy.io> + */ + +/dts-v1/; +#include "rk3399-nanopi4.dtsi" + +/ { + model = "FriendlyElec NanoPi R4S"; + compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399"; + + vdd_5v: vdd-5v { + compatible = "regulator-fixed"; + regulator-name = "vdd_5v"; + regulator-always-on; + regulator-boot-on; + }; + + fan: pwm-fan { + compatible = "pwm-fan"; + /* FIXME: adjust leveles for the connected 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 +CONFIG_BAUDRATE=1500000 +CONFIG_DEBUG_UART_SHIFT=2 +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_KEYBOARD=y +CONFIG_USB_HOST_ETHER=y +CONFIG_USB_ETHER_ASIX=y +CONFIG_USB_ETHER_ASIX88179=y +CONFIG_USB_ETHER_MCS7830=y +CONFIG_USB_ETHER_RTL8152=y +CONFIG_USB_ETHER_SMSC95XX=y +CONFIG_DM_VIDEO=y +CONFIG_DISPLAY=y +CONFIG_VIDEO_ROCKCHIP=y +CONFIG_DISPLAY_ROCKCHIP_HDMI=y