mbox series

[v2,00/12] Add support for SUNIV and F1C100s.

Message ID 20220126135329.2997430-1-Mr.Bossman075@gmail.com
Headers show
Series Add support for SUNIV and F1C100s. | expand

Message

Jesse T Jan. 26, 2022, 1:53 p.m. UTC
This patch set aims to add support for the SUNIV and F1C100s.
Support has been in linux for a while now, but not in u-boot.

This patchset contains:
- CPU specific initialization code
- SUNIV dram driver
- SUNIV clock driver adaption
- SUNIV gpio driver adaption
- SUNIV uart driver adaption
- F1C100s basic support

The SUNIV seems to be similar to sun6i and sun4i, so we use code from
both platforms. We also add suniv to the cpu dircetory as it uses arm926ejs.

NOTE: To work this will need patchset "sunxi: remove lowlevel_init".

Icenowy Zheng (11):
  arm: arm926ej-s: start.S: port save_boot_params support from armv7
    code
  arm: arm926ej-s: Add sunxi code
  dt-bindings: clock: Add initial suniv headers
  dt-bindings: reset: Add initial suniv headers
  ARM: sunxi: Add clock and uart to sunxi headers
  sunxi: Add F1C100s DRAM initial support
  sunxi: board: Add support for SUNIV
  configs: sunxi: Add common SUNIV header
  mach-sunxi: Add support for SUNIV architecture
  ARM: dts: suniv: Add device tree files for F1C100s
  configs: sunxi: Add support for Lichee Pi Nano

Jesse Taube (1):
  mach-sunxi: Move timer code to mach folder

 arch/arm/cpu/arm926ejs/Makefile               |   1 +
 arch/arm/cpu/arm926ejs/start.S                |  19 +
 arch/arm/cpu/arm926ejs/sunxi/Makefile         |   5 +
 arch/arm/cpu/arm926ejs/sunxi/config.mk        |   6 +
 arch/arm/cpu/arm926ejs/sunxi/fel_utils.S      |  33 ++
 arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds   |  48 ++
 arch/arm/dts/Makefile                         |   2 +
 arch/arm/dts/suniv-f1c100s-licheepi-nano.dts  |  29 ++
 arch/arm/dts/suniv-f1c100s.dtsi               |   6 +
 arch/arm/dts/suniv.dtsi                       | 160 +++++++
 arch/arm/include/asm/arch-sunxi/clock.h       |   2 +-
 arch/arm/include/asm/arch-sunxi/clock_sun6i.h |  13 +
 arch/arm/include/asm/arch-sunxi/cpu_sun4i.h   |   6 +
 arch/arm/include/asm/arch-sunxi/dram.h        |   2 +
 arch/arm/include/asm/arch-sunxi/dram_suniv.h  |  46 ++
 arch/arm/include/asm/arch-sunxi/gpio.h        |   1 +
 arch/arm/mach-sunxi/Kconfig                   |  16 +-
 arch/arm/mach-sunxi/Makefile                  |   5 +
 arch/arm/mach-sunxi/board.c                   |  28 +-
 arch/arm/mach-sunxi/clock.c                   |   3 +-
 arch/arm/mach-sunxi/clock_sun6i.c             |  46 +-
 arch/arm/mach-sunxi/cpu_info.c                |   2 +
 arch/arm/mach-sunxi/dram_helpers.c            |   4 +
 arch/arm/mach-sunxi/dram_suniv.c              | 420 ++++++++++++++++++
 .../{cpu/armv7/sunxi => mach-sunxi}/timer.c   |   7 +-
 board/sunxi/board.c                           |   4 +-
 configs/licheepi_nano_defconfig               |  15 +
 include/configs/suniv.h                       |  14 +
 include/configs/sunxi-common.h                |  59 ++-
 include/dt-bindings/clock/suniv-ccu.h         |  69 +++
 include/dt-bindings/reset/suniv-ccu.h         |  37 ++
 31 files changed, 1080 insertions(+), 28 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/sunxi/Makefile
 create mode 100644 arch/arm/cpu/arm926ejs/sunxi/config.mk
 create mode 100644 arch/arm/cpu/arm926ejs/sunxi/fel_utils.S
 create mode 100644 arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds
 create mode 100644 arch/arm/dts/suniv-f1c100s-licheepi-nano.dts
 create mode 100644 arch/arm/dts/suniv-f1c100s.dtsi
 create mode 100644 arch/arm/dts/suniv.dtsi
 create mode 100644 arch/arm/include/asm/arch-sunxi/dram_suniv.h
 create mode 100644 arch/arm/mach-sunxi/dram_suniv.c
 rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c (97%)
 create mode 100644 configs/licheepi_nano_defconfig
 create mode 100644 include/configs/suniv.h
 create mode 100644 include/dt-bindings/clock/suniv-ccu.h
 create mode 100644 include/dt-bindings/reset/suniv-ccu.h

