[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