[PATCH v2 00/10] Ambarella CV75 SoC minimal bring-up

Long Zhao <[email protected]>
Newsgroups org.kernel.feeds.b4-sent,dev.linux.lists.soc,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel,org.kernel.vger.linux-serial
Message-ID <20260806-longzhao-upstream-cv75-v2-v2-0-6b09707c5fe9@ambarella.com>
This series adds minimal Ambarella CV75 support sufficient for early
bring-up with a serial console.

It introduces DT bindings and drivers for the RCT clock controller,
pinctrl, and UART, plus ARCH_AMBARELLA, a minimal CV75 EVK device tree,
arm64 defconfig entries, and a MAINTAINERS entry.

The goal remains a small, reviewable console-capable baseline. Further
SoC peripherals can follow in later series.

This is v2. Link to v1:
https://lore.kernel.org/r/[email protected]

Changes since v1:
- pinctrl: parent node only describes IOMUX; GPIO bank MMIO and IRQs
  live in gpio child nodes (Rob)
- pinctrl: switch DT/bindings to function + groups; keep pinmux data in
  the driver; drop include/dt-bindings/pinctrl/ambarella,pinctrl.h
  (Linus)
- pinctrl: split CV75 static data into pinctrl-ambarella-cv75.c
- clock binding: drop syscon-common and redundant assigned-clock*
  properties from the schema (Rob)
- serial: keep only SoC-specific compatible ambarella,cv75-uart
  (Krzysztof)
- scratchpad: drop generic ambarella,sec-scratchpad compatible
  (Krzysztof)
- bindings: rename ambarella,uart.yaml and ambarella,sec-scratchpad.yaml
  to SoC-specific ambarella,cv75-*.yaml names
- dts: fix GIC unit-address; add EL2 virtual timer PPI (Marc)
- uart: use container_of and guarded locks; keep break_ctl under the
  port lock; split earlycon putchar from the console path (Jiri)
- uart: convert console to nbcon; stop toggling IER around console
  writes; drain RBR before uart_handle_break()
- misc binding/DTS cleanups from review

Testing:
- Booted to console on CV75 EVK with initramfs
- scripts/checkpatch.pl --strict
- make dt_binding_check DT_SCHEMA_FILES=ambarella
- W=1 arm64 Image build for the new drivers/DTS

Signed-off-by: Long Zhao <[email protected]>
---
Long Zhao (10):
      dt-bindings: arm: add Ambarella CV75 platforms
      dt-bindings: soc: add Ambarella secure scratchpad
      dt-bindings: clock: add Ambarella CV75 RCT clock controller
      dt-bindings: pinctrl: add Ambarella CV75 pinctrl
      dt-bindings: serial: add Ambarella UART
      clk: ambarella: add CV75 CCU driver
      pinctrl: ambarella: add Ambarella pin controller
      serial: ambarella: add Ambarella UART driver
      arm64: ambarella: add ARCH_AMBARELLA and CV75 EVK DT
      MAINTAINERS: add ARM/AMBARELLA SoC support

 .../devicetree/bindings/arm/ambarella.yaml         |   23 +
 .../bindings/clock/ambarella,cv75-rct.yaml         |   66 +
 .../bindings/pinctrl/ambarella,cv75-pinctrl.yaml   |  175 +++
 .../bindings/serial/ambarella,cv75-uart.yaml       |   45 +
 .../ambarella/ambarella,cv75-sec-scratchpad.yaml   |   39 +
 .../devicetree/bindings/vendor-prefixes.yaml       |    2 +
 MAINTAINERS                                        |   17 +
 arch/arm64/Kconfig.platforms                       |    9 +
 arch/arm64/boot/dts/Makefile                       |    1 +
 arch/arm64/boot/dts/ambarella/Makefile             |    3 +
 arch/arm64/boot/dts/ambarella/cv75-evk.dts         |   30 +
 arch/arm64/boot/dts/ambarella/cv75.dtsi            |  166 +++
 arch/arm64/configs/defconfig                       |    3 +
 drivers/clk/Kconfig                                |    1 +
 drivers/clk/Makefile                               |    1 +
 drivers/clk/ambarella/Kconfig                      |   16 +
 drivers/clk/ambarella/Makefile                     |    6 +
 drivers/clk/ambarella/ccu-cv75.c                   |  296 ++++
 drivers/clk/ambarella/ccu_common.c                 |   60 +
 drivers/clk/ambarella/ccu_common.h                 |   25 +
 drivers/clk/ambarella/ccu_mux_div.c                |  223 +++
 drivers/clk/ambarella/ccu_mux_div.h                |   35 +
 drivers/clk/ambarella/ccu_pll.c                    |  374 +++++
 drivers/clk/ambarella/ccu_pll.h                    |   70 +
 drivers/pinctrl/Kconfig                            |   15 +
 drivers/pinctrl/Makefile                           |    2 +
 drivers/pinctrl/pinctrl-ambarella-cv75.c           |   68 +
 drivers/pinctrl/pinctrl-ambarella.c                | 1510 ++++++++++++++++++++
 drivers/pinctrl/pinctrl-ambarella.h                |   48 +
 drivers/tty/serial/Kconfig                         |   21 +
 drivers/tty/serial/Makefile                        |    1 +
 drivers/tty/serial/ambarella_uart.c                | 1001 +++++++++++++
 include/dt-bindings/clock/ambarella,cv75-clock.h   |   17 +
 33 files changed, 4369 insertions(+)
---
base-commit: 34cf6dafc47441dfb6b356a095b89c3585a93714
change-id: 20260804-longzhao-upstream-cv75-v2-c2597cb996ce

Best regards,
--  
Long Zhao <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.