// SPDX-License-Identifier: GPL-2.0 /* * Samsung's Exynos850 SoC pin-mux and pin-config device tree source * * Copyright (C) 2017 Samsung Electronics Co., Ltd. * Copyright (C) 2021 Linaro Ltd. * * Samsung's Exynos850 SoC pin-mux and pin-config options are listed as device * tree nodes in this file. */ #include #include "exynos-pinctrl.h" &pinctrl_alive { gpa0: gpa0-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = , , , , , , , ; }; gpa1: gpa1-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = , , , , , , , ; }; gpa2: gpa2-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = , , , , , , , ; }; gpa3: gpa3-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = , , , , , , , ; }; gpa4: gpa4-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = , , , ; }; gpq0: gpq0-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; /* I2C5 (also called CAM_PMIC_I2C in TRM) */ i2c5_pins: i2c5-pins { samsung,pins = "gpa3-5", "gpa3-6"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* I2C6 (also called MOTOR_I2C in TRM) */ i2c6_pins: i2c6-pins { samsung,pins = "gpa3-7", "gpa4-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI: UART_DEBUG_0 pins */ uart0_pins: uart0-pins { samsung,pins = "gpq0-0", "gpq0-1"; samsung,pin-function = ; samsung,pin-pud = ; }; /* USI: UART_DEBUG_1 pins */ uart1_pins: uart1-pins { samsung,pins = "gpa3-7", "gpa4-0"; samsung,pin-function = ; samsung,pin-pud = ; }; }; &pinctrl_cmgp { gpm0: gpm0-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm1: gpm1-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm2: gpm2-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm3: gpm3-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm4: gpm4-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm5: gpm5-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm6: gpm6-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; gpm7: gpm7-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&gic>; interrupts = ; }; /* USI_CMGP0: HSI2C function */ hsi2c3_pins: hsi2c3-pins { samsung,pins = "gpm0-0", "gpm1-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI_CMGP0: UART function (4 pins, Auto Flow Control) */ uart1_single_pins: uart1-single-pins { samsung,pins = "gpm0-0", "gpm1-0", "gpm2-0", "gpm3-0"; samsung,pin-function = ; samsung,pin-pud = ; }; /* USI_CMGP0: UART function (2 pins, Non-Auto Flow Control) */ uart1_dual_pins: uart1-dual-pins { samsung,pins = "gpm0-0", "gpm1-0"; samsung,pin-function = ; samsung,pin-pud = ; }; /* USI_CMGP0: SPI function */ spi1_pins: spi1-pins { samsung,pins = "gpm0-0", "gpm1-0", "gpm2-0", "gpm3-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI_CMGP1: HSI2C function */ hsi2c4_pins: hsi2c4-pins { samsung,pins = "gpm4-0", "gpm5-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI_CMGP1: UART function (4 pins, Auto Flow Control) */ uart2_single_pins: uart2-single-pins { samsung,pins = "gpm4-0", "gpm5-0", "gpm6-0", "gpm7-0"; samsung,pin-function = ; samsung,pin-pud = ; }; /* USI_CMGP1: UART function (2 pins, Non-Auto Flow Control) */ uart2_dual_pins: uart2-dual-pins { samsung,pins = "gpm4-0", "gpm5-0"; samsung,pin-function = ; samsung,pin-pud = ; }; /* USI_CMGP1: SPI function */ spi2_pins: spi2-pins { samsung,pins = "gpm4-0", "gpm5-0", "gpm6-0", "gpm7-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; }; &pinctrl_aud { 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>; }; aud_codec_mclk_pins: aud-codec-mclk-pins { samsung,pins = "gpb0-0"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_codec_mclk_idle_pins: aud-codec-mclk-idle-pins { samsung,pins = "gpb0-0"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_i2s0_pins: aud-i2s0-pins { samsung,pins = "gpb0-1", "gpb0-2", "gpb0-3", "gpb0-4"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_i2s0_idle_pins: aud-i2s0-idle-pins { samsung,pins = "gpb0-1", "gpb0-2", "gpb0-3", "gpb0-4"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_i2s1_pins: aud-i2s1-pins { samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_i2s1_idle_pins: aud-i2s1-idle-pins { samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_fm_pins: aud-fm-pins { samsung,pins = "gpb1-4"; samsung,pin-function = ; samsung,pin-pud = ; }; aud_fm_idle_pins: aud-fm-idle-pins { samsung,pins = "gpb1-4"; samsung,pin-function = ; samsung,pin-pud = ; }; }; &pinctrl_hsi { gpf2: gpf2-gpio-bank { gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; sd2_clk_pins: sd2-clk-pins { samsung,pins = "gpf2-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd2_cmd_pins: sd2-cmd-pins { samsung,pins = "gpf2-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd2_bus1_pins: sd2-bus1-pins { samsung,pins = "gpf2-2"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd2_bus4_pins: sd2-bus4-pins { samsung,pins = "gpf2-3", "gpf2-4", "gpf2-5"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd2_pdn_pins: sd2-pdn-pins { samsung,pins = "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-4", "gpf2-5"; samsung,pin-function = ; samsung,pin-pud = ; }; }; &pinctrl_core { 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>; }; sd0_clk_pins: sd0-clk-pins { samsung,pins = "gpf0-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd0_cmd_pins: sd0-cmd-pins { samsung,pins = "gpf0-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd0_rdqs_pins: sd0-rdqs-pins { samsung,pins = "gpf0-2"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd0_nreset_pins: sd0-nreset-pins { samsung,pins = "gpf0-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd0_bus1_pins: sd0-bus1-pins { samsung,pins = "gpf1-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd0_bus4_pins: sd0-bus4-pins { samsung,pins = "gpf1-1", "gpf1-2", "gpf1-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd0_bus8_pins: sd0-bus8-pins { samsung,pins = "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; }; &pinctrl_peri { 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>; }; 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>; }; 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>; }; sensor_mclk0_in_pins: sensor-mclk0-in-pins { samsung,pins = "gpc0-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk0_out_pins: sensor-mclk0-out-pins { samsung,pins = "gpc0-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk0_fn_pins: sensor-mclk0-fn-pins { samsung,pins = "gpc0-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk1_in_pins: sensor-mclk1-in-pins { samsung,pins = "gpc0-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk1_out_pins: sensor-mclk1-out-pins { samsung,pins = "gpc0-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk1_fn_pins: sensor-mclk1-fn-pins { samsung,pins = "gpc0-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk2_in_pins: sensor-mclk2-in-pins { samsung,pins = "gpc0-2"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk2_out_pins: sensor-mclk2-out-pins { samsung,pins = "gpc0-2"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sensor_mclk2_fn_pins: sensor-mclk2-fn-pins { samsung,pins = "gpc0-2"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI: HSI2C0 */ hsi2c0_pins: hsi2c0-pins { samsung,pins = "gpc1-0", "gpc1-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI: HSI2C1 */ hsi2c1_pins: hsi2c1-pins { samsung,pins = "gpc1-2", "gpc1-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI: HSI2C2 */ hsi2c2_pins: hsi2c2-pins { samsung,pins = "gpc1-4", "gpc1-5"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; /* USI: SPI */ spi0_pins: spi0-pins { samsung,pins = "gpp2-0", "gpp2-1", "gpp2-2", "gpp2-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; i2c0_pins: i2c0-pins { samsung,pins = "gpp0-0", "gpp0-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; i2c1_pins: i2c1-pins { samsung,pins = "gpp0-2", "gpp0-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; i2c2_pins: i2c2-pins { samsung,pins = "gpp0-4", "gpp0-5"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; i2c3_pins: i2c3-pins { samsung,pins = "gpp1-0", "gpp1-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; i2c4_pins: i2c4-pins { samsung,pins = "gpp1-2", "gpp1-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; xclkout_pins: xclkout-pins { samsung,pins = "gpq0-2"; samsung,pin-function = ; samsung,pin-pud = ; }; };