[PATCH v4 00/16] Add support for Tesla Full Self-Driving (FSD) SoC

From: Alim Akhtar
Date: Sun Jan 23 2022 - 14:19:43 EST


Adds basic support for the Tesla Full Self-Driving (FSD)
SoC. This SoC contains three clusters of four Cortex-A72 CPUs,
as well as several IPs.

Patches 1 to 9 provide support for the clock controller
(which is designed similarly to Exynos SoCs).

The remaining changes provide pinmux support, initial device tree support.

- Changes since v3
* Addressed Stefen's review comments on patch 14/16
* Fixed kernel test robot warning on patch 04/16
* rebsaed this series on Krzysztof's pinmux new binding schema work [1]

- Changes since v2
* Addressed Krzysztof's and Stephen's review comments
* Added Reviewed-by and Acked-by tags
* Rebased on next-20220120

- Changes since v1
* fixed make dt_binding_check error as pointed by Rob
* Addressed Krzysztof's and Rob's review comments
* Added Reviewed-by and Acked-by tags
* Dropped SPI, MCT and ADC from this series (to be posted in small sets)

NOTE: These patches are based on Krzysztof's pinmux for-next branch
commit = 832ae134ccc1
[1] https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung.git/log/?h=for-next

Alim Akhtar (16):
dt-bindings: add vendor prefix for Tesla
dt-bindings: clock: Add bindings definitions for FSD CMU blocks
dt-bindings: clock: Document FSD CMU bindings
clk: samsung: fsd: Add initial clock support
clk: samsung: fsd: Add cmu_peric block clock information
clk: samsung: fsd: Add cmu_fsys0 clock information
clk: samsung: fsd: Add cmu_fsys1 clock information
clk: samsung: fsd: Add cmu_imem block clock information
clk: samsung: fsd: Add cmu_mfc block clock information
clk: samsung: fsd: Add cam_csi block clock information
dt-bindings: pinctrl: samsung: Add compatible for Tesla FSD SoC
pinctrl: samsung: add FSD SoC specific data
dt-bindings: arm: add Tesla FSD ARM SoC
arm64: dts: fsd: Add initial device tree support
arm64: dts: fsd: Add initial pinctrl support
arm64: defconfig: Enable Tesla FSD SoC

.../devicetree/bindings/arm/tesla.yaml | 27 +
.../bindings/clock/tesla,fsd-clock.yaml | 198 ++
.../bindings/pinctrl/samsung,pinctrl.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 8 +
arch/arm64/Kconfig.platforms | 6 +
arch/arm64/boot/dts/Makefile | 1 +
arch/arm64/boot/dts/tesla/Makefile | 3 +
arch/arm64/boot/dts/tesla/fsd-evb.dts | 39 +
arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 335 +++
arch/arm64/boot/dts/tesla/fsd.dtsi | 673 ++++++
arch/arm64/configs/defconfig | 1 +
drivers/clk/samsung/Kconfig | 8 +
drivers/clk/samsung/Makefile | 1 +
drivers/clk/samsung/clk-fsd.c | 1803 +++++++++++++++++
drivers/clk/samsung/clk-pll.c | 1 +
drivers/clk/samsung/clk-pll.h | 1 +
.../pinctrl/samsung/pinctrl-exynos-arm64.c | 71 +
drivers/pinctrl/samsung/pinctrl-samsung.c | 2 +
drivers/pinctrl/samsung/pinctrl-samsung.h | 1 +
include/dt-bindings/clock/fsd-clk.h | 150 ++
21 files changed, 3332 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/tesla.yaml
create mode 100644 Documentation/devicetree/bindings/clock/tesla,fsd-clock.yaml
create mode 100644 arch/arm64/boot/dts/tesla/Makefile
create mode 100644 arch/arm64/boot/dts/tesla/fsd-evb.dts
create mode 100644 arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi
create mode 100644 arch/arm64/boot/dts/tesla/fsd.dtsi
create mode 100644 drivers/clk/samsung/clk-fsd.c
create mode 100644 include/dt-bindings/clock/fsd-clk.h


base-commit: 832ae134ccc1c78a2f5ec81b7010dd24c3c49535
--
2.25.1