arm64: dts: exynos: Add sleep state for the sleep relevant pins
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 30 Nov 2018 09:30:17 +0000 (10:30 +0100)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 14 Feb 2019 05:58:06 +0000 (14:58 +0900)
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ia3f96901af60d5a81f7c559b0111bb3ed1c2024b

arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi

index caa2236c11875a0d7ddf50bb40abf0e7ff8b7b59..83df08f1cf3295a98e4b25e616df86c22c322b73 100644 (file)
                samsung,pin-drv = <EXYNOS5433_PIN_DRV_ ##_drv>;         \
        }
 
+#define PIN_SLP(_pin, _mode, _pull)                                    \
+       _pin {                                                          \
+               samsung,pins = #_pin;                                   \
+               samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>;        \
+               samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>;       \
+       }
+
 &pinctrl_alive {
        gpa0: gpa0 {
                gpio-controller;
index 8a742c3108e2dfa80e992f58743603ca745bc2ff..4bf0912690d404dc89bc1a5e283b050c46bd8a52 100644 (file)
 
 &pinctrl_alive {
        pinctrl-names = "default";
-       pinctrl-0 = <&initial_alive>;
+       pinctrl-0 = <&initial_alive &sleep_alive>;
 
        initial_alive: initial-state {
                PIN(INPUT, gpa0-0, DOWN, FAST_SR1);
                PIN(INPUT, gpf5-7, DOWN, FAST_SR1);
        };
 
+       sleep_alive: sleep-state {
+               PIN_SLP(gpf2-2, INPUT, UP);     /* MCU_AP_INT_2_1.8V */
+               PIN_SLP(gpf2-3, OUT0, DOWN);    /* AP_MCU_INT_1.8V */
+       };
+
        ssp_irq: ssp-irq {
                samsung,pins = "gpa3-3";
                samsung,pin-function = <0xf>;
 
 &pinctrl_ese {
        pinctrl-names = "default";
-       pinctrl-0 = <&initial_ese>;
+       pinctrl-0 = <&initial_ese &sleep_ese>;
 
        initial_ese: initial-state {
                PIN(INPUT, gpj2-1, DOWN, FAST_SR1);
                PIN(INPUT, gpj2-2, DOWN, FAST_SR1);
        };
+
+       sleep_ese: sleep-state {
+               PIN_SLP(gpj2-0, PREV, DOWN);    /* WLAN_EN */
+       };
 };
 
 &pinctrl_fsys {
        pinctrl-names = "default";
-       pinctrl-0 = <&initial_fsys>;
+       pinctrl-0 = <&initial_fsys &sleep_fsys>;
 
        initial_fsys: initial-state {
                PIN(INPUT, gpr3-0, NONE, FAST_SR1);
                PIN(INPUT, gpr3-3, DOWN, FAST_SR1);
                PIN(INPUT, gpr3-7, NONE, FAST_SR1);
        };
+
+       sleep_fsys: sleep-state {
+               PIN_SLP(gpr3-7, OUT0, DOWN);  /* BT_WAKE */
+       };
 };
 
 &pinctrl_imem {
 
 &pinctrl_peric {
        pinctrl-names = "default";
-       pinctrl-0 = <&initial_peric>;
+       pinctrl-0 = <&initial_peric &sleep_peric>;
 
        initial_peric: initial-state {
                PIN(INPUT, gpv7-0, DOWN, FAST_SR1);
                PIN(INPUT, gpg3-5, DOWN, FAST_SR1);
        };
 
+       sleep_peric: sleep-state {
+               PIN_SLP(gpc0-1, PREV, DOWN);    /* FLASH_LED_STROBE */
+               PIN_SLP(gpc0-2, INPUT, DOWN);   /* FLASH_LED_TORCH */
+               PIN_SLP(gpd4-0, PREV, DOWN);    /* BT_EN */
+
+               PIN_SLP(gpd8-0, OUT1, UP);      /* SHUB_SPI_SCK */
+               PIN_SLP(gpd8-1, OUT1, UP);      /* SHUB_SPI_SSN */
+               PIN_SLP(gpd6-0, INPUT, DOWN);   /* SHUB_SPI_MISO */
+               PIN_SLP(gpd6-1, OUT1, UP);      /* SHUB_SPI_MOSI */
+               PIN_SLP(gpg2-0, PREV, NONE);    /* GPS_HUB_EN */
+       };
+
        ssp_gps_pwr_en: ssp-gps-pwr-en {
                samsung,pins = "gpg2-0";
                samsung,pin-function = <1>;