forked from Minki/linux
17dcc16fbd
Usage of DTS macros instead of hard-coded numbers makes code easier to read. One does not have to remember which value means pull-up/down or specific driver strength. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
619 lines
12 KiB
Plaintext
619 lines
12 KiB
Plaintext
/*
|
|
* Exynos5410 SoC pin-mux and pin-config device tree source
|
|
*
|
|
* Copyright (c) 2013 Hardkernel Co., Ltd.
|
|
* http://www.hardkernel.com
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <dt-bindings/pinctrl/samsung.h>
|
|
|
|
&pinctrl_0 {
|
|
gpa0: gpa0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpa1: gpa1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpa2: gpa2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
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>;
|
|
};
|
|
|
|
gpc0: gpc0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpc3: gpc3 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpc1: gpc1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpc2: gpc2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpm5: gpm5 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpd1: gpd1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpe0: gpe0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpe1: gpe1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpf0: gpf0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpf1: gpf1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpg0: gpg0 {
|
|
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>;
|
|
};
|
|
|
|
gph0: gph0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gph1: gph1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpm7: gpm7 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy0: gpy0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy1: gpy1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy2: gpy2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy3: gpy3 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy4: gpy4 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy5: gpy5 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy6: gpy6 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpy7: gpy7 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
|
|
gpx0: gpx0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
interrupt-parent = <&combiner>;
|
|
#interrupt-cells = <2>;
|
|
interrupts = <23 0>,
|
|
<24 0>,
|
|
<25 0>,
|
|
<25 1>,
|
|
<26 0>,
|
|
<26 1>,
|
|
<27 0>,
|
|
<27 1>;
|
|
};
|
|
|
|
gpx1: gpx1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
interrupt-parent = <&combiner>;
|
|
#interrupt-cells = <2>;
|
|
interrupts = <28 0>,
|
|
<28 1>,
|
|
<29 0>,
|
|
<29 1>,
|
|
<30 0>,
|
|
<30 1>,
|
|
<31 0>,
|
|
<31 1>;
|
|
};
|
|
|
|
gpx2: gpx2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpx3: gpx3 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
uart0_data: uart0-data {
|
|
samsung,pins = "gpa0-0", "gpa0-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
uart0_fctl: uart0-fctl {
|
|
samsung,pins = "gpa0-2", "gpa0-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
uart1_data: uart1-data {
|
|
samsung,pins = "gpa0-4", "gpa0-5";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
uart1_fctl: uart1-fctl {
|
|
samsung,pins = "gpa0-6", "gpa0-7";
|
|
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 {
|
|
samsung,pins = "gpa0-6", "gpa0-7";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
uart2_data: uart2-data {
|
|
samsung,pins = "gpa1-0", "gpa1-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
uart2_fctl: uart2-fctl {
|
|
samsung,pins = "gpa1-2", "gpa1-3";
|
|
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 {
|
|
samsung,pins = "gpa1-2", "gpa1-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
uart3_data: uart3-data {
|
|
samsung,pins = "gpa1-4", "gpa1-5";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
i2c4_hs_bus: i2c4-hs-bus {
|
|
samsung,pins = "gpa2-0", "gpa2-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
i2c5_hs_bus: i2c5-hs-bus {
|
|
samsung,pins = "gpa2-2", "gpa2-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
i2c6_hs_bus: i2c6-hs-bus {
|
|
samsung,pins = "gpb1-3", "gpb1-4";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
pwm0_out: pwm0-out {
|
|
samsung,pins = "gpb2-0";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
pwm1_out: pwm1-out {
|
|
samsung,pins = "gpb2-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
pwm2_out: pwm2-out {
|
|
samsung,pins = "gpb2-2";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
pwm3_out: pwm3-out {
|
|
samsung,pins = "gpb2-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
i2c7_hs_bus: i2c7-hs-bus {
|
|
samsung,pins = "gpb2-2", "gpb2-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
i2c0_bus: i2c0-bus {
|
|
samsung,pins = "gpb3-0", "gpb3-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
i2c1_bus: i2c1-bus {
|
|
samsung,pins = "gpb3-2", "gpb3-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
|
|
};
|
|
|
|
sd0_clk: sd0-clk {
|
|
samsung,pins = "gpc0-0";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd0_cmd: sd0-cmd {
|
|
samsung,pins = "gpc0-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd0_cd: sd0-cd {
|
|
samsung,pins = "gpc0-2";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd0_bus1: sd0-bus-width1 {
|
|
samsung,pins = "gpc0-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd0_bus4: sd0-bus-width4 {
|
|
samsung,pins = "gpc0-4", "gpc0-5", "gpc0-6";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd2_clk: sd2-clk {
|
|
samsung,pins = "gpc2-0";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd2_cmd: sd2-cmd {
|
|
samsung,pins = "gpc2-1";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd2_cd: sd2-cd {
|
|
samsung,pins = "gpc2-2";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd2_bus1: sd2-bus-width1 {
|
|
samsung,pins = "gpc2-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd2_bus4: sd2-bus-width4 {
|
|
samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
|
|
sd0_bus8: sd0-bus-width8 {
|
|
samsung,pins = "gpc3-0", "gpc3-1", "gpc3-2", "gpc3-3";
|
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
|
samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV4>;
|
|
};
|
|
};
|
|
|
|
&pinctrl_1 {
|
|
gpj0: gpj0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpj1: gpj1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpj2: gpj2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpj3: gpj3 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpj4: gpj4 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpk0: gpk0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpk1: gpk1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpk2: gpk2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpk3: gpk3 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
&pinctrl_2 {
|
|
gpv0: gpv0 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpv1: gpv1 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpv2: gpv2 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpv3: gpv3 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpv4: gpv4 {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|
|
|
|
&pinctrl_3 {
|
|
gpz: gpz {
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
};
|