Comments

Andre Przywara Jan. 29, 2022, 2:40 a.m. UTC | #1
On Wed, 26 Jan 2022 08:53:17 -0500
Jesse Taube <mr.bossman075@gmail.com> wrote:

Hi Jesse,

> This patch set aims to add support for the SUNIV and F1C100s.
> Support has been in linux for a while now, but not in u-boot.
> 
> This patchset contains:
> - CPU specific initialization code
> - SUNIV dram driver
> - SUNIV clock driver adaption
> - SUNIV gpio driver adaption
> - SUNIV uart driver adaption
> - F1C100s basic support
> 
> The SUNIV seems to be similar to sun6i and sun4i, so we use code from
> both platforms. We also add suniv to the cpu dircetory as it uses arm926ejs.
> 
> NOTE: To work this will need patchset "sunxi: remove lowlevel_init".

So I think I am done with reviewing this version. Please send an
updated version. If there are smaller issues left, I will probably just
fix them up while committing.

Thanks for your good and prompt work on this!

Cheers,
Andre

> 
> Icenowy Zheng (11):
>   arm: arm926ej-s: start.S: port save_boot_params support from armv7
>     code
>   arm: arm926ej-s: Add sunxi code
>   dt-bindings: clock: Add initial suniv headers
>   dt-bindings: reset: Add initial suniv headers
>   ARM: sunxi: Add clock and uart to sunxi headers
>   sunxi: Add F1C100s DRAM initial support
>   sunxi: board: Add support for SUNIV
>   configs: sunxi: Add common SUNIV header
>   mach-sunxi: Add support for SUNIV architecture
>   ARM: dts: suniv: Add device tree files for F1C100s
>   configs: sunxi: Add support for Lichee Pi Nano
> 
> Jesse Taube (1):
>   mach-sunxi: Move timer code to mach folder
> 
>  arch/arm/cpu/arm926ejs/Makefile               |   1 +
>  arch/arm/cpu/arm926ejs/start.S                |  19 +
>  arch/arm/cpu/arm926ejs/sunxi/Makefile         |   5 +
>  arch/arm/cpu/arm926ejs/sunxi/config.mk        |   6 +
>  arch/arm/cpu/arm926ejs/sunxi/fel_utils.S      |  33 ++
>  arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds   |  48 ++
>  arch/arm/dts/Makefile                         |   2 +
>  arch/arm/dts/suniv-f1c100s-licheepi-nano.dts  |  29 ++
>  arch/arm/dts/suniv-f1c100s.dtsi               |   6 +
>  arch/arm/dts/suniv.dtsi                       | 160 +++++++
>  arch/arm/include/asm/arch-sunxi/clock.h       |   2 +-
>  arch/arm/include/asm/arch-sunxi/clock_sun6i.h |  13 +
>  arch/arm/include/asm/arch-sunxi/cpu_sun4i.h   |   6 +
>  arch/arm/include/asm/arch-sunxi/dram.h        |   2 +
>  arch/arm/include/asm/arch-sunxi/dram_suniv.h  |  46 ++
>  arch/arm/include/asm/arch-sunxi/gpio.h        |   1 +
>  arch/arm/mach-sunxi/Kconfig                   |  16 +-
>  arch/arm/mach-sunxi/Makefile                  |   5 +
>  arch/arm/mach-sunxi/board.c                   |  28 +-
>  arch/arm/mach-sunxi/clock.c                   |   3 +-
>  arch/arm/mach-sunxi/clock_sun6i.c             |  46 +-
>  arch/arm/mach-sunxi/cpu_info.c                |   2 +
>  arch/arm/mach-sunxi/dram_helpers.c            |   4 +
>  arch/arm/mach-sunxi/dram_suniv.c              | 420 ++++++++++++++++++
>  .../{cpu/armv7/sunxi => mach-sunxi}/timer.c   |   7 +-
>  board/sunxi/board.c                           |   4 +-
>  configs/licheepi_nano_defconfig               |  15 +
>  include/configs/suniv.h                       |  14 +
>  include/configs/sunxi-common.h                |  59 ++-
>  include/dt-bindings/clock/suniv-ccu.h         |  69 +++
>  include/dt-bindings/reset/suniv-ccu.h         |  37 ++
>  31 files changed, 1080 insertions(+), 28 deletions(-)
>  create mode 100644 arch/arm/cpu/arm926ejs/sunxi/Makefile
>  create mode 100644 arch/arm/cpu/arm926ejs/sunxi/config.mk
>  create mode 100644 arch/arm/cpu/arm926ejs/sunxi/fel_utils.S
>  create mode 100644 arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds
>  create mode 100644 arch/arm/dts/suniv-f1c100s-licheepi-nano.dts
>  create mode 100644 arch/arm/dts/suniv-f1c100s.dtsi
>  create mode 100644 arch/arm/dts/suniv.dtsi
>  create mode 100644 arch/arm/include/asm/arch-sunxi/dram_suniv.h
>  create mode 100644 arch/arm/mach-sunxi/dram_suniv.c
>  rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c (97%)
>  create mode 100644 configs/licheepi_nano_defconfig
>  create mode 100644 include/configs/suniv.h
>  create mode 100644 include/dt-bindings/clock/suniv-ccu.h
>  create mode 100644 include/dt-bindings/reset/suniv-ccu.h
>
Jesse T Jan. 29, 2022, 2:44 a.m. UTC | #2
On 1/28/22 21:40, Andre Przywara wrote:
> On Wed, 26 Jan 2022 08:53:17 -0500
> Jesse Taube <mr.bossman075@gmail.com> wrote:
> 
> Hi Jesse,
> 
>> This patch set aims to add support for the SUNIV and F1C100s.
>> Support has been in linux for a while now, but not in u-boot.
>>
>> This patchset contains:
>> - CPU specific initialization code
>> - SUNIV dram driver
>> - SUNIV clock driver adaption
>> - SUNIV gpio driver adaption
>> - SUNIV uart driver adaption
>> - F1C100s basic support
>>
>> The SUNIV seems to be similar to sun6i and sun4i, so we use code from
>> both platforms. We also add suniv to the cpu dircetory as it uses arm926ejs.
>>
>> NOTE: To work this will need patchset "sunxi: remove lowlevel_init".
> 
> So I think I am done with reviewing this version. Please send an
> updated version. If there are smaller issues left, I will probably just
> fix them up while committing.
> 
> Thanks for your good and prompt work on this!
No worries I'm happy to do it an i think its fun. And if i wasn't doing 
this i would be playing video games. And I didn't convince my school to 
let me graduate early to play video games :).
> Cheers,
> Andre
> 
>>
>> Icenowy Zheng (11):
>>    arm: arm926ej-s: start.S: port save_boot_params support from armv7
>>      code
>>    arm: arm926ej-s: Add sunxi code
>>    dt-bindings: clock: Add initial suniv headers
>>    dt-bindings: reset: Add initial suniv headers
>>    ARM: sunxi: Add clock and uart to sunxi headers
>>    sunxi: Add F1C100s DRAM initial support
>>    sunxi: board: Add support for SUNIV
>>    configs: sunxi: Add common SUNIV header
>>    mach-sunxi: Add support for SUNIV architecture
>>    ARM: dts: suniv: Add device tree files for F1C100s
>>    configs: sunxi: Add support for Lichee Pi Nano
>>
>> Jesse Taube (1):
>>    mach-sunxi: Move timer code to mach folder
>>
>>   arch/arm/cpu/arm926ejs/Makefile               |   1 +
>>   arch/arm/cpu/arm926ejs/start.S                |  19 +
>>   arch/arm/cpu/arm926ejs/sunxi/Makefile         |   5 +
>>   arch/arm/cpu/arm926ejs/sunxi/config.mk        |   6 +
>>   arch/arm/cpu/arm926ejs/sunxi/fel_utils.S      |  33 ++
>>   arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds   |  48 ++
>>   arch/arm/dts/Makefile                         |   2 +
>>   arch/arm/dts/suniv-f1c100s-licheepi-nano.dts  |  29 ++
>>   arch/arm/dts/suniv-f1c100s.dtsi               |   6 +
>>   arch/arm/dts/suniv.dtsi                       | 160 +++++++
>>   arch/arm/include/asm/arch-sunxi/clock.h       |   2 +-
>>   arch/arm/include/asm/arch-sunxi/clock_sun6i.h |  13 +
>>   arch/arm/include/asm/arch-sunxi/cpu_sun4i.h   |   6 +
>>   arch/arm/include/asm/arch-sunxi/dram.h        |   2 +
>>   arch/arm/include/asm/arch-sunxi/dram_suniv.h  |  46 ++
>>   arch/arm/include/asm/arch-sunxi/gpio.h        |   1 +
>>   arch/arm/mach-sunxi/Kconfig                   |  16 +-
>>   arch/arm/mach-sunxi/Makefile                  |   5 +
>>   arch/arm/mach-sunxi/board.c                   |  28 +-
>>   arch/arm/mach-sunxi/clock.c                   |   3 +-
>>   arch/arm/mach-sunxi/clock_sun6i.c             |  46 +-
>>   arch/arm/mach-sunxi/cpu_info.c                |   2 +
>>   arch/arm/mach-sunxi/dram_helpers.c            |   4 +
>>   arch/arm/mach-sunxi/dram_suniv.c              | 420 ++++++++++++++++++
>>   .../{cpu/armv7/sunxi => mach-sunxi}/timer.c   |   7 +-
>>   board/sunxi/board.c                           |   4 +-
>>   configs/licheepi_nano_defconfig               |  15 +
>>   include/configs/suniv.h                       |  14 +
>>   include/configs/sunxi-common.h                |  59 ++-
>>   include/dt-bindings/clock/suniv-ccu.h         |  69 +++
>>   include/dt-bindings/reset/suniv-ccu.h         |  37 ++
>>   31 files changed, 1080 insertions(+), 28 deletions(-)
>>   create mode 100644 arch/arm/cpu/arm926ejs/sunxi/Makefile
>>   create mode 100644 arch/arm/cpu/arm926ejs/sunxi/config.mk
>>   create mode 100644 arch/arm/cpu/arm926ejs/sunxi/fel_utils.S
>>   create mode 100644 arch/arm/cpu/arm926ejs/sunxi/u-boot-spl.lds
>>   create mode 100644 arch/arm/dts/suniv-f1c100s-licheepi-nano.dts
>>   create mode 100644 arch/arm/dts/suniv-f1c100s.dtsi
>>   create mode 100644 arch/arm/dts/suniv.dtsi
>>   create mode 100644 arch/arm/include/asm/arch-sunxi/dram_suniv.h
>>   create mode 100644 arch/arm/mach-sunxi/dram_suniv.c
>>   rename arch/arm/{cpu/armv7/sunxi => mach-sunxi}/timer.c (97%)
>>   create mode 100644 configs/licheepi_nano_defconfig
>>   create mode 100644 include/configs/suniv.h
>>   create mode 100644 include/dt-bindings/clock/suniv-ccu.h
>>   create mode 100644 include/dt-bindings/reset/suniv-ccu.h
>>
>