Skip to content

Commit 6539903

Browse files
committed
[bsp/rockchip] Extend platform and peripheral support
Add support for audio, display, Ethernet, PCIe, PHY, SDIO, UFS, hardware crypto and multimedia accelerators. Update the RK3300 and RK3500 configurations and validation applications accordingly. Signed-off-by: GuEe-GUI <2991707448@qq.com>
1 parent 2bcc47d commit 6539903

84 files changed

Lines changed: 33632 additions & 161 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bsp/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,11 +348,11 @@ This document is based on the RT-Thread mainline repository and categorizes the
348348

349349
#### 🟡 Rockchip
350350

351-
| BSP Name | GPIO | UART | ADC | I2C | SPI | WDT | HWTimer | PWM | RTC | SDIO | CAN | PCI |
352-
|----------|------|------|-----|-----|-----|-----|---------|-----|-----|------|-----|------|
353-
| [rk2108](rockchip/rk2108) | - || - | - | - | - | - | - | - | - | - | - |
354-
| [rk3300](rockchip/rk3300) |||||||||||| - |
355-
| [rk3500](rockchip/rk3500) |||||||||||||
351+
| BSP Name | GPIO | UART | ADC | I2C | SPI | WDT | HWTimer | PWM | RTC | SDIO | CAN | PCI | DMA | Ethernet | Audio | Display | Crypto |
352+
|----------|------|------|-----|-----|-----|-----|---------|-----|-----|------|-----|-----|-----|----------|-------|---------|--------|
353+
| [rk2108](rockchip/rk2108) | - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
354+
| [rk3300](rockchip/rk3300) |||||||||||| - ||||||
355+
| [rk3500](rockchip/rk3500) ||||||||||||||||||
356356

357357
#### 🟡 APM32
358358

bsp/rockchip/dm/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
SOC_DM_ADC_DIR = $(SOC_DM_DIR)/adc
2+
SOC_DM_AUDIO_DIR = $(SOC_DM_DIR)/audio
23
SOC_DM_CAN_DIR = $(SOC_DM_DIR)/can
34
SOC_DM_CLK_DIR = $(SOC_DM_DIR)/clk
45
SOC_DM_DVFS_EVENT_DIR = $(SOC_DM_DIR)/dvfs/event
56
SOC_DM_DVFS_CPUFREQ_DIR = $(SOC_DM_DIR)/dvfs/cpufreq
67
SOC_DM_DVFS_DEVFREQ_DIR = $(SOC_DM_DIR)/dvfs/devfreq
8+
SOC_DM_GRAPHIC_FB_DIR = $(SOC_DM_DIR)/graphic/framebuffer
9+
SOC_DM_GRAPHIC_LOGO_DIR = $(SOC_DM_DIR)/graphic/logo
710
SOC_DM_HWCRYPTO_DIR = $(SOC_DM_DIR)/hwcrypto
811
SOC_DM_HWSPINLOCK_DIR = $(SOC_DM_DIR)/hwspinlock
912
SOC_DM_CLOCK_TIME_DIR = $(SOC_DM_DIR)/hwtimer
@@ -21,7 +24,9 @@ SOC_DM_PWM_DIR = $(SOC_DM_DIR)/pwm
2124
SOC_DM_REGULATOR_DIR = $(SOC_DM_DIR)/regulator
2225
SOC_DM_RTC_DIR = $(SOC_DM_DIR)/rtc
2326
SOC_DM_SDIO_DIR = $(SOC_DM_DIR)/sdio
27+
SOC_DM_ETHERNET_DIR = $(SOC_DM_DIR)/ethernet
2428
SOC_DM_SOC_DIR = $(SOC_DM_DIR)/soc
2529
SOC_DM_SPI_DIR = $(SOC_DM_DIR)/spi
2630
SOC_DM_THERMAL_DIR = $(SOC_DM_DIR)/thermal
31+
SOC_DM_UFS_DIR = $(SOC_DM_DIR)/ufs
2732
SOC_DM_WDT_DIR = $(SOC_DM_DIR)/watchdog

bsp/rockchip/dm/audio/Kconfig

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
menuconfig RT_AUDIO_ROCKCHIP
2+
bool "Enable Rockchip Audio"
3+
depends on RT_USING_OFW
4+
depends on RT_USING_AUDIO
5+
default n
6+
help
7+
Rockchip I2S/TDM audio for boards such as ROCK 3A (rk3568):
8+
- Analog output via RK809/RK817 PMIC codec (I2S1)
9+
- HDMI audio via I2S0 (requires dw-hdmi display stack)
10+
11+
if RT_AUDIO_ROCKCHIP
12+
13+
config RT_AUDIO_ROCKCHIP_I2S_TDM
14+
bool "Rockchip I2S/TDM controller (CPU DAI)"
15+
default y
16+
help
17+
I2S/TDM block driver (e.g. i2s0_8ch, i2s1_8ch).
18+
Uses PL330 DMA when RT_USING_DMA is enabled, otherwise PIO.
19+
20+
menuconfig RT_AUDIO_ROCKCHIP_CODEC
21+
bool "Rockchip codec support"
22+
depends on RT_AUDIO_ROCKCHIP_I2S_TDM
23+
default y
24+
help
25+
Codec drivers for analog audio (headphone / line-out).
26+
Not used for the HDMI audio card.
27+
28+
if RT_AUDIO_ROCKCHIP_CODEC
29+
30+
config RT_AUDIO_ROCKCHIP_CODEC_RK817
31+
bool "RK817/RK809 codec (I2C PMIC)"
32+
depends on RT_USING_I2C
33+
select RT_MFD_RK8XX_I2C
34+
default y
35+
help
36+
RK809/RK817 built-in codec on ROCK 3A, routed over I2S1.
37+
38+
endif
39+
40+
config RT_AUDIO_ROCKCHIP_CARD
41+
bool "Rockchip simple-audio-card (machine driver)"
42+
depends on RT_AUDIO_ROCKCHIP_I2S_TDM
43+
default y
44+
help
45+
Parses simple-audio-card nodes (e.g. rk809-sound, hdmi_sound)
46+
and registers rt_audio_device instances.
47+
48+
endif

bsp/rockchip/dm/audio/SConscript

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from building import *
2+
3+
cwd = GetCurrentDir()
4+
src = []
5+
CPPPATH = [cwd + '/../include']
6+
7+
if GetDepend(['RT_AUDIO_ROCKCHIP_I2S_TDM']):
8+
src += ['rockchip-i2s-tdm.c']
9+
10+
if GetDepend(['RT_AUDIO_ROCKCHIP_CODEC_RK817']):
11+
src += ['codec/rk817-codec.c']
12+
13+
if GetDepend(['RT_AUDIO_ROCKCHIP_CARD', 'RT_AUDIO_ROCKCHIP_I2S_TDM']):
14+
src += ['rockchip-audio-card.c']
15+
16+
group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH)
17+
18+
Return('group')

0 commit comments

Comments
 (0)