board: rockchip: Add Sonoff iHost board

Sonoff iHost is gateway device designed to provide a Smart Home Hub,
it is based on Rockchip RV1126. There is also a version with 2GB RAM
based off the RV1109 dual core SoC however this works with the same
config as the RV1126 for uboot purposes.

Features:
- Rockchip RV1126
- 4GB DDR4
- 8GB eMMC
- microSD slot
- RMII Ethernet PHY
- 1x USB 2.0 Host
- 1x USB 2.0 OTG
- Realtek RTL8723DS WiFi/BT
- EFR32MG21 Silabs Zigbee radio
- Speaker/Microphone

Signed-off-by: Tim Lunn <tim@feathertop.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Tim Lunn
2024-01-24 14:26:00 +11:00
committed by Kever Yang
parent 3da3bb9636
commit e5eba349d6
7 changed files with 114 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
#include "rv1126-u-boot.dtsi"
/ {
chosen {
u-boot,spl-boot-order = "same-as-spl", &sdmmc, &emmc;
};
};
&sdio {
status = "disabled";
};

View File

@@ -14,6 +14,13 @@ config TARGET_RV1126_NEU2
IO board and Neu2 needs to mount on top of this IO board in order to IO board and Neu2 needs to mount on top of this IO board in order to
create complete Edgeble Neural Compute Module 2(Neu2) IO platform. create complete Edgeble Neural Compute Module 2(Neu2) IO platform.
config TARGET_RV1126_SONOFF_IHOST
bool "Sonoff iHost smart home hub"
help
Sonoff iHost is a smart home gateway based on Rockchip RV1126 SoC.
It features Wifi, Bluetooth and Zigbee radios that are used by many
smart home devices.
config SOC_SPECIFIC_OPTIONS # dummy config SOC_SPECIFIC_OPTIONS # dummy
def_bool y def_bool y
select HAS_CUSTOM_SYS_INIT_SP_ADDR select HAS_CUSTOM_SYS_INIT_SP_ADDR
@@ -58,5 +65,6 @@ config TEXT_BASE
default 0x600000 default 0x600000
source board/edgeble/neural-compute-module-2/Kconfig source board/edgeble/neural-compute-module-2/Kconfig
source board/itead/sonoff-ihost/Kconfig
endif endif

View File

@@ -0,0 +1,16 @@
if TARGET_RV1126_SONOFF_IHOST
config SYS_BOARD
default "sonoff-ihost"
config SYS_VENDOR
default "itead"
config SYS_CONFIG_NAME
default "sonoff-ihost"
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y
select RAM_ROCKCHIP_DDR4
endif

View File

@@ -0,0 +1,6 @@
RV1126-SONOFF-IHOST
M: Tim Lunn <tim@feathertop.org>
S: Maintained
F: board/itead/sonoff-ihost
F: include/configs/sonoff-ihost.h
F: configs/sonoff-ihost-rv1126_defconfig

View File

@@ -0,0 +1,60 @@
CONFIG_ARM=y
CONFIG_SPL_SKIP_LOWLEVEL_INIT_ONLY=y
CONFIG_TPL_SKIP_LOWLEVEL_INIT_ONLY=y
CONFIG_COUNTER_FREQUENCY=24000000
CONFIG_SYS_ARCH_TIMER=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_NR_DRAM_BANKS=1
CONFIG_DEFAULT_DEVICE_TREE="rv1126-sonoff-ihost"
CONFIG_SYS_MONITOR_LEN=614400
CONFIG_ROCKCHIP_RV1126=y
CONFIG_TARGET_RV1126_SONOFF_IHOST=y
CONFIG_DEBUG_UART_BASE=0xff570000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_SYS_LOAD_ADDR=0xe00800
CONFIG_DEBUG_UART=y
CONFIG_FIT_VERBOSE=y
CONFIG_NR_DRAM_BANKS=2
CONFIG_SPL_FIT=y
CONFIG_SPL_LOAD_FIT=y
# CONFIG_USE_SPL_FIT_GENERATOR is not set
CONFIG_SYS_BOOTM_LEN=0x4000000
CONFIG_DEFAULT_FDT_FILE="rv1126-sonoff-ihost.dtb"
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_SPL_PAD_TO=0x7f8000
CONFIG_SPL_NO_BSS_LIMIT=y
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
# CONFIG_CMD_BOOTD is not set
# CONFIG_CMD_ELF is not set
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_XIMG is not set
CONFIG_CMD_GPT=y
# CONFIG_CMD_LOADB is not set
# CONFIG_CMD_LOADS is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_ITEST is not set
# CONFIG_CMD_SETEXPR is not set
# CONFIG_SPL_DOS_PARTITION is not set
# CONFIG_ISO_PARTITION is not set
CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
CONFIG_OF_SPL_REMOVE_PROPS="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_MISC=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_REGULATOR_PWM=y
CONFIG_PWM_ROCKCHIP=y
# CONFIG_RAM_ROCKCHIP_DEBUG is not set
CONFIG_BAUDRATE=1500000
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_SYSRESET=y
# CONFIG_TPL_SYSRESET is not set
CONFIG_DM_THERMAL=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_LZO=y
CONFIG_ERRNO_STR=y

View File

@@ -129,6 +129,7 @@ List of mainline supported Rockchip boards:
* rv1126 * rv1126
- Edgeble Neural Compute Module 2 SoM - Neu2/Neu2k (neu2-io-r1126) - Edgeble Neural Compute Module 2 SoM - Neu2/Neu2k (neu2-io-r1126)
- Itead Sonoff iHost (sonoff-ihost-rv1126)
Building Building
-------- --------

View File

@@ -0,0 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0+ */
#ifndef __SONOFF_IHOST_H
#define __SONOFF_IHOST_H
#define ROCKCHIP_DEVICE_SETTINGS
#include <configs/rv1126_common.h>
#endif /* __SONOFF_IHOST_H */