Skip to content

Commit 8d8142f

Browse files
committed
[bsp/raspberry-pi] update DM support
- reorganize common Raspberry Pi drivers under the device framework - add the Raspberry Pi 5 BSP, configuration and documentation - add BCM2712 and DesignWare AXI DMA controller support - distinguish BCM2712 DMA32 and DMA40 channels by channel mask - restore DesignWare AXI DMA enable bits after controller reset - support a shared AXI maximum burst length across DMA channels Signed-off-by: GuEe-GUI <2991707448@qq.com>
1 parent 2bcc47d commit 8d8142f

266 files changed

Lines changed: 35759 additions & 17638 deletions

File tree

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: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -271,14 +271,14 @@ This document is based on the RT-Thread mainline repository and categorizes the
271271

272272
#### 🟡 Raspberry Pi
273273

274-
| BSP Name | GPIO | UART | I2C | SPI | RTC | SD Card | SDIO | MailBox | WDT | SMP | HDMI | Timer | Bluetooth | Ethernet | MIPI DSI | ILI9486 SPI LCD | XPT2046 TOUCH |
275-
|----------|------|------|-----|-----|-----|---------|------|---------|-----|-----|------|-------|-----------|----------|----------|-----------------|----------------|
276-
| [raspi-dm2.0](raspberry-pi/raspi-dm2.0) | - || - | - | - | | - | - | - | - | - | - | - | - | - | - | - |
277-
| [raspi2](raspberry-pi/raspi2) | - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
278-
| [raspi3-32](raspberry-pi/raspi3-32) ||||||| - |||||| - | - | - | - | - |
279-
| [raspi3-64](raspberry-pi/raspi3-64) |||||| | - ||| - ||| - | - | - | - | - |
280-
| [raspi4-32](raspberry-pi/raspi4-32) |||||| - |||| - ||||||||
281-
| [raspi4-64](raspberry-pi/raspi4-64) ||| - || - | - |||| - ||| - || - | - | - |
274+
| BSP Name | GPIO | UART | I2C | SPI | RTC | SD Card | SDIO | MailBox | WDT | SMP | HDMI | Timer | Bluetooth | Ethernet | PCIe | DMA | ADC | PWM | MIPI DSI | ILI9486 SPI LCD | XPT2046 TOUCH |
275+
|----------|------|------|-----|-----|-----|---------|------|---------|-----|-----|------|-------|-----------|----------|------|-----|-----|-----|----------|-----------------|----------------|
276+
| [raspi2](raspberry-pi/raspi2) | - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
277+
| [raspi3-32](raspberry-pi/raspi3-32) | || | | | | - | |||| | - | - | - | - | - | - | - | - | - |
278+
| [raspi3-64](raspberry-pi/raspi3-64) ||||||| |||||| - | - | - || - | | - | - | - |
279+
| [raspi4-32](raspberry-pi/raspi4-32) |||||| - | ||| - ||| | | - | - | - | - ||| |
280+
| [raspi4-64](raspberry-pi/raspi4-64) |||||| |||| ||| - | || | - || - |||
281+
| [raspi5](raspberry-pi/raspi5) ||| || | |||| ||| - || | | || - || |
282282

283283
#### 🟡 AT32
284284

bsp/raspberry-pi/.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
kernel*.img
2+
rtthread.bin
3+
*.dtb
4+
*.qcow2
5+
flash.bin
6+
rtt.asm
7+
rtthread.map
8+
build/

bsp/raspberry-pi/dm/Kconfig

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
SOC_DM_ADC_DIR = $(SOC_DM_DIR)/adc
2+
SOC_DM_AUDIO_DIR = $(SOC_DM_DIR)/audio
3+
SOC_DM_CLK_DIR = $(SOC_DM_DIR)/clk
4+
SOC_DM_DMA_DIR = $(SOC_DM_DIR)/dma
5+
SOC_DM_DVFS_CPUFREQ_DIR = $(SOC_DM_DIR)/dvfs
6+
SOC_DM_ETHERNET_DIR = $(SOC_DM_DIR)/ethernet
7+
SOC_DM_FIRMWARE_DIR = $(SOC_DM_DIR)/firmware
8+
SOC_DM_GRAPHIC_BACKLIGHT_DIR = $(SOC_DM_DIR)/graphic/backlight
9+
SOC_DM_GRAPHIC_FB_DIR = $(SOC_DM_DIR)/graphic/framebuffer
10+
SOC_DM_GRAPHIC_LOGO_DIR = $(SOC_DM_DIR)/graphic/logo
11+
SOC_DM_HWCRYPTO_DIR = $(SOC_DM_DIR)/hwcrypto
12+
SOC_DM_CLOCK_TIME_DIR = $(SOC_DM_DIR)/clock_time
13+
SOC_DM_I2C_DIR = $(SOC_DM_DIR)/i2c
14+
SOC_DM_INPUT_JOYSTICK_DIR = $(SOC_DM_DIR)/input/joystick
15+
SOC_DM_INPUT_TOUCHSCREEN_DIR = $(SOC_DM_DIR)/input/touchscreen
16+
SOC_DM_MBOX_DIR = $(SOC_DM_DIR)/mailbox
17+
SOC_DM_MFD_DIR = $(SOC_DM_DIR)/mfd
18+
SOC_DM_NVMEM_DIR = $(SOC_DM_DIR)/nvmem
19+
SOC_DM_PCI_DIR = $(SOC_DM_DIR)/pci
20+
SOC_DM_PHY_DIR = $(SOC_DM_DIR)/phy
21+
SOC_DM_PIC_DIR = $(SOC_DM_DIR)/pic
22+
SOC_DM_PIN_DIR = $(SOC_DM_DIR)/pin
23+
SOC_DM_PINCTRL_DIR = $(SOC_DM_DIR)/pinctrl
24+
SOC_DM_PMDOMAIN_DIR = $(SOC_DM_DIR)/pmdomain
25+
SOC_DM_PWM_DIR = $(SOC_DM_DIR)/pwm
26+
SOC_DM_RESET_DIR = $(SOC_DM_DIR)/reset
27+
SOC_DM_RTC_DIR = $(SOC_DM_DIR)/rtc
28+
SOC_DM_SDIO_DIR = $(SOC_DM_DIR)/sdio
29+
SOC_DM_SERIAL_DIR = $(SOC_DM_DIR)/serial
30+
SOC_DM_SOC_DIR = $(SOC_DM_DIR)/soc
31+
SOC_DM_SPI_DIR = $(SOC_DM_DIR)/spi
32+
SOC_DM_THERMAL_DIR = $(SOC_DM_DIR)/thermal
33+
SOC_DM_WDT_DIR = $(SOC_DM_DIR)/watchdog
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# for module compiling
21
import os
32
from building import *
43

bsp/raspberry-pi/dm/adc/Kconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
config RT_ADC_RP1
2+
bool "RP1 ADC and temperature sensor driver"
3+
depends on RT_USING_DM
4+
depends on RT_USING_ADC
5+
depends on RT_USING_REGULATOR
6+
default n

bsp/raspberry-pi/dm/adc/SConscript

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from building import *
2+
3+
group = []
4+
src = []
5+
cwd = GetCurrentDir()
6+
CPPPATH = [cwd + '/../include']
7+
8+
if GetDepend(['RT_ADC_RP1']):
9+
src += ['adc-rp1.c']
10+
11+
group = DefineGroup('DeviceDrivers', src, depend = [''], CPPPATH = CPPPATH)
12+
13+
Return('group')

0 commit comments

Comments
 (0)