EXYNOS_PIN_BANK_EINTG(3, 0x000, "gpj1", 0x00),
 };
 
+/* PMU pin retention groups registers for Exynos5433 (without audio & fsys) */
+static const u32 exynos5433_retention_regs[] = {
+       EXYNOS5433_PAD_RETENTION_TOP_OPTION,
+       EXYNOS5433_PAD_RETENTION_UART_OPTION,
+       EXYNOS5433_PAD_RETENTION_EBIA_OPTION,
+       EXYNOS5433_PAD_RETENTION_EBIB_OPTION,
+       EXYNOS5433_PAD_RETENTION_SPI_OPTION,
+       EXYNOS5433_PAD_RETENTION_MIF_OPTION,
+       EXYNOS5433_PAD_RETENTION_USBXTI_OPTION,
+       EXYNOS5433_PAD_RETENTION_BOOTLDO_OPTION,
+       EXYNOS5433_PAD_RETENTION_UFS_OPTION,
+       EXYNOS5433_PAD_RETENTION_FSYSGENIO_OPTION,
+};
+
+static const struct samsung_retention_data exynos5433_retention_data __initconst = {
+       .regs    = exynos5433_retention_regs,
+       .nr_regs = ARRAY_SIZE(exynos5433_retention_regs),
+       .value   = EXYNOS_WAKEUP_FROM_LOWPWR,
+       .refcnt  = &exynos_shared_retention_refcnt,
+       .init    = exynos_retention_init,
+};
+
+/* PMU retention control for audio pins can be tied to audio pin bank */
+static const u32 exynos5433_audio_retention_regs[] = {
+       EXYNOS5433_PAD_RETENTION_AUD_OPTION,
+};
+
+static const struct samsung_retention_data exynos5433_audio_retention_data __initconst = {
+       .regs    = exynos5433_audio_retention_regs,
+       .nr_regs = ARRAY_SIZE(exynos5433_audio_retention_regs),
+       .value   = EXYNOS_WAKEUP_FROM_LOWPWR,
+       .init    = exynos_retention_init,
+};
+
+/* PMU retention control for mmc pins can be tied to fsys pin bank */
+static const u32 exynos5433_fsys_retention_regs[] = {
+       EXYNOS5433_PAD_RETENTION_MMC0_OPTION,
+       EXYNOS5433_PAD_RETENTION_MMC1_OPTION,
+       EXYNOS5433_PAD_RETENTION_MMC2_OPTION,
+};
+
+static const struct samsung_retention_data exynos5433_fsys_retention_data __initconst = {
+       .regs    = exynos5433_fsys_retention_regs,
+       .nr_regs = ARRAY_SIZE(exynos5433_fsys_retention_regs),
+       .value   = EXYNOS_WAKEUP_FROM_LOWPWR,
+       .init    = exynos_retention_init,
+};
+
 /*
  * Samsung pinctrl driver data for Exynos5433 SoC. Exynos5433 SoC includes
  * ten gpio/pin-mux/pinconfig controllers.
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
                .nr_ext_resources = 1,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 1 data */
                .pin_banks      = exynos5433_pin_banks1,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_audio_retention_data,
        }, {
                /* pin-controller instance 2 data */
                .pin_banks      = exynos5433_pin_banks2,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 3 data */
                .pin_banks      = exynos5433_pin_banks3,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 4 data */
                .pin_banks      = exynos5433_pin_banks4,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 5 data */
                .pin_banks      = exynos5433_pin_banks5,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_fsys_retention_data,
        }, {
                /* pin-controller instance 6 data */
                .pin_banks      = exynos5433_pin_banks6,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 7 data */
                .pin_banks      = exynos5433_pin_banks7,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 8 data */
                .pin_banks      = exynos5433_pin_banks8,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        }, {
                /* pin-controller instance 9 data */
                .pin_banks      = exynos5433_pin_banks9,
                .eint_gpio_init = exynos_eint_gpio_init,
                .suspend        = exynos_pinctrl_suspend,
                .resume         = exynos_pinctrl_resume,
+               .retention_data = &exynos5433_retention_data,
        },
 };