The Exynos9610 SoC is found in 2020-2021 Samsung Galaxy A/M-series devices.
Add basic support for this SoC, including:

- All 8 cores
- ChipID
- Generic timer
- pinctrl

Signed-off-by: Alexandru Chimac <[email protected]>
---
 arch/arm64/boot/dts/exynos/exynos9610-pinctrl.dtsi | 1180 ++++++++++++++++++++
 arch/arm64/boot/dts/exynos/exynos9610.dtsi         |  263 +++++
 2 files changed, 1443 insertions(+)

diff --git a/arch/arm64/boot/dts/exynos/exynos9610-pinctrl.dtsi 
b/arch/arm64/boot/dts/exynos/exynos9610-pinctrl.dtsi
new file mode 100644
index 
0000000000000000000000000000000000000000..a7cc40d0ea84676d0f19c9912bba521a0162575a
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos9610-pinctrl.dtsi
@@ -0,0 +1,1180 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Samsung Exynos9610 pinmux and pinconf
+ *
+ * Copyright (c) 2025, Alexandru Chimac <[email protected]>
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "exynos-pinctrl.h"
+
+&pinctrl_alive {
+       etc0: etc0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpa0: gpa0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <3>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpa1: gpa1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <3>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpa2: gpa2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <3>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpq0: gpq0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       speedy_bus: speedy-bus-pins {
+               samsung,pins = "gpq0-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       uart0_bus: uart0-bus-pins {
+               samsung,pins = "gpq0-3", "gpq0-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+       };
+
+       xclkout1: xclkout1 {
+               samsung,pins = "gpq0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+
+       xclkout0: xclkout0 {
+               samsung,pins = "gpq0-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+};
+
+&pinctrl_cmgp {
+       gpm0: gpm0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm1: gpm1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm2: gpm2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm3: gpm3-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm4: gpm4-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm5: gpm5-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm6: gpm6-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm7: gpm7-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm8: gpm8-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm9: gpm9-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm10: gpm10-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm11: gpm11-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm12: gpm12-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm13: gpm13-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm14: gpm14-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm15: gpm15-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm16: gpm16-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm17: gpm17-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm18: gpm18-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm19: gpm19-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+       gpm20: gpm20-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm21: gpm21-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm22: gpm22-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+       };
+
+
+       gpm23: gpm23-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm24: gpm24-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       gpm25: gpm25-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               interrupt-parent = <&gic>;
+       };
+
+       hsi2c2_bus: hsi2c2-bus-pins {
+               samsung,pins = "gpm0-0", "gpm1-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c3_bus: hsi2c3-bus-pins {
+               samsung,pins = "gpm2-0", "gpm3-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c4_bus: hsi2c4-bus-pins {
+               samsung,pins = "gpm4-0", "gpm5-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c5_bus: hsi2c5-bus-pins {
+               samsung,pins = "gpm6-0", "gpm7-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c6_bus: hsi2c6-bus-pins {
+               samsung,pins = "gpm8-0", "gpm9-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c7_bus: hsi2c7-bus-pins {
+               samsung,pins = "gpm10-0", "gpm11-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c8_bus: hsi2c8-bus-pins {
+               samsung,pins = "gpm12-0", "gpm13-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c9_bus: hsi2c9-bus-pins {
+               samsung,pins = "gpm14-0", "gpm15-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c10_bus: hsi2c10-bus-pins {
+               samsung,pins = "gpm16-0", "gpm17-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c11_bus: hsi2c11-bus-pins {
+               samsung,pins = "gpm18-0", "gpm19-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi1_bus: spi1-bus-pins {
+               samsung,pins = "gpm0-0", "gpm1-0", "gpm2-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi1_cs: spi1-cs-pins {
+               samsung,pins = "gpm3-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi1_cs_func: spi1-cs-func-pins {
+               samsung,pins = "gpm3-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi2_bus: spi2-bus-pins {
+               samsung,pins = "gpm4-0", "gpm5-0", "gpm6-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi2_cs: spi2-cs-pins {
+               samsung,pins = "gpm7-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi2_cs_func: spi2-cs-func-pins {
+               samsung,pins = "gpm7-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi3_bus: spi3-bus-pins {
+               samsung,pins = "gpm8-0", "gpm9-0", "gpm10-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi3_cs: spi3-cs-pins {
+               samsung,pins = "gpm11-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi3_cs_func: spi3-cs-func-pins {
+               samsung,pins = "gpm11-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi4_bus: spi4-bus-pins {
+               samsung,pins = "gpm12-0", "gpm13-0", "gpm14-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi4_cs: spi4-cs-pins {
+               samsung,pins = "gpm15-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi4_cs_func: spi4-cs-func-pins {
+               samsung,pins = "gpm15-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi5_bus: spi5-bus-pins {
+               samsung,pins = "gpm16-0", "gpm17-0", "gpm18-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi5_cs: spi5-cs-pins {
+               samsung,pins = "gpm19-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi5_cs_func: spi5-cs-func-pins {
+               samsung,pins = "gpm19-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       uart2_bus_single: uart2-bus-pins {
+               samsung,pins = "gpm0-0", "gpm1-0", "gpm2-0", "gpm3-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+
+       uart3_bus_single: uart3-bus-pins {
+               samsung,pins = "gpm4-0", "gpm5-0", "gpm6-0", "gpm7-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+
+       uart4_bus_single: uart4-bus-pins {
+               samsung,pins = "gpm8-0", "gpm9-0", "gpm10-0", "gpm11-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+
+       uart5_bus_single: uart5-bus-pins {
+               samsung,pins = "gpm12-0", "gpm13-0", "gpm14-0", "gpm15-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+
+       uart6_bus_single: uart6-bus-pins {
+               samsung,pins = "gpm16-0", "gpm17-0", "gpm18-0", "gpm19-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+};
+
+&pinctrl_dispaud {
+       gpb0: gpb0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpb1: gpb1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpb2: gpb2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       aud_codec_mclk: aud-codec-mclk-pins {
+               samsung,pins = "gpb0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_codec_mclk_idle: aud-codec-mclk-idle-pins {
+               samsung,pins = "gpb0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_i2s0_bus: aud-i2s0-bus-pins {
+               samsung,pins = "gpb0-1", "gpb0-2", "gpb0-3", "gpb0-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_i2s0_idle: aud-i2s0-idle-pins {
+               samsung,pins = "gpb0-1", "gpb0-2", "gpb0-3", "gpb0-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_i2s1_bus: aud-i2s1-bus-pins {
+               samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_i2s1_idle: aud-i2s1-idle-pins {
+               samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_i2s2_bus: aud-i2s2-bus-pins {
+               samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_i2s2_idle: aud-i2s2-idle-pins {
+               samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_dsd_bus: aud-dsd-bus-pins {
+               samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_dsd_idle: aud-dsd-idle-pins {
+               samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_fm_bus: aud-fm-bus-pins {
+               samsung,pins = "gpb2-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+
+       aud_fm_idle: aud-fm-idle-pins {
+               samsung,pins = "gpb2-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+       };
+};
+
+&pinctrl_fsys {
+       gpf0: gpf0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpf1: gpf1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpf2: gpf2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       ufs_rst_n: ufs-rst-n-pins {
+               samsung,pins = "gpf0-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+       };
+
+       ufs_refclk_out: ufs-refclk-out-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+       };
+
+       sd0_clk: sd0-clk-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd0_cmd: sd0-cmd-pins {
+               samsung,pins = "gpf0-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd0_rdqs: sd0-rdqs-pins {
+               samsung,pins = "gpf0-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd0_clk_fast_slew_rate_1x: sd0-clk-fast-slew-rate-1x-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV1>;
+       };
+
+       sd0_clk_fast_slew_rate_1_5x: sd0-clk-fast-slew-rate-1-5x-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV1_5>;
+       };
+
+       sd0_clk_fast_slew_rate_2x: sd0-clk-fast-slew-rate-2x-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2>;
+       };
+
+       sd0_clk_fast_slew_rate_2_5x: sd0-clk-fast-slew-rate-2-5x-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd0_clk_fast_slew_rate_3x: sd0-clk-fast-slew-rate-3x-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV3>;
+       };
+
+       sd0_clk_fast_slew_rate_4x: sd0-clk-fast-slew-rate-4x-pins {
+               samsung,pins = "gpf0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV4>;
+       };
+
+       sd0_bus1: sd0-bus-width1-pins {
+               samsung,pins = "gpf1-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd0_bus4: sd0-bus-width4-pins {
+               samsung,pins = "gpf1-1", "gpf1-2", "gpf1-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd0_bus8: sd0-bus-width8-pins {
+               samsung,pins = "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2_5>;
+       };
+
+       sd2_clk: sd2-clk-pins {
+               samsung,pins = "gpf2-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV3>;
+       };
+
+       sd2_cmd: sd2-cmd-pins {
+               samsung,pins = "gpf2-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV3>;
+       };
+
+       sd2_bus1: sd2-bus-width1-pins {
+               samsung,pins = "gpf2-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV3>;
+       };
+
+       sd2_bus4: sd2-bus-width4-pins {
+               samsung,pins = "gpf2-3", "gpf2-4", "gpf2-5";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV3>;
+       };
+
+       sd2_clk_fast_slew_rate_1x: sd2-clk-fast-slew-rate-1x-pins {
+               samsung,pins = "gpf2-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV1>;
+       };
+
+       sd2_clk_fast_slew_rate_2x: sd2-clk-fast-slew-rate-2x-pins {
+               samsung,pins = "gpf2-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV2>;
+       };
+
+       sd2_clk_fast_slew_rate_3x: sd2-clk-fast-slew-rate-3x-pins {
+               samsung,pins = "gpf2-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung.pin-drv = <EXYNOS850_HSI_PIN_DRV_LV3>;
+       };
+
+       sd2_clk_fast_slew_rate_4x: sd2-clk-fast-slew-rate-4x-pins {
+               samsung,pins = "gpf2-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS_PIN_FUNC_6>;
+       };
+};
+
+&pinctrl_top {
+       gpp0: gpp0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpp1: gpp1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpp2: gpp2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpc0: gpc0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpc1: gpc1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpc2: gpc2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpg0: gpg0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpg1: gpg1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpg2: gpg2-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpg3: gpg3-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gpg4: gpg4-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       decon_f_te_on: decon-f-te-on-pins {
+               samsung,pins = "gpc2-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
+       };
+
+       decon_f_te_off: decon-f-te-off-pins {
+               samsung,pins = "gpc2-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+       };
+
+       hsi2c12_bus: hsi2c12-bus-pins {
+               samsung,pins = "gpc0-0", "gpc0-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c13_bus: hsi2c13-bus-pins {
+               samsung,pins = "gpc0-2", "gpc0-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c14_bus: hsi2c14-bus-pins {
+               samsung,pins = "gpc0-4", "gpc0-5";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c15_bus: hsi2c15-bus-pins {
+               samsung,pins = "gpc0-6", "gpc0-7";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c16_bus: hsi2c16-bus-pins {
+               samsung,pins = "gpc1-0", "gpc1-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c17_bus: hsi2c17-bus-pins {
+               samsung,pins = "gpc1-2", "gpc1-3";
+               samsung,pin-function = <3>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c0_bus: i2c0-bus-pins {
+               samsung,pins = "gpp0-1", "gpp0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c1_bus: i2c1-bus-pins {
+               samsung,pins = "gpp0-3", "gpp0-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c2_bus: i2c2-bus-pins {
+               samsung,pins = "gpp0-5", "gpp0-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c3_bus: i2c3-bus-pins {
+               samsung,pins = "gpp0-7", "gpp0-6";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c4_bus: i2c4-bus-pins {
+               samsung,pins = "gpp1-1", "gpp1-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c5_bus: i2c5-bus-pins {
+               samsung,pins = "gpp1-3", "gpp1-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       i2c6_bus: i2c6-bus-pins {
+               samsung,pins = "gpp1-5", "gpp1-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi6_bus: spi6-bus-pins {
+               samsung,pins = "gpp2-0", "gpp2-1", "gpp2-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi6_cs: spi6-cs-pins {
+               samsung,pins = "gpp2-3";
+               samsung,pin-function = <1>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi6_cs_func: spi6-cs-func-pins {
+               samsung,pins = "gpp2-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi7_bus: spi7-bus-pins {
+               samsung,pins = "gpp2-4", "gpp2-5", "gpp2-6";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi7_cs: spi7-cs-pins {
+               samsung,pins = "gpp2-7";
+               samsung,pin-function = <1>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi7_cs_func: spi7-cs-func-pins {
+               samsung,pins = "gpp2-7";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi8_bus: spi8-bus-pins {
+               samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi8_cs: spi8-cs-pins {
+               samsung,pins = "gpc1-3";
+               samsung,pin-function = <1>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi8_cs_func: spi8-cs-func-pins {
+               samsung,pins = "gpc1-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi9_bus: spi9-bus-pins {
+               samsung,pins = "gpc1-4", "gpc1-5", "gpc1-6";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi9_cs: spi9-cs-pins {
+               samsung,pins = "gpc1-7";
+               samsung,pin-function = <1>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi9_cs_func: spi9-cs-func-pins {
+               samsung,pins = "gpc1-7";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       uart7_bus_single: uart7-bus-pins {
+               samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung.pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+};
+
+&pinctrl_shub {
+       gph0: gph0-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       gph1: gph1-gpio-bank {
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               interrupt-controller;
+               #interrupt-cells = <2>;
+       };
+
+       hsi2c0_bus: hsi2c0-bus-pins {
+               samsung,pins = "gph0-0", "gph0-1";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       hsi2c1_bus: hsi2c1-bus-pins {
+               samsung,pins = "gph0-2", "gph0-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi0_bus: spi0-bus-pins {
+               samsung,pins = "gph0-2", "gph0-1", "gph0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi0_cs: spi0-cs-pins {
+               samsung,pins = "gph0-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       spi0_cs_func: spi0-cs-func-pins {
+               samsung,pins = "gph0-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       uart1_bus_single: uart1-bus-pins {
+               samsung,pins = "gph0-3", "gph0-2", "gph0-1", "gph0-0";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+       };
+};
diff --git a/arch/arm64/boot/dts/exynos/exynos9610.dtsi 
b/arch/arm64/boot/dts/exynos/exynos9610.dtsi
new file mode 100644
index 
0000000000000000000000000000000000000000..852f7111e5cdfd82b5afc350792e8b539fe87d39
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos9610.dtsi
@@ -0,0 +1,263 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Samsung Exynos9610 common device tree
+ *
+ * Copyright (c) 2025, Alexandru Chimac <[email protected]>
+ */
+
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/ {
+       compatible = "samsung,exynos9610";
+       #address-cells = <2>;
+       #size-cells = <1>;
+
+       interrupt-parent = <&gic>;
+
+       aliases {
+               pinctrl0 = &pinctrl_alive;
+               pinctrl1 = &pinctrl_cmgp;
+               pinctrl2 = &pinctrl_dispaud;
+               pinctrl3 = &pinctrl_fsys;
+               pinctrl4 = &pinctrl_top;
+               pinctrl5 = &pinctrl_shub;
+       };
+
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu-map {
+                       cluster0 {
+                               core0 {
+                                       cpu = <&cpu0>;
+                               };
+
+                               core1 {
+                                       cpu = <&cpu1>;
+                               };
+
+                               core2 {
+                                       cpu = <&cpu2>;
+                               };
+
+                               core3 {
+                                       cpu = <&cpu3>;
+                               };
+                       };
+
+                       cluster1 {
+                               core0 {
+                                       cpu = <&cpu100>;
+                               };
+
+                               core1 {
+                                       cpu = <&cpu101>;
+                               };
+
+                               core2 {
+                                       cpu = <&cpu102>;
+                               };
+
+                               core3 {
+                                       cpu = <&cpu103>;
+                               };
+                       };
+               };
+
+               cpu0: cpu@0 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x0>;
+                       enable-method = "psci";
+               };
+
+               cpu1: cpu@1 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x1>;
+                       enable-method = "psci";
+               };
+
+               cpu2: cpu@2 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x2>;
+                       enable-method = "psci";
+               };
+
+               cpu3: cpu@3 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a53";
+                       reg = <0x3>;
+                       enable-method = "psci";
+               };
+
+               cpu100: cpu@100 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a73";
+                       reg = <0x100>;
+                       enable-method = "psci";
+               };
+
+               cpu101: cpu@101 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a73";
+                       reg = <0x101>;
+                       enable-method = "psci";
+               };
+
+               cpu102: cpu@102 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a73";
+                       reg = <0x102>;
+                       enable-method = "psci";
+               };
+
+               cpu103: cpu@103 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a73";
+                       reg = <0x103>;
+                       enable-method = "psci";
+               };
+       };
+
+       psci {
+               compatible = "arm,psci";
+               method = "smc";
+               cpu_suspend = <0xc4000001>;
+               cpu_off = <0x84000002>;
+               cpu_on = <0xc4000003>;
+       };
+
+       arm-a53-pmu {
+               compatible = "arm,cortex-a53-pmu";
+               interrupts = <0 82 4>,
+                            <0 83 4>,
+                            <0 84 4>,
+                            <0 85 4>;
+               interrupt-affinity = <&cpu0>,
+                                    <&cpu1>,
+                                    <&cpu2>,
+                                    <&cpu3>;
+       };
+
+       arm-a73-pmu {
+               compatible = "arm,cortex-a73-pmu";
+               interrupts = <0 96 4>,
+                            <0 97 4>,
+                            <0 98 4>,
+                            <0 99 4>;
+               interrupt-affinity = <&cpu100>,
+                                    <&cpu101>,
+                                    <&cpu102>,
+                                    <&cpu103>;
+       };
+
+       oscclk: clock-osc {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-output-names = "oscclk";
+               clock-frequency = <26000000>;
+       };
+
+       soc: soc@0 {
+               compatible = "simple-bus";
+               ranges = <0x0 0x0 0x0 0x20000000>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               chipid@10000000 {
+                       compatible = "samsung,exynos9610-chipid",
+                                    "samsung,exynos850-chipid";
+                       reg = <0x10000000 0x100>;
+               };
+
+               pinctrl_shub: pinctrl@11080000 {
+                       compatible = "samsung,exynos9610-pinctrl";
+                       reg = <0x11080000 0x1000>;
+                       interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               pinctrl_alive: pinctrl@11850000 {
+                       compatible = "samsung,exynos9610-pinctrl";
+                       reg = <0x11850000 0x1000>;
+
+                       wakeup-interrupt-controller {
+                               compatible = "samsung,exynos9610-wakeup-eint",
+                                            "samsung,exynos850-wakeup-eint",
+                                            "samsung,exynos7-wakeup-eint";
+                       };
+               };
+
+               pinctrl_cmgp: pinctrl@11c20000 {
+                       compatible = "samsung,exynos9610-pinctrl";
+                       reg = <0x11c20000 0x1000>;
+               };
+
+               gic: interrupt-controller@12300000 {
+                       compatible = "arm,gic-400";
+                       #interrupt-cells = <3>;
+                       #address-cells = <0>;
+                       interrupt-controller;
+                       reg = <0x12301000 0x1000>,
+                             <0x12302000 0x1000>,
+                             <0x12304000 0x2000>,
+                             <0x12306000 0x2000>;
+                       interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
+                                                IRQ_TYPE_LEVEL_HIGH)>;
+               };
+
+               pinctrl_fsys: pinctrl@13490000 {
+                       compatible = "samsung,exynos9610-pinctrl";
+                       reg = <0x13490000 0x1000>;
+                       interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               pinctrl_top: pinctrl@139b0000 {
+                       compatible = "samsung,exynos9610-pinctrl";
+                       reg = <0x139b0000 0x1000>;
+                       interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
+               };
+
+               pinctrl_dispaud: pinctrl@14a60000 {
+                       compatible = "samsung,exynos9610-pinctrl";
+                       reg = <0x14a60000 0x1000>;
+               };
+       };
+
+       timer {
+               compatible = "arm,armv8-timer";
+               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | 
IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | 
IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | 
IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | 
IRQ_TYPE_LEVEL_LOW)>;
+
+               /* Stock Samsung bootloader doesn't configure CNTFRQ_EL0 */
+               clock-frequency = <26000000>;
+       };
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <1>;
+               ranges;
+
+               abox_rmem: abox@e9400000 {
+                       compatible = "reserved-memory";
+                       reg = <0x0 0xe9400000 0x2800000>;
+                       no-map;
+               };
+
+               ramoops@f9d10000 {
+                       compatible = "ramoops";
+                       reg = <0x0 0xf9d10000 0x200000>;
+                       record-size = <0x80000>;
+                       console-size = <0x80000>;
+                       ftrace-size = <0x80000>;
+                       pmsg-size = <0x80000>;
+               };
+       };
+};
+
+#include "exynos9610-pinctrl.dtsi"

-- 
2.47.3



Reply via email to