> > Like exynos850, this also uses fixed-rate clock nodes until clock > > driver has been supported. The clock nodes are initialized on > > bootloader stage thus we don't need to contol them so far. > > Thanks for the patch. > > s/contol/control/ > > > > > [1]: > > https://www.samsung.com/semiconductor/minisite/exynos/products/automot > > iveprocessor/exynos-auto-v9/> > > Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> > > --- > > .../boot/dts/exynos/exynosautov9-pinctrl.dtsi | 1206 > > +++++++++++++++++ arch/arm64/boot/dts/exynos/exynosautov9.dtsi | > > 290 ++++ > > 2 files changed, 1496 insertions(+) > > create mode 100644 > > arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi > > create mode 100644 arch/arm64/boot/dts/exynos/exynosautov9.dtsi > > > > diff --git a/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi > > b/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi > > new file mode 100644 > > index 000000000000..d8c5210ddba4 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi > > @@ -0,0 +1,1206 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Samsung's ExynosAutov9 SoC pin-mux and pin-config device tree > > +source > > + * > > + * Copyright (c) 2021 Samsung Electronics Co., Ltd. > > + * > > + * Samsung's ExynosAutov9 SoC pin-mux and pin-config options are > > +listed as > > + * device tree nodes in this file. > > + */ > > + > > +#include <dt-bindings/pinctrl/samsung.h> > > + > > +&pinctrl_alive { > > + gpa0: gpa0 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + interrupt-parent = <&gic>; > > + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, > > + <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>; > > + }; > > + > > + gpa1: gpa1 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + interrupt-parent = <&gic>; > > + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + > > + dp0_hpd: dp0-hpd { > > Suffix all node names with pin configuration with "-pins", just like Rob > suggested for Exynos850. > https://lore.kernel.org/linux-samsung- > soc/YRwDETpe019RFU%2Fq@xxxxxxxxxxxxxxxxxx/ > > > + samsung,pins = "gpa1-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + }; > > + > > + dp1_hpd: dp10hpd { > > Typo - dp1-hpd > > > + samsung,pins = "gpa1-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + }; > > + > > + gpq0: gpq0 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + speedy0_bus: speedy0-bus { > > + samsung,pins = "gpq0-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + speedy1_bus: speedy1-bus { > > + samsung,pins = "gpa0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pmic_m_irq: pmic-m-irq { > > This does not look like typical pin for SoC. Should be in board DTS. > > > + samsung,pins = "gpa0-1"; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; > > + }; > > + > > + pmic_s_irq: pmic-s-irq { > > + samsung,pins = "gpa0-7"; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; > > + }; > > +}; > > + > > +&pinctrl_aud { > > + gpb0: gpb0 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpb1: gpb1 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpb2: gpb2 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpb3: gpb3 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + aud_codec_mclk: aud-codec-mclk { > > + samsung,pins = "gpb0-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_codec_mclk_idle: aud-codec-mclk-idle { > > + samsung,pins = "gpb0-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s0_bus: aud-i2s0-bus { > > + samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s0_idle: aud-i2s0-idle { > > + samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s1_bus: aud-i2s1-bus { > > + 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 { > > + 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 { > > + samsung,pins = "gpb1-4", "gpb1-5", "gpb1-6", "gpb1-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s2_idle: aud-i2s2-idle { > > + samsung,pins = "gpb1-4", "gpb1-5", "gpb1-6", "gpb1-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s3_bus: aud-i2s3-bus { > > + 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_i2s3_idle: aud-i2s3-idle { > > + 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_i2s4_bus: aud-i2s4-bus { > > + samsung,pins = "gpb2-4", "gpb2-5", "gpb2-6", "gpb2-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s4_idle: aud-i2s4-idle { > > + samsung,pins = "gpb2-4", "gpb2-5", "gpb2-6", "gpb2-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s5_bus: aud-i2s5-bus { > > + samsung,pins = "gpb3-0", "gpb3-1", "gpb3-2", "gpb3-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s5_idle: aaud-i2s5-idle { > > + samsung,pins = "gpb3-0", "gpb3-1", "gpb3-2", "gpb3-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s6_bus: aud-i2s6-bus { > > + samsung,pins = "gpb3-4", "gpb3-5", "gpb3-6", "gpb3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > + > > + aud_i2s6_idle: aaud-i2s6-idle { > > + samsung,pins = "gpb3-4", "gpb3-5", "gpb3-6", "gpb3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; > > + }; > > +}; > > + > > +&pinctrl_fsys0 { > > + gpf0: gpf0 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpf1: gpf1 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + pcie_clkreq0: pcie_clkreq0 { > > Hyphens (-) for node names. Pluse prefix -pins. > > > + samsung,pins = "gpf0-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pcie_perst0_out: pcie_perst0_out { > > + samsung,pins = "gpf0-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_perst0_in: pcie_perst0_in { > > + samsung,pins = "gpf0-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_clkreq1: pcie_clkreq1 { > > + samsung,pins = "gpf0-2"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pcie_perst1_out: pcie_perst1_out { > > + samsung,pins = "gpf0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_perst1_in: pcie_perst1_in { > > + samsung,pins = "gpf0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_clkreq2: pcie_clkreq2 { > > + samsung,pins = "gpf0-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pcie_perst2_out: pcie_perst2_out { > > + samsung,pins = "gpf0-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_perst2_in: pcie_perst2_in { > > + samsung,pins = "gpf0-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_clkreq3: pcie_clkreq3 { > > + samsung,pins = "gpf1-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pcie_perst3_out: pcie_perst3_out { > > + samsung,pins = "gpf1-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_perst3_in: pcie_perst3_in { > > + samsung,pins = "gpf1-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_clkreq4: pcie_clkreq4 { > > + samsung,pins = "gpf1-2"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pcie_perst4_out: pcie_perst4_out { > > + samsung,pins = "gpf1-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_perst4_in: pcie_perst4_in { > > + samsung,pins = "gpf1-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_clkreq5: pcie_clkreq5 { > > + samsung,pins = "gpf1-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_UP>; > > + }; > > + > > + pcie_perst5_out: pcie_perst5_out { > > + samsung,pins = "gpf1-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + pcie_perst5_in: pcie_perst5_in { > > + samsung,pins = "gpf1-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > +}; > > + > > +&pinctrl_fsys1 { > > + gpf8: gpf8 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + sd2_clk: sd2-clk { > > + samsung,pins = "gpf8-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <2>; /* 2x drive strength */ > > + }; > > + > > + sd2_cmd: sd2-cmd { > > + samsung,pins = "gpf8-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <2>; /* 2x drive strength */ > > + }; > > + > > + sd2_bus1: sd2-bus-width1 { > > + samsung,pins = "gpf8-2"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <2>; /* 2x drive strength */ > > + }; > > + > > + sd2_bus4: sd2-bus-width4 { > > + samsung,pins = "gpf8-3", "gpf8-4", "gpf8-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; > > + samsung,pin-drv = <2>; /* 2x drive strength */ > > + }; > > +}; > > + > > +&pinctrl_fsys2 { > > + gpf2: gpf2 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpf3: gpf3 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpf4: gpf4 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpf5: gpf5 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpf6: gpf6 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + ufs_rst_n: ufs-rst-n { > > + samsung,pins = "gpf2-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + ufs_refclk_out: ufs-refclk-out { > > + samsung,pins = "gpf2-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + ufs_rst_n_1: ufs-rst-n-1 { > > + samsung,pins = "gpf2-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + ufs_refclk_out_1: ufs-refclk-out-1 { > > + samsung,pins = "gpf2-2"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > + > > + eth0_mdc_mdio: eth0_mdc_mdio { > > + samsung,pins = "gpf4-5", "gpf4-6"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + }; > > + > > + eth0_rgmii: eth0_rgmii { > > + samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3", "gpf3-4", > > + "gpf3-5", "gpf3-6", "gpf3-7", "gpf4-0", > > + "gpf4-1", "gpf4-2", "gpf4-3", "gpf4-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + }; > > + > > + eth0_pps_out: eth0_pps_out { > > + samsung,pins = "gpf3-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + eth1_mdc_mdio: eth1_mdc_mdio { > > + samsung,pins = "gpf6-5", "gpf6-6"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + }; > > + > > + eth1_rgmii: eth1_rgmii { > > + samsung,pins = "gpf5-1", "gpf5-2", "gpf5-3", "gpf5-4", > > + "gpf5-5", "gpf5-6", "gpf5-7", "gpf6-0", > > + "gpf6-1", "gpf6-2", "gpf6-3", "gpf6-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + }; > > + > > + eth1_pps_out: eth1_pps_out { > > + samsung,pins = "gpf5-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > +}; > > + > > +&pinctrl_peric0 { > > + gpp0: gpp0 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpp1: gpp1 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpp2: gpp2 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpg0: gpg0 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + pwm_tout0: pwm-tout0 { > > + samsung,pins = "gpg0-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_4>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + pwm_tout1: pwm-tout1 { > > + samsung,pins = "gpg0-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_4>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + pwm_tout2: pwm-tout2 { > > + samsung,pins = "gpg0-2"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_4>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + pwm_tout3: pwm-tout3 { > > + samsung,pins = "gpg0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_4>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI00 */ > > + hsi2c0_bus: hsi2c0-bus { > > + samsung,pins = "gpp0-0", "gpp0-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI00_I2C */ > > + hsi2c1_bus: hsi2c1-bus { > > + samsung,pins = "gpp0-2", "gpp0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI01 */ > > + hsi2c2_bus: hsi2c2-bus { > > + samsung,pins = "gpp0-4", "gpp0-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI01_I2C */ > > + hsi2c3_bus: hsi2c3-bus { > > + samsung,pins = "gpp0-6", "gpp0-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI02 */ > > + hsi2c4_bus: hsi2c4-bus { > > + samsung,pins = "gpp1-0", "gpp1-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI02_I2C */ > > + hsi2c5_bus: hsi2c5-bus { > > + samsung,pins = "gpp1-2", "gpp1-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI03 */ > > + hsi2c6_bus: hsi2c6-bus { > > + samsung,pins = "gpp1-4", "gpp1-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI03_I2C */ > > + hsi2c7_bus: hsi2c7-bus { > > + samsung,pins = "gpp1-6", "gpp1-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI04 */ > > + hsi2c8_bus: hsi2c8-bus { > > + samsung,pins = "gpp2-0", "gpp2-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI04_I2C */ > > + hsi2c9_bus: hsi2c9-bus { > > + samsung,pins = "gpp2-2", "gpp2-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI05 */ > > + hsi2c10_bus: hsi2c10-bus { > > + samsung,pins = "gpp2-4", "gpp2-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI05_I2C */ > > + hsi2c11_bus: hsi2c11-bus { > > + samsung,pins = "gpp2-6", "gpp2-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* SPI USI_PERIC0_USI00_SPI */ > > + spi0_bus: spi0-bus { > > + samsung,pins = "gpp0-2", "gpp0-1", "gpp0-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi0_cs: spi0-cs { > > + samsung,pins = "gpp0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi0_cs_func: spi0-cs-func { > > + samsung,pins = "gpp0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI01_SPI */ > > + spi1_bus: spi1-bus { > > + samsung,pins = "gpp0-6", "gpp0-5", "gpp0-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi1_cs: spi1-cs { > > + samsung,pins = "gpp0-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi1_cs_func: spi1-cs-func { > > + samsung,pins = "gpp0-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI02_SPI */ > > + spi2_bus: spi2-bus { > > + samsung,pins = "gpp1-2", "gpp1-1", "gpp1-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi2_cs: spi2-cs { > > + samsung,pins = "gpp1-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi2_cs_func: spi2-cs-func { > > + samsung,pins = "gpp1-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI03_SPI */ > > + spi3_bus: spi3-bus { > > + samsung,pins = "gpp1-6", "gpp1-5", "gpp1-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi3_cs: spi3-cs { > > + samsung,pins = "gpp1-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi3_cs_func: spi3-cs-func { > > + samsung,pins = "gpp1-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI04_SPI */ > > + spi4_bus: spi4-bus { > > + samsung,pins = "gpp2-2", "gpp2-1", "gpp2-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi4_cs: spi4-cs { > > + samsung,pins = "gpp2-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi4_cs_func: spi4-cs-func { > > + samsung,pins = "gpp2-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* PERIC0 USI05_SPI */ > > + spi5_bus: spi5-bus { > > + samsung,pins = "gpp2-6", "gpp2-5", "gpp2-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi5_cs: spi5-cs { > > + samsung,pins = "gpp2-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + spi5_cs_func: spi5-cs-func { > > + samsung,pins = "gpp2-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC0_USI00_UART */ > > + uart0_bus_single: uart0-bus { > > + samsung,pins = "gpp0-0", "gpp0-1", "gpp0-2", "gpp0-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart0_bus_dual: uart0-bus-dual { > > + samsung,pins = "gpp0-0", "gpp0-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC0_USI01_UART */ > > + uart1_bus_single: uart1-bus { > > + samsung,pins = "gpp0-4", "gpp0-5", "gpp0-6", "gpp0-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart1_bus_dual: uart1-bus-dual { > > + samsung,pins = "gpp0-4", "gpp0-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC0_USI02_UART */ > > + uart2_bus_single: uart2-bus { > > + samsung,pins = "gpp1-0", "gpp1-1", "gpp1-2", "gpp1-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart2_bus_dual: uart2-bus-dual { > > + samsung,pins = "gpp1-0", "gpp1-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC0_USI03_UART */ > > + uart3_bus_single: uart3-bus { > > + samsung,pins = "gpp1-4", "gpp1-5", "gpp1-6", "gpp1-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart3_bus_dual: uart3-bus-dual { > > + samsung,pins = "gpp1-4", "gpp1-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC0_USI04_UART */ > > + uart4_bus_single: uart4-bus { > > + samsung,pins = "gpp2-0", "gpp2-1", "gpp2-2", "gpp2-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart4_bus_dual: uart4-bus-dual { > > + samsung,pins = "gpp2-0", "gpp2-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC0_USI05_UART */ > > + uart5_bus_single: uart5-bus { > > + samsung,pins = "gpp2-4", "gpp2-5", "gpp2-6", "gpp2-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart5_bus_dual: uart5-bus-dual { > > + samsung,pins = "gpp2-4", "gpp2-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > +}; > > + > > +&pinctrl_peric1 { > > + gpp3: gpp3 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpp4: gpp4 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpp5: gpp5 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpg1: gpg1 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpg2: gpg2 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + gpg3: gpg3 { > > + gpio-controller; > > + #gpio-cells = <2>; > > + > > + interrupt-controller; > > + #interrupt-cells = <2>; > > + }; > > + > > + /* PERIC1 USI06 */ > > + hsi2c12_bus: hsi2c12-bus { > > + samsung,pins = "gpp3-0", "gpp3-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI06_I2C */ > > + hsi2c13_bus: hsi2c13-bus { > > + samsung,pins = "gpp3-2", "gpp3-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI07 */ > > + hsi2c14_bus: hsi2c14-bus { > > + samsung,pins = "gpp3-4", "gpp3-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI07_I2C */ > > + hsi2c15_bus: hsi2c15-bus { > > + samsung,pins = "gpp3-6", "gpp3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI08 */ > > + hsi2c16_bus: hsi2c16-bus { > > + samsung,pins = "gpp4-0", "gpp4-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI08_I2C */ > > + hsi2c17_bus: hsi2c17-bus { > > + samsung,pins = "gpp4-2", "gpp4-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI09 */ > > + hsi2c18_bus: hsi2c18-bus { > > + samsung,pins = "gpp4-4", "gpp4-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI09_I2C */ > > + hsi2c19_bus: hsi2c19-bus { > > + samsung,pins = "gpp4-6", "gpp4-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI10 */ > > + hsi2c20_bus: hsi2c20-bus { > > + samsung,pins = "gpp5-0", "gpp5-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI10_I2C */ > > + hsi2c21_bus: hsi2c21-bus { > > + samsung,pins = "gpp5-2", "gpp5-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI11 */ > > + hsi2c22_bus: hsi2c22-bus { > > + samsung,pins = "gpp5-4", "gpp5-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI11_I2C */ > > + hsi2c23_bus: hsi2c23-bus { > > + samsung,pins = "gpp5-6", "gpp5-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_3>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI06_SPI */ > > + spi6_bus: spi6-bus { > > + samsung,pins = "gpp3-2", "gpp3-1", "gpp3-0"; > > + 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 { > > + samsung,pins = "gpp3-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi6_cs_func: spi6-cs-func { > > + samsung,pins = "gpp3-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI07_SPI */ > > + spi7_bus: spi7-bus { > > + samsung,pins = "gpp3-6", "gpp3-5", "gpp3-4"; > > + 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 { > > + samsung,pins = "gpp3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi7_cs_func: spi7-cs-func { > > + samsung,pins = "gpp3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI08_SPI */ > > + spi8_bus: spi8-bus { > > + samsung,pins = "gpp4-2", "gpp4-1", "gpp4-0"; > > + 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 { > > + samsung,pins = "gpp4-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi8_cs_func: spi8-cs-func { > > + samsung,pins = "gpp4-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI09_SPI */ > > + spi9_bus: spi9-bus { > > + samsung,pins = "gpp4-6", "gpp4-5", "gpp4-4"; > > + 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 { > > + samsung,pins = "gpp4-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi9_cs_func: spi9-cs-func { > > + samsung,pins = "gpp4-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI10_SPI */ > > + spi10_bus: spi10-bus { > > + samsung,pins = "gpp5-2", "gpp5-1", "gpp5-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi10_cs: spi10-cs { > > + samsung,pins = "gpp5-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi10_cs_func: spi10-cs-func { > > + samsung,pins = "gpp5-3"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* PERIC1 USI11_SPI */ > > + spi11_bus: spi11-bus { > > + samsung,pins = "gpp3-6", "gpp3-5", "gpp3-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi11_cs: spi11-cs { > > + samsung,pins = "gpp3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + spi11_cs_func: spi11-cs-func { > > + samsung,pins = "gpp3-7"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; > > + }; > > + > > + /* USI_PERIC1_USI06_UART */ > > + uart6_bus_single: uart6-bus { > > + samsung,pins = "gpp3-3", "gpp3-2", "gpp3-1", "gpp3-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart6_bus_dual: uart6-bus-dual { > > + samsung,pins = "gpp3-0", "gpp3-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC1_USI07_UART */ > > + uart7_bus_single: uart7-bus { > > + samsung,pins = "gpp3-7", "gpp3-6", "gpp3-5", "gpp3-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart7_bus_dual: uart7-bus-dual { > > + samsung,pins = "gpp3-4", "gpp3-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC1_USI08_UART */ > > + uart8_bus_single: uart8-bus { > > + samsung,pins = "gpp4-3", "gpp4-2", "gpp4-1", "gpp4-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart8_bus_dual: uart8-bus-dual { > > + samsung,pins = "gpp4-0", "gpp4-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC1_USI09_UART */ > > + uart9_bus_single: uart9-bus { > > + samsung,pins = "gpp4-7", "gpp4-6", "gpp4-5", "gpp4-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart9_bus_dual: uart9-bus-dual { > > + samsung,pins = "gpp4-4", "gpp4-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC1_USI10_UART */ > > + uart10_bus_single: uart10-bus { > > + samsung,pins = "gpp5-3", "gpp5-2", "gpp5-1", "gpp5-0"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart10_bus_dual: uart10-bus-dual { > > + samsung,pins = "gpp5-0", "gpp5-1"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + /* USI_PERIC1_USI11_UART */ > > + uart11_bus_single: uart11-bus { > > + samsung,pins = "gpp5-7", "gpp5-6", "gpp5-5", "gpp5-4"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + uart11_bus_dual: uart11-bus-dual { > > + samsung,pins = "gpp5-4", "gpp5-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_2>; > > + samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; > > + }; > > + > > + pm_wrsti: pm-wrsti { > > + samsung,pins = "gpg2-3"; > > + samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; > > + }; > > +}; > > diff --git a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi > > b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi > > new file mode 100644 > > index 000000000000..a74fb7785bb3 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi > > @@ -0,0 +1,290 @@ > > +// SPDX-License-Identifier: GPL-2.0 > > +/* > > + * Samsung's ExynosAuto9 SoC device tree source */ > > + > > +#include <dt-bindings/gpio/gpio.h> > > +#include <dt-bindings/interrupt-controller/arm-gic.h> > > + > > +/ { > > + compatible = "samsung,exynosautov9"; > > + #address-cells = <2>; > > + #size-cells = <1>; > > + > > + interrupt-parent = <&gic>; > > + > > + aliases { > > + pinctrl0 = &pinctrl_alive; > > + pinctrl1 = &pinctrl_aud; > > + pinctrl2 = &pinctrl_fsys0; > > + pinctrl3 = &pinctrl_fsys1; > > + pinctrl4 = &pinctrl_fsys2; > > + pinctrl5 = &pinctrl_peric0; > > + pinctrl6 = &pinctrl_peric1; > > + }; > > + > > + arm-pmu { > > + compatible = "arm,armv8-pmuv3"; > > + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, > > + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; > > + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, > > + <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; > > + }; > > + > > + 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 = <&cpu4>; > > + }; > > + core1 { > > + cpu = <&cpu5>; > > + }; > > + core2 { > > + cpu = <&cpu6>; > > + }; > > + core3 { > > + cpu = <&cpu7>; > > + }; > > + }; > > + }; > > + > > + cpu0: cpu@000000 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > Compatible is not specific enough. It's valid only for SW models. You must > define here proper Cortex or some other type. > > > + reg = <0x0>; > > + enable-method = "psci"; > > + }; > > + > > + cpu1: cpu@000100 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x100>; > > + enable-method = "psci"; > > + }; > > + > > + cpu2: cpu@000200 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x200>; > > + enable-method = "psci"; > > + }; > > + > > + cpu3: cpu@000300 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x300>; > > + enable-method = "psci"; > > + }; > > + > > + cpu4: cpu@10000 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x10000>; > > + enable-method = "psci"; > > + }; > > + > > + cpu5: cpu@10100 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x10100>; > > + enable-method = "psci"; > > + }; > > + > > + cpu6: cpu@10200 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x10200>; > > + enable-method = "psci"; > > + }; > > + > > + cpu7: cpu@10300 { > > + device_type = "cpu"; > > + compatible = "arm,armv8"; > > + reg = <0x10300>; > > + enable-method = "psci"; > > + }; > > + }; > > + > > + psci { > > + compatible = "arm,psci-1.0"; > > + method = "smc"; > > + cpu_suspend = <0xC4000001>; > > + cpu_off = <0x84000002>; > > + cpu_on = <0xC4000003>; > > + }; > > + > > + 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)>; > > + }; > > + > > + soc: soc@0 { > > + compatible = "simple-bus"; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + ranges = <0x0 0x0 0x0 0x20000000>; > > + > > + gic: interrupt-controller@11001000 { > > + compatible = "arm,gic-400"; > > + #interrupt-cells = <3>; > > + #address-cells = <0>; > > + interrupt-controller; > > + reg = <0x10101000 0x1000>, > > + <0x10102000 0x2000>, > > + <0x10104000 0x2000>, > > + <0x10106000 0x2000>; > > + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | > > + IRQ_TYPE_LEVEL_HIGH)>; > > + }; > > + > > + pinctrl_alive: pinctrl@10450000 { > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x10450000 0x1000>; > > + > > + wakeup-interrupt-controller { > > + compatible = "samsung,exynos7-wakeup-eint"; > > + }; > > + }; > > + > > + pinctrl_aud: pinctrl@19C60000{ > > Some of the addresses (unit address and reg) have uppercase hex, some > lowercase. Please unify to lowercase. > > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x19C60000 0x1000>; > > + }; > > + > > + pinctrl_fsys0: pinctrl@17740000 { > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x17740000 0x1000>; > > + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + > > + pinctrl_fsys1: pinctrl@17060000 { > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x17060000 0x1000>; > > + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + > > + pinctrl_fsys2: pinctrl@17C30000 { > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x17C30000 0x1000>; > > + interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + > > + pinctrl_peric0: pinctrl@10230000 { > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x10230000 0x1000>; > > + interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + > > + pinctrl_peric1: pinctrl@10830000 { > > + compatible = "samsung,exynosautov9-pinctrl"; > > + reg = <0x10830000 0x1000>; > > + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + > > + pmu_system_controller: system-controller@10460000 { > > + compatible = "syscon", "simple-mfd"; > > You need also SoC-specific compatible (plus document it). Extend existing > exynos-pmu, so you can get rid of simple-mfd. > > > + reg = <0x10460000 0x10000>; > > + }; > > + > > + syscon_fsys2: syscon@17c20000 { > > + compatible = "syscon"; > > This should not pass the schema. You need to use SoC-compatible (add new). > > Please run dtbs_check and fix all errors. > > > + reg = <0x17c20000 0x1000>; > > + }; > > + > > + fixed-rate-clocks { > > + oscclk: oscclk { > > This won't pass dtbs W=1, I think. Anyway, this is external clock so > please put it outside of soc@0 (same as Exynos5433), could be under the > fixed-rate-clocks node if you have more than one. > > Generic node name, so just "clock". > > > + compatible = "fixed-clock"; > > + #clock-cells = <0>; > > + clock-frequency = <26000000>; > > + }; > > + > > + uart_clock: uart-clock { > > + compatible = "fixed-clock"; > > These look like workarounds for missing clock driver. Please add a comment > to both of them that they are temporary workarounds. > > > > + #clock-cells = <0>; > > + clock-frequency = <133250000>; > > + clock-output-names = "uart"; > > + }; > > + > > + ufs_core_clock: uart-core-clock { > > + compatible = "fixed-clock"; > > + #clock-cells = <0>; > > + clock-frequency = <166562500>; > > + }; > > + }; > > + > > + /* USI: UART */ > > + serial_0: uart@103000000 { > > + compatible = "samsung,exynos850-uart"; > > + reg = <0x10300000 0x100>; > > + interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&uart0_bus_dual>; > > + clocks = <&uart_clock>, <&uart_clock>; > > + clock-names = "uart", "clk_uart_baud0"; > > + status = "disabled"; > > + }; > > + > > + ufs_0_phy: ufs0-phy@17e04000 { > > + compatible = "samsung,exynosautov9-ufs-phy"; > > + reg = <0x17e04000 0xc00>; > > + reg-names = "phy-pma"; > > + samsung,pmu-syscon = <&pmu_system_controller>; > > + #phy-cells = <0>; > > + clocks = <&oscclk>; > > + clock-names = "ref_clk"; > > + status = "disabled"; > > + }; > > + > > + ufs_0: ufs0@17e00000 { > > + compatible ="samsung,exynosautov9-ufs"; > > + > > + reg = <0x17e00000 0x100>, /* 0: HCI standard */ > > + <0x17e01100 0x410>, /* 1: Vendor-specific */ > > + <0x17e80000 0x8000>, /* 2: UNIPRO */ > > + <0x17dc0000 0x2200>; /* 3: UFS protector */ > > + reg-names = "hci", "vs_hci", "unipro", "ufsp"; > > + interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; > > + clocks = <&ufs_core_clock>, > > + <&ufs_core_clock>; > > + clock-names = "core_clk", "sclk_unipro_main"; > > + freq-table-hz = <0 0>, <0 0>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>; > > + phys = <&ufs_0_phy>; > > + phy-names = "ufs-phy"; > > + samsung,sysreg = <&syscon_fsys2>; > > + samsung,ufs-shareability-reg-offset = <0x710>; > > + status = "disabled"; > > + }; > > + }; > > +}; > > + > > +#include "exynosautov9-pinctrl.dtsi" > > > All your reviews make sense for me. I'll apply them next patch. Best Regards, Chanho Park