[PATCH v1 00/17] Add rk3066 ADC and USB support
Johan Jonker
jbx6244 at gmail.com
Sun May 8 17:08:08 CEST 2022
Add rk3066 ADC and USB support.
The Rockchip SoC rk3066 has no support for MMC and USB in the BootROM.
The TPL/SPL parts are mostly stored on NAND. With U-boot stored on
an external media the moment a user wants to start a recovery action
it has to be done in SPL. Some boards only have one ADC switch for the user
and no serial console. The U-boot USB drivers only works in combination
with OF_REAL enabled.
For current ARM SoCs the FDT stored in BBS is erased after SPL relocation
in the crt0.S main function. So for drivers to work in SPL, FDT is move to
the end of DRAM. The global_data must update there pointers.
The common Rockchip functions must also become available in SPL.
Most work has to be done on the ADC driver that has recently had a
"upgrade" for a vref regulator. For Rockchip this regulator are mostly fixed.
As we are in SPL that would introduce 2 extra U-boot classes UCLASS_REGULATOR
and UCLASS_GPIO. In SPL there's no pin control yet, so reduce code and
read these ADC properties from the DT in SPL.
While testing some improvement had to be made for reliability.
Fixup SPL compile and the way the ADC section is shown in U-boot's main menu.
Add a __weak recovery button function as condition to enter the recovery mode
in spl. It then looks for a boot_device to select a storage function method.
And finally run the rockusb gadget while connected to a USB host.
Enable all new futures by adding them to the mk808_defconfig.
Johan Jonker (16):
rockchip: spl: fix reloc gd and FDT blob pointer
rockchip: spl: allow more boot devices
rockchip: spl-boot-order: add usb boot option
rockchip: board: allow spl compile for usb init functions
rockchip: usb: gadget: rockusb: enable spl compile
rockchip: configs: mk808: add spl usb configs
arm: dts: rockchip: mk808: add adc usb required properties for spl
rockchip: adc: enable spl compile class driver
rockchip: adc: reduce error notifications from class driver
rockchip: adc: enable spl compile rockchip-saradc driver
rockchip: adc: fix adc timer
rockchip: adc: fix the hangups
rockchip: adc: make adc branch compile in SPL
rockchip: adc: move config items in a sub menu
rockchip: rk3066: add recovery mode in spl
rockchip: configs: mk808: enable usb support
Paweł Jarosz (1):
rockchip: rk3066: config nand data pins in spl
arch/arm/dts/rk3066a-mk808-u-boot.dtsi | 29 ++++++
.../arm/include/asm/arch-rockchip/f_rockusb.h | 1 +
arch/arm/mach-rockchip/Makefile | 3 +-
arch/arm/mach-rockchip/rk3066/rk3066.c | 93 ++++++++++++++++++-
arch/arm/mach-rockchip/sdram.c | 1 +
arch/arm/mach-rockchip/spl-boot-order.c | 3 +
arch/arm/mach-rockchip/spl.c | 21 ++++-
configs/mk808_defconfig | 21 ++++-
drivers/Makefile | 3 +-
drivers/adc/Kconfig | 33 +++++++
drivers/adc/Makefile | 4 +-
drivers/adc/adc-uclass.c | 47 +++++++---
drivers/adc/rockchip-saradc.c | 71 ++++++++++----
drivers/usb/gadget/Kconfig | 10 ++
drivers/usb/gadget/Makefile | 2 +-
include/configs/mk808.h | 3 +
16 files changed, 308 insertions(+), 37 deletions(-)
--
2.20.1
More information about the U-Boot
mailing list