118 lines
3.4 KiB
Diff
118 lines
3.4 KiB
Diff
From 81da4e20eecc0e1f4447ebd245047d2683e34f2c Mon Sep 17 00:00:00 2001
|
|
From: Neil Armstrong <narmstrong@baylibre.com>
|
|
Date: Mon, 9 Jan 2017 12:29:59 +0100
|
|
Subject: [PATCH 58/93] pinctrl: meson: Add HDMI HPD/DDC pins functions
|
|
|
|
Add pinctrl functions for HDMI HPD pin and DDC pins on Amlogic Meson
|
|
GXL and GXBB SoCs.
|
|
---
|
|
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 19 +++++++++++++++++++
|
|
drivers/pinctrl/meson/pinctrl-meson-gxl.c | 19 +++++++++++++++++++
|
|
2 files changed, 38 insertions(+)
|
|
|
|
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
|
|
index e0bca4d..7671424 100644
|
|
--- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
|
|
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
|
|
@@ -232,6 +232,10 @@
|
|
static const unsigned int pwm_f_x_pins[] = { PIN(GPIOX_7, EE_OFF) };
|
|
static const unsigned int pwm_f_y_pins[] = { PIN(GPIOY_15, EE_OFF) };
|
|
|
|
+static const unsigned int hdmi_hpd_pins[] = { PIN(GPIOH_0, EE_OFF) };
|
|
+static const unsigned int hdmi_sda_pins[] = { PIN(GPIOH_1, EE_OFF) };
|
|
+static const unsigned int hdmi_scl_pins[] = { PIN(GPIOH_2, EE_OFF) };
|
|
+
|
|
static const struct pinctrl_pin_desc meson_gxbb_aobus_pins[] = {
|
|
MESON_PIN(GPIOAO_0, 0),
|
|
MESON_PIN(GPIOAO_1, 0),
|
|
@@ -439,6 +443,11 @@
|
|
GROUP(eth_txd2, 6, 3),
|
|
GROUP(eth_txd3, 6, 2),
|
|
|
|
+ /* Bank H */
|
|
+ GROUP(hdmi_hpd, 1, 26),
|
|
+ GROUP(hdmi_sda, 1, 25),
|
|
+ GROUP(hdmi_scl, 1, 24),
|
|
+
|
|
/* Bank DV */
|
|
GROUP(uart_tx_b, 2, 29),
|
|
GROUP(uart_rx_b, 2, 28),
|
|
@@ -635,6 +644,14 @@
|
|
"pwm_f_y",
|
|
};
|
|
|
|
+static const char * const hdmi_hpd_groups[] = {
|
|
+ "hdmi_hpd",
|
|
+};
|
|
+
|
|
+static const char * const hdmi_i2c_groups[] = {
|
|
+ "hdmi_sda", "hdmi_scl",
|
|
+};
|
|
+
|
|
static const char * const gpio_aobus_groups[] = {
|
|
"GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", "GPIOAO_4",
|
|
"GPIOAO_5", "GPIOAO_6", "GPIOAO_7", "GPIOAO_8", "GPIOAO_9",
|
|
@@ -698,6 +715,8 @@
|
|
FUNCTION(pwm_e),
|
|
FUNCTION(pwm_f_x),
|
|
FUNCTION(pwm_f_y),
|
|
+ FUNCTION(hdmi_hpd),
|
|
+ FUNCTION(hdmi_i2c),
|
|
};
|
|
|
|
static struct meson_pmx_func meson_gxbb_aobus_functions[] = {
|
|
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
|
|
index b69743b..56b9324 100644
|
|
--- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c
|
|
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
|
|
@@ -197,6 +197,10 @@
|
|
|
|
static const unsigned int pwm_e_pins[] = { PIN(GPIOX_16, EE_OFF) };
|
|
|
|
+static const unsigned int hdmi_hpd_pins[] = { PIN(GPIOH_0, EE_OFF) };
|
|
+static const unsigned int hdmi_sda_pins[] = { PIN(GPIOH_1, EE_OFF) };
|
|
+static const unsigned int hdmi_scl_pins[] = { PIN(GPIOH_2, EE_OFF) };
|
|
+
|
|
static const struct pinctrl_pin_desc meson_gxl_aobus_pins[] = {
|
|
MESON_PIN(GPIOAO_0, 0),
|
|
MESON_PIN(GPIOAO_1, 0),
|
|
@@ -362,6 +366,11 @@
|
|
GROUP(eth_txd2, 4, 11),
|
|
GROUP(eth_txd3, 4, 10),
|
|
|
|
+ /* Bank H */
|
|
+ GROUP(hdmi_hpd, 6, 31),
|
|
+ GROUP(hdmi_sda, 6, 30),
|
|
+ GROUP(hdmi_scl, 6, 29),
|
|
+
|
|
/* Bank DV */
|
|
GROUP(uart_tx_b, 2, 16),
|
|
GROUP(uart_rx_b, 2, 15),
|
|
@@ -505,6 +514,14 @@
|
|
"pwm_e",
|
|
};
|
|
|
|
+static const char * const hdmi_hpd_groups[] = {
|
|
+ "hdmi_hpd",
|
|
+};
|
|
+
|
|
+static const char * const hdmi_i2c_groups[] = {
|
|
+ "hdmi_sda", "hdmi_scl",
|
|
+};
|
|
+
|
|
static const char * const gpio_aobus_groups[] = {
|
|
"GPIOAO_0", "GPIOAO_1", "GPIOAO_2", "GPIOAO_3", "GPIOAO_4",
|
|
"GPIOAO_5", "GPIOAO_6", "GPIOAO_7", "GPIOAO_8", "GPIOAO_9",
|
|
@@ -536,6 +553,8 @@
|
|
FUNCTION(i2c_c),
|
|
FUNCTION(eth),
|
|
FUNCTION(pwm_e),
|
|
+ FUNCTION(hdmi_hpd),
|
|
+ FUNCTION(hdmi_i2c),
|
|
};
|
|
|
|
static struct meson_pmx_func meson_gxl_aobus_functions[] = {
|
|
--
|
|
1.9.1
|
|
|