Skip to content

Commit 3cfc60e

Browse files
ksk4725krzk
authored andcommitted
pinctrl: samsung: Add ARTPEC-9 SoC specific configuration
Add Axis ARTPEC-9 SoC specific configuration data to enable pinctrl. Signed-off-by: SeonGu Kang <ksk4725@coasia.com> Signed-off-by: Ravi Patel <ravi.patel@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
1 parent e671a1b commit 3cfc60e

3 files changed

Lines changed: 52 additions & 0 deletions

File tree

drivers/pinctrl/samsung/pinctrl-exynos-arm64.c

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2023,3 +2023,52 @@ const struct samsung_pinctrl_of_match_data artpec8_of_data __initconst = {
20232023
.ctrl = artpec8_pin_ctrl,
20242024
.num_ctrl = ARRAY_SIZE(artpec8_pin_ctrl),
20252025
};
2026+
2027+
/* pin banks of artpec9 pin-controller (FSYS0) */
2028+
static const struct samsung_pin_bank_data artpec9_pin_banks0[] __initconst = {
2029+
ARTPEC_PIN_BANK_EINTG(8, 0x000, "gpf0", 0x00),
2030+
ARTPEC_PIN_BANK_EINTG(8, 0x020, "gpf1", 0x04),
2031+
ARTPEC_PIN_BANK_EINTG(8, 0x040, "gpe0", 0x08),
2032+
ARTPEC_PIN_BANK_EINTG(8, 0x060, "gpe1", 0x0c),
2033+
ARTPEC_PIN_BANK_EINTG(8, 0x080, "gpe2", 0x10),
2034+
ARTPEC_PIN_BANK_EINTG(8, 0x0a0, "gpe3", 0x14),
2035+
ARTPEC_PIN_BANK_EINTG(2, 0x0c0, "gpe4", 0x18),
2036+
ARTPEC_PIN_BANK_EINTG(8, 0x0e0, "gps0", 0x1c),
2037+
ARTPEC_PIN_BANK_EINTG(8, 0x100, "gps1", 0x20),
2038+
ARTPEC_PIN_BANK_EINTG(5, 0x120, "gpi0", 0x24),
2039+
};
2040+
2041+
/* pin banks of artpec9 pin-controller (FSYS1) */
2042+
static const struct samsung_pin_bank_data artpec9_pin_banks1[] __initconst = {
2043+
ARTPEC_PIN_BANK_EINTG(2, 0x000, "gpu0", 0x00),
2044+
};
2045+
2046+
/* pin banks of artpec9 pin-controller (PERIC) */
2047+
static const struct samsung_pin_bank_data artpec9_pin_banks2[] __initconst = {
2048+
ARTPEC_PIN_BANK_EINTG(8, 0x000, "gpa0", 0x00),
2049+
ARTPEC_PIN_BANK_EINTG(8, 0x020, "gpa1", 0x04),
2050+
};
2051+
2052+
static const struct samsung_pin_ctrl artpec9_pin_ctrl[] __initconst = {
2053+
{
2054+
/* pin-controller instance 0 FSYS0 data */
2055+
.pin_banks = artpec9_pin_banks0,
2056+
.nr_banks = ARRAY_SIZE(artpec9_pin_banks0),
2057+
.eint_gpio_init = exynos_eint_gpio_init,
2058+
}, {
2059+
/* pin-controller instance 1 FSYS1 data */
2060+
.pin_banks = artpec9_pin_banks1,
2061+
.nr_banks = ARRAY_SIZE(artpec9_pin_banks1),
2062+
.eint_gpio_init = exynos_eint_gpio_init,
2063+
}, {
2064+
/* pin-controller instance 2 PERIC data */
2065+
.pin_banks = artpec9_pin_banks2,
2066+
.nr_banks = ARRAY_SIZE(artpec9_pin_banks2),
2067+
.eint_gpio_init = exynos_eint_gpio_init,
2068+
},
2069+
};
2070+
2071+
const struct samsung_pinctrl_of_match_data artpec9_of_data __initconst = {
2072+
.ctrl = artpec9_pin_ctrl,
2073+
.num_ctrl = ARRAY_SIZE(artpec9_pin_ctrl),
2074+
};

drivers/pinctrl/samsung/pinctrl-samsung.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,6 +1484,8 @@ static const struct of_device_id samsung_pinctrl_dt_match[] = {
14841484
#ifdef CONFIG_PINCTRL_EXYNOS_ARM64
14851485
{ .compatible = "axis,artpec8-pinctrl",
14861486
.data = &artpec8_of_data },
1487+
{ .compatible = "axis,artpec9-pinctrl",
1488+
.data = &artpec9_of_data },
14871489
{ .compatible = "google,gs101-pinctrl",
14881490
.data = &gs101_of_data },
14891491
{ .compatible = "samsung,exynos2200-pinctrl",

drivers/pinctrl/samsung/pinctrl-samsung.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,7 @@ struct samsung_pmx_func {
382382

383383
/* list of all exported SoC specific data */
384384
extern const struct samsung_pinctrl_of_match_data artpec8_of_data;
385+
extern const struct samsung_pinctrl_of_match_data artpec9_of_data;
385386
extern const struct samsung_pinctrl_of_match_data exynos2200_of_data;
386387
extern const struct samsung_pinctrl_of_match_data exynos3250_of_data;
387388
extern const struct samsung_pinctrl_of_match_data exynos4210_of_data;

0 commit comments

Comments
 (0)