public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 0/3] arm: Add Analog Devices SC5xx Machine Type
@ 2024-04-11 23:37 Greg Malysa
  2024-04-11 23:37 ` [PATCH 1/3] arch: arm: Add Analog Devices SC5xx machine type Greg Malysa
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Greg Malysa @ 2024-04-11 23:37 UTC (permalink / raw)
  To: u-boot
  Cc: Matthew McClintock, Greg Malysa, AKASHI Takahiro,
	Abdellatif El Khlifi, Alexey Brodkin, Alison Wang,
	Alper Nebi Yasak, Andre Przywara, Andrew Davis, Andy Fleming,
	Angelo Dureghello, Arturs Artamonovs, Bin Meng, Caleb Connolly,
	Daniel Schwierzeck, Frieder Schrempf, Heinrich Schuchardt,
	Ian Roberts, Jonas Karlman, Kever Yang, Linus Walleij,
	Lukasz Majewski, Manorit Chawdhry, Marek Vasut, Marek Vasut,
	Mario Six, Mattijs Korpershoek, Michal Simek,
	Nathan Barrett-Morrison, Nobuhiro Iwamatsu, Paul Barker,
	Peter Robinson, Priyanka Jain, Rayagonda Kokatanur, Sam Protsenko,
	Samuel Holland, Scott McNutt, Sean Anderson, Simon Glass,
	Stefan Roese, Sumit Garg, Thomas Chou, Tom Rini, Utsav Agarwal,
	Vasileios Bimpikas, Venkatesh Yadav Abbarapu, Wolfgang Denk,
	Yang Xiwen, Yanhong Wang


This series adds support for the ADI SC5xx machine type and includes two
core drivers that are required for being able to boot any board--a UART
driver and the clock tree driver. Our corresponding Linux support relies
on u-boot configuring the clocks correctly before booting, so it is not
possible to boot any board without the CGU/CDU configuration happening
here. The clock tree itself is only used by the UART in this minimal
patch set, but is of course broadly useful for all other peripheral
drivers to be submitted in future patch sets. There are also no board
files or defconfigs included here, but some common definitions that will
be used to build board files currently are.

Some of the configuration code in dmcinit and clkinit is quite scary and
causes a lot of checkpatch violations. It is modified from code
initially provided by ADI, but it has not been fully rewritten. There's
a question of how important it is to clean up this code--it has some
quality violations, but it has been in use (including in production) for
over two years and is known to work for performing the low level SoC
initialization, while a rewrite might introduce bugs that could take a
significant amount of time to detect in the future.

Please provide any feedback or comments that will be helpful in creating
a v2 of this patch that will be ready to submit for inclusion into the
main tree, as well as general observations that we should consider in
other driver patches before submitting them.

Thank you!


Nathan Barrett-Morrison (3):
  arch: arm: Add Analog Devices SC5xx machine type
  drivers: clk: adi: Add in SC5XX-family clock driver
  drivers: serial: Add in UART for ADI SC5XX-family processors

 MAINTAINERS                                  |  15 +
 arch/arm/Kconfig                             |   6 +
 arch/arm/Makefile                            |   1 +
 arch/arm/include/asm/arch-adi/sc5xx/sc5xx.h  | 115 +++
 arch/arm/include/asm/arch-adi/sc5xx/soc.h    |  18 +
 arch/arm/include/asm/arch-adi/sc5xx/spl.h    |  41 +
 arch/arm/include/asm/mach-types.h            |   4 +
 arch/arm/mach-sc5xx/Kconfig                  | 464 +++++++++
 arch/arm/mach-sc5xx/Makefile                 |  19 +
 arch/arm/mach-sc5xx/config.mk                |  21 +
 arch/arm/mach-sc5xx/init/Makefile            |  11 +
 arch/arm/mach-sc5xx/init/clkinit.c           | 543 +++++++++++
 arch/arm/mach-sc5xx/init/clkinit.h           |  18 +
 arch/arm/mach-sc5xx/init/dmcinit.c           | 973 +++++++++++++++++++
 arch/arm/mach-sc5xx/init/dmcinit.h           |  29 +
 arch/arm/mach-sc5xx/init/init.c              |  68 ++
 arch/arm/mach-sc5xx/init/init.h              |  37 +
 arch/arm/mach-sc5xx/init/mem/is43tr16512bl.h |  63 ++
 arch/arm/mach-sc5xx/init/mem/mt41k128m16jt.h |  51 +
 arch/arm/mach-sc5xx/init/mem/mt41k512m16ha.h |  51 +
 arch/arm/mach-sc5xx/init/mem/mt47h128m16rt.h |  50 +
 arch/arm/mach-sc5xx/rcu.c                    |  22 +
 arch/arm/mach-sc5xx/sc57x.c                  |  21 +
 arch/arm/mach-sc5xx/sc58x.c                  |  21 +
 arch/arm/mach-sc5xx/sc59x.c                  |  32 +
 arch/arm/mach-sc5xx/sc59x_64.c               |  36 +
 arch/arm/mach-sc5xx/soc.c                    | 142 +++
 arch/arm/mach-sc5xx/spl.c                    | 140 +++
 drivers/clk/Kconfig                          |   1 +
 drivers/clk/Makefile                         |   1 +
 drivers/clk/adi/Kconfig                      |  83 ++
 drivers/clk/adi/Makefile                     |  16 +
 drivers/clk/adi/clk-adi-pll.c                |  94 ++
 drivers/clk/adi/clk-adi-sc57x.c              | 205 ++++
 drivers/clk/adi/clk-adi-sc58x.c              | 221 +++++
 drivers/clk/adi/clk-adi-sc594.c              | 230 +++++
 drivers/clk/adi/clk-adi-sc598.c              | 307 ++++++
 drivers/clk/adi/clk-shared.c                 |  48 +
 drivers/clk/adi/clk.h                        | 122 +++
 drivers/serial/Makefile                      |   1 +
 drivers/serial/serial_adi_uart4.c            | 228 +++++
 include/configs/sc_adi_common.h              | 226 +++++
 include/dt-bindings/clock/adi-sc5xx-clock.h  | 271 ++++++
 43 files changed, 5066 insertions(+)
 create mode 100644 arch/arm/include/asm/arch-adi/sc5xx/sc5xx.h
 create mode 100644 arch/arm/include/asm/arch-adi/sc5xx/soc.h
 create mode 100644 arch/arm/include/asm/arch-adi/sc5xx/spl.h
 create mode 100644 arch/arm/mach-sc5xx/Kconfig
 create mode 100644 arch/arm/mach-sc5xx/Makefile
 create mode 100644 arch/arm/mach-sc5xx/config.mk
 create mode 100644 arch/arm/mach-sc5xx/init/Makefile
 create mode 100644 arch/arm/mach-sc5xx/init/clkinit.c
 create mode 100644 arch/arm/mach-sc5xx/init/clkinit.h
 create mode 100644 arch/arm/mach-sc5xx/init/dmcinit.c
 create mode 100644 arch/arm/mach-sc5xx/init/dmcinit.h
 create mode 100644 arch/arm/mach-sc5xx/init/init.c
 create mode 100644 arch/arm/mach-sc5xx/init/init.h
 create mode 100644 arch/arm/mach-sc5xx/init/mem/is43tr16512bl.h
 create mode 100644 arch/arm/mach-sc5xx/init/mem/mt41k128m16jt.h
 create mode 100644 arch/arm/mach-sc5xx/init/mem/mt41k512m16ha.h
 create mode 100644 arch/arm/mach-sc5xx/init/mem/mt47h128m16rt.h
 create mode 100644 arch/arm/mach-sc5xx/rcu.c
 create mode 100644 arch/arm/mach-sc5xx/sc57x.c
 create mode 100644 arch/arm/mach-sc5xx/sc58x.c
 create mode 100644 arch/arm/mach-sc5xx/sc59x.c
 create mode 100644 arch/arm/mach-sc5xx/sc59x_64.c
 create mode 100644 arch/arm/mach-sc5xx/soc.c
 create mode 100644 arch/arm/mach-sc5xx/spl.c
 create mode 100644 drivers/clk/adi/Kconfig
 create mode 100644 drivers/clk/adi/Makefile
 create mode 100644 drivers/clk/adi/clk-adi-pll.c
 create mode 100644 drivers/clk/adi/clk-adi-sc57x.c
 create mode 100644 drivers/clk/adi/clk-adi-sc58x.c
 create mode 100644 drivers/clk/adi/clk-adi-sc594.c
 create mode 100644 drivers/clk/adi/clk-adi-sc598.c
 create mode 100644 drivers/clk/adi/clk-shared.c
 create mode 100644 drivers/clk/adi/clk.h
 create mode 100644 drivers/serial/serial_adi_uart4.c
 create mode 100644 include/configs/sc_adi_common.h
 create mode 100644 include/dt-bindings/clock/adi-sc5xx-clock.h

-- 
2.43.2


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-04-12 13:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-11 23:37 [PATCH 0/3] arm: Add Analog Devices SC5xx Machine Type Greg Malysa
2024-04-11 23:37 ` [PATCH 1/3] arch: arm: Add Analog Devices SC5xx machine type Greg Malysa
2024-04-11 23:58   ` Tom Rini
2024-04-12  0:17     ` Greg Malysa
2024-04-11 23:37 ` [PATCH 2/3] drivers: clk: adi: Add in SC5XX-family clock driver Greg Malysa
2024-04-11 23:37 ` [PATCH 3/3] drivers: serial: Add in UART for ADI SC5XX-family processors Greg Malysa
2024-04-11 23:52 ` [PATCH 0/3] arm: Add Analog Devices SC5xx Machine Type Tom Rini
2024-04-12  0:18   ` Greg Malysa
2024-04-12 10:34     ` Nuno Sá

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox