diff mbox series

[U-Boot,v3,3/3] arm64: dts: rockchip: Add support for Khadas Edge-Captain

Message ID 1564458676-26947-4-git-send-email-xieqinick@gmail.com
State Accepted
Commit a5f1249bd303e49f35d1bc3b665aad62dd90b9c9
Delegated to: Kever Yang
Headers show
Series arm64: dts: rockchip: Add support for Khadas Edge/Edge-V/Captain boards | expand

Commit Message

Nick Xie July 30, 2019, 3:51 a.m. UTC
From: Nick Xie <nick@khadas.com>

Add devicetree support for Khadas Edge-Captain.
Khadas Captain is the carrier board for Khadas Edge.

Specification
- Rockchip RK3399
- Dual-Channel 2GB/4GB LPDDR4
- SD card slot
- Onboard 16GB/32GB/128GB eMMC
- RTL8211FD 1Gbps
- AP6356S/AP6398S WiFI/BT
- HDMI Out, DP, MIPI DSI/CSI, eDP
- USB 3.0, 2.0
- USB Type C power and data
- GPIO expansion ports
- Full 4 Lane M.2 Socket
- 16MB SPI Flash
- IR
- Programmable MCU

Commit details of rk3399-khadas-edge-*.dts sync from Linux 5.3-rc2:
"arm64: dts: rockchip: Add support for Khadas Edge/Edge-V/Captain boards"
(sha1: c2aacceedc86af87428d998e23a1aca24fd8aa2e)

Signed-off-by: Nick Xie <nick@khadas.com>
---
Changes for v2:
- Sync dts from mainline linux
- Add TPL support
- Update defconfig file
- Drop http from commit message

Changes for v3:
- Sync dts from mainline linux 5.3-rc2
- Add LPDDR4 configration
- Split patch for each board


 arch/arm/dts/Makefile                              |  1 +
 .../arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi |  6 +++
 arch/arm/dts/rk3399-khadas-edge-captain.dts        | 27 ++++++++++
 board/rockchip/evb_rk3399/MAINTAINERS              |  6 +++
 configs/khadas-edge-captain-rk3399_defconfig       | 60 ++++++++++++++++++++++
 5 files changed, 100 insertions(+)
 create mode 100644 arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
 create mode 100644 arch/arm/dts/rk3399-khadas-edge-captain.dts
 create mode 100644 configs/khadas-edge-captain-rk3399_defconfig

Comments

Chris Webb July 30, 2019, 2:55 p.m. UTC | #1
xieqinick@gmail.com wrote:

> From: Nick Xie <nick@khadas.com>
>
> Add devicetree support for Khadas Edge-Captain.
> Khadas Captain is the carrier board for Khadas Edge.

Tested-by: Chris Webb <chris@arachsys.com>


Here's the boot log of TPL -> SPL -> U-Boot proper -> Linux on a 4GB Edge  
board in a Captain V12 carrier, booting from a card in the carrier board  
uSD slot:

   U-Boot TPL 2019.10-rc1-00003-g3027e6a322 (Jul 30 2019 - 15:49:25)
   Trying to boot from BOOTROM
   Returning to boot ROM...

   U-Boot SPL 2019.10-rc1-00003-g3027e6a322 (Jul 30 2019 - 15:49:25 +0100)
   Trying to boot from MMC1


   U-Boot 2019.10-rc1-00003-g3027e6a322 (Jul 30 2019 - 15:49:25 +0100)

   Model: Khadas Edge-Captain
   DRAM:  3.9 GiB
   Cannot find regulator pwm init_voltage
   MMC:   dwmmc@fe310000: 2, dwmmc@fe320000: 1, sdhci@fe330000: 0
   Loading Environment from MMC... *** Warning - bad CRC, using default environment

   In:    serial@ff1a0000
   Out:   serial@ff1a0000
   Err:   serial@ff1a0000
   Model: Khadas Edge-Captain
   rockchip_dnl_key_pressed: adc_channel_single_shot fail!
   Net:
   Warning: ethernet@fe300000 (eth0) using random MAC address - fe:af:d6:78:94:dd
   eth0: ethernet@fe300000
   Hit any key to stop autoboot:  0
   switch to partitions #0, OK
   mmc0(part 0) is current device
   ** No partition table - mmc 0 **
   switch to partitions #0, OK
   mmc1 is current device
   Scanning mmc 1:1...
   Found /boot/extlinux/extlinux.conf
   Retrieving file: /boot/extlinux/extlinux.conf
   182 bytes read in 9 ms (19.5 KiB/s)
   1:      Linux
   Retrieving file: /boot/Image
   17600520 bytes read in 748 ms (22.4 MiB/s)
   append: root=179:1 rw console=uart8250,mmio32,0xff1a0000 init=/bin/bash
   Retrieving file: /boot/rk3399-khadas-edge.dtb
   55654 bytes read in 10 ms (5.3 MiB/s)
   ## Flattened Device Tree blob at 01f00000
      Booting using the fdt blob at 0x1f00000
      Loading Device Tree to 00000000f5f14000, end 00000000f5f24965 ... OK

   Starting kernel ...

   [    1.333010] rockchip-drm display-subsystem: failed to bind ff940000.hdmi (ops dw_hdmi_rockchip_ops): -517
   [    1.342980] rk_gmac-dwmac fe300000.ethernet: phy regulator is not available yet, deferred probing
   [    1.648786] rk_gmac-dwmac fe300000.ethernet: cannot get clock clk_mac_speed
   bash: cannot set terminal process group (-1): Not a tty
   bash: no job control in this shell
   bash-4.4#


Best wishes,

Chris.
Kever Yang Aug. 5, 2019, 12:53 p.m. UTC | #2
On 2019/7/30 上午11:51, xieqinick@gmail.com wrote:
> From: Nick Xie <nick@khadas.com>
>
> Add devicetree support for Khadas Edge-Captain.
> Khadas Captain is the carrier board for Khadas Edge.
>
> Specification
> - Rockchip RK3399
> - Dual-Channel 2GB/4GB LPDDR4
> - SD card slot
> - Onboard 16GB/32GB/128GB eMMC
> - RTL8211FD 1Gbps
> - AP6356S/AP6398S WiFI/BT
> - HDMI Out, DP, MIPI DSI/CSI, eDP
> - USB 3.0, 2.0
> - USB Type C power and data
> - GPIO expansion ports
> - Full 4 Lane M.2 Socket
> - 16MB SPI Flash
> - IR
> - Programmable MCU
>
> Commit details of rk3399-khadas-edge-*.dts sync from Linux 5.3-rc2:
> "arm64: dts: rockchip: Add support for Khadas Edge/Edge-V/Captain boards"
> (sha1: c2aacceedc86af87428d998e23a1aca24fd8aa2e)
>
> Signed-off-by: Nick Xie <nick@khadas.com>

Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
> Changes for v2:
> - Sync dts from mainline linux
> - Add TPL support
> - Update defconfig file
> - Drop http from commit message
>
> Changes for v3:
> - Sync dts from mainline linux 5.3-rc2
> - Add LPDDR4 configration
> - Split patch for each board
>
>
>   arch/arm/dts/Makefile                              |  1 +
>   .../arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi |  6 +++
>   arch/arm/dts/rk3399-khadas-edge-captain.dts        | 27 ++++++++++
>   board/rockchip/evb_rk3399/MAINTAINERS              |  6 +++
>   configs/khadas-edge-captain-rk3399_defconfig       | 60 ++++++++++++++++++++++
>   5 files changed, 100 insertions(+)
>   create mode 100644 arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
>   create mode 100644 arch/arm/dts/rk3399-khadas-edge-captain.dts
>   create mode 100644 configs/khadas-edge-captain-rk3399_defconfig
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index e00860e..77c47d0 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -109,6 +109,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
>   	rk3399-firefly.dtb \
>   	rk3399-gru-bob.dtb \
>   	rk3399-khadas-edge.dtb \
> +	rk3399-khadas-edge-captain.dtb \
>   	rk3399-khadas-edge-v.dtb \
>   	rk3399-nanopc-t4.dtb \
>   	rk3399-nanopi-m4.dtb \
> diff --git a/arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi b/arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
> new file mode 100644
> index 0000000..ca1bbff
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
> @@ -0,0 +1,6 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright (C) 2019 Nick Xie <nick@khadas.com>
> + */
> +
> +#include "rk3399-khadas-edge-u-boot.dtsi"
> diff --git a/arch/arm/dts/rk3399-khadas-edge-captain.dts b/arch/arm/dts/rk3399-khadas-edge-captain.dts
> new file mode 100644
> index 0000000..8302e51
> --- /dev/null
> +++ b/arch/arm/dts/rk3399-khadas-edge-captain.dts
> @@ -0,0 +1,27 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2019 Shenzhen Wesion Technology Co., Ltd.
> + * (https://www.khadas.com)
> + */
> +
> +/dts-v1/;
> +#include "rk3399-khadas-edge.dtsi"
> +
> +/ {
> +	model = "Khadas Edge-Captain";
> +	compatible = "khadas,edge-captain", "rockchip,rk3399";
> +};
> +
> +&gmac {
> +	status = "okay";
> +};
> +
> +&pcie_phy {
> +	status = "okay";
> +};
> +
> +&pcie0 {
> +	ep-gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
> +	num-lanes = <4>;
> +	status = "okay";
> +};
> diff --git a/board/rockchip/evb_rk3399/MAINTAINERS b/board/rockchip/evb_rk3399/MAINTAINERS
> index c5b5018..d9711ab 100644
> --- a/board/rockchip/evb_rk3399/MAINTAINERS
> +++ b/board/rockchip/evb_rk3399/MAINTAINERS
> @@ -12,6 +12,12 @@ S:	Maintained
>   F:	configs/khadas-edge-rk3399_defconfig
>   F:	arch/arm/dts/rk3399-khadas-edge-u-boot.dtsi
>   
> +KHADAS-EDGE-CAPTAIN
> +M:	Nick Xie <nick@khadas.com>
> +S:	Maintained
> +F:	configs/khadas-edge-captain-rk3399_defconfig
> +F:	arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
> +
>   KHADAS-EDGE-V
>   M:	Nick Xie <nick@khadas.com>
>   S:	Maintained
> diff --git a/configs/khadas-edge-captain-rk3399_defconfig b/configs/khadas-edge-captain-rk3399_defconfig
> new file mode 100644
> index 0000000..11ec2da
> --- /dev/null
> +++ b/configs/khadas-edge-captain-rk3399_defconfig
> @@ -0,0 +1,60 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_SYS_TEXT_BASE=0x00200000
> +CONFIG_ROCKCHIP_RK3399=y
> +CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x50000
> +CONFIG_NR_DRAM_BANKS=1
> +CONFIG_SPL_STACK_R_ADDR=0x80000
> +CONFIG_DEBUG_UART_BASE=0xFF1A0000
> +CONFIG_DEBUG_UART_CLOCK=24000000
> +CONFIG_DEBUG_UART=y
> +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-khadas-edge-captain.dtbi"
> +# CONFIG_DISPLAY_CPUINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_SPL_STACK_R=y
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
> +CONFIG_TPL=y
> +CONFIG_SYS_PROMPT="kedge# "
> +CONFIG_CMD_BOOTZ=y
> +CONFIG_CMD_GPT=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_SF=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-khadas-edge-captain"
> +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_NET_RANDOM_ETHADDR=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_PHY_REALTEK=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_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_SPL_TINY_MEMSET=y
> +CONFIG_ERRNO_STR=y
diff mbox series

Patch

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index e00860e..77c47d0 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -109,6 +109,7 @@  dtb-$(CONFIG_ROCKCHIP_RK3399) += \
 	rk3399-firefly.dtb \
 	rk3399-gru-bob.dtb \
 	rk3399-khadas-edge.dtb \
+	rk3399-khadas-edge-captain.dtb \
 	rk3399-khadas-edge-v.dtb \
 	rk3399-nanopc-t4.dtb \
 	rk3399-nanopi-m4.dtb \
diff --git a/arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi b/arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
new file mode 100644
index 0000000..ca1bbff
--- /dev/null
+++ b/arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
@@ -0,0 +1,6 @@ 
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2019 Nick Xie <nick@khadas.com>
+ */
+
+#include "rk3399-khadas-edge-u-boot.dtsi"
diff --git a/arch/arm/dts/rk3399-khadas-edge-captain.dts b/arch/arm/dts/rk3399-khadas-edge-captain.dts
new file mode 100644
index 0000000..8302e51
--- /dev/null
+++ b/arch/arm/dts/rk3399-khadas-edge-captain.dts
@@ -0,0 +1,27 @@ 
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2019 Shenzhen Wesion Technology Co., Ltd.
+ * (https://www.khadas.com)
+ */
+
+/dts-v1/;
+#include "rk3399-khadas-edge.dtsi"
+
+/ {
+	model = "Khadas Edge-Captain";
+	compatible = "khadas,edge-captain", "rockchip,rk3399";
+};
+
+&gmac {
+	status = "okay";
+};
+
+&pcie_phy {
+	status = "okay";
+};
+
+&pcie0 {
+	ep-gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
+	num-lanes = <4>;
+	status = "okay";
+};
diff --git a/board/rockchip/evb_rk3399/MAINTAINERS b/board/rockchip/evb_rk3399/MAINTAINERS
index c5b5018..d9711ab 100644
--- a/board/rockchip/evb_rk3399/MAINTAINERS
+++ b/board/rockchip/evb_rk3399/MAINTAINERS
@@ -12,6 +12,12 @@  S:	Maintained
 F:	configs/khadas-edge-rk3399_defconfig
 F:	arch/arm/dts/rk3399-khadas-edge-u-boot.dtsi
 
+KHADAS-EDGE-CAPTAIN
+M:	Nick Xie <nick@khadas.com>
+S:	Maintained
+F:	configs/khadas-edge-captain-rk3399_defconfig
+F:	arch/arm/dts/rk3399-khadas-edge-captain-u-boot.dtsi
+
 KHADAS-EDGE-V
 M:	Nick Xie <nick@khadas.com>
 S:	Maintained
diff --git a/configs/khadas-edge-captain-rk3399_defconfig b/configs/khadas-edge-captain-rk3399_defconfig
new file mode 100644
index 0000000..11ec2da
--- /dev/null
+++ b/configs/khadas-edge-captain-rk3399_defconfig
@@ -0,0 +1,60 @@ 
+CONFIG_ARM=y
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_SYS_TEXT_BASE=0x00200000
+CONFIG_ROCKCHIP_RK3399=y
+CONFIG_ROCKCHIP_SPL_RESERVE_IRAM=0x50000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_SPL_STACK_R_ADDR=0x80000
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_DEBUG_UART=y
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-khadas-edge-captain.dtbi"
+# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
+CONFIG_TPL=y
+CONFIG_SYS_PROMPT="kedge# "
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=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-khadas-edge-captain"
+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_NET_RANDOM_ETHADDR=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_PHY_REALTEK=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_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_SPL_TINY_MEMSET=y
+CONFIG_ERRNO_STR=y