Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1607704 > unrolled thread
| Started by | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| First post | 2017-03-23 18:00 +0100 |
| Last post | 2017-03-24 22:40 +0100 |
| Articles | 11 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 0/8] pinctrl: meson: add audio output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 3/8] pinctrl: meson: gxl: add i2s output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 4/8] pinctrl: meson: gxl: add spdif output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 8/8] ARM64: dts: meson-gxl: add spdif output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 1/8] pinctrl: meson: gxbb: add i2s output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 2/8] pinctrl: meson: gxbb: add spdif output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 7/8] ARM64: dts: meson-gxl: add i2s output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 6/8] ARM64: dts: meson-gxbb: add spdif output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
[PATCH 5/8] ARM64: dts: meson-gxbb: add i2s output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-23 18:00 +0100
Re: [PATCH 0/8] pinctrl: meson: add audio output pins Kevin Hilman <khilman@baylibre.com> - 2017-03-24 21:00 +0100
Re: [PATCH 0/8] pinctrl: meson: add audio output pins Jerome Brunet <jbrunet@baylibre.com> - 2017-03-24 22:40 +0100
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 0/8] pinctrl: meson: add audio output pins |
| Message-ID | <toefD-4ZJ-1@gated-at.bofh.it> |
This patchset adds the pinctrl definition and the related device-tree bindings of the i2s output and spdif output pins on the meson gxbb and gxl SoCs. This is part of the ongoing work to bring audio output suppot on the meson family. It was tested on the gxbb p200 and gxl p230. Jerome Brunet (8): pinctrl: meson: gxbb: add i2s output pins pinctrl: meson: gxbb: add spdif output pins pinctrl: meson: gxl: add i2s output pins pinctrl: meson: gxl: add spdif output pins ARM64: dts: meson-gxbb: add i2s output pins ARM64: dts: meson-gxbb: add spdif output pins ARM64: dts: meson-gxl: add i2s output pins ARM64: dts: meson-gxl: add spdif output pins arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 84 +++++++++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 83 ++++++++++++++++++++++++++++ drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 49 +++++++++++++++++ drivers/pinctrl/meson/pinctrl-meson-gxl.c | 49 +++++++++++++++++ 4 files changed, 265 insertions(+) -- 2.9.3
[toc] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 3/8] pinctrl: meson: gxl: add i2s output pins |
| Message-ID | <toefD-4ZJ-3@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
drivers/pinctrl/meson/pinctrl-meson-gxl.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
index a0a7936f8f0d..a022a9e49113 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
@@ -212,6 +212,14 @@ 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 unsigned int i2s_am_clk_pins[] = { PIN(GPIOH_6, EE_OFF) };
+static const unsigned int i2s_out_ao_clk_pins[] = { PIN(GPIOH_7, EE_OFF) };
+static const unsigned int i2s_out_lr_clk_pins[] = { PIN(GPIOH_8, EE_OFF) };
+static const unsigned int i2s_out_ch01_pins[] = { PIN(GPIOH_9, EE_OFF) };
+static const unsigned int i2s_out_ch23_z_pins[] = { PIN(GPIOZ_5, EE_OFF) };
+static const unsigned int i2s_out_ch45_z_pins[] = { PIN(GPIOZ_6, EE_OFF) };
+static const unsigned int i2s_out_ch67_z_pins[] = { PIN(GPIOZ_7, EE_OFF) };
+
static const struct pinctrl_pin_desc meson_gxl_aobus_pins[] = {
MESON_PIN(GPIOAO_0, 0),
MESON_PIN(GPIOAO_1, 0),
@@ -241,6 +249,9 @@ static const unsigned int pwm_ao_a_8_pins[] = { PIN(GPIOAO_8, 0) };
static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) };
+static const unsigned int i2s_out_ch23_ao_pins[] = { PIN(GPIOAO_8, EE_OFF) };
+static const unsigned int i2s_out_ch45_ao_pins[] = { PIN(GPIOAO_9, EE_OFF) };
+
static struct meson_pmx_group meson_gxl_periphs_groups[] = {
GPIO_GROUP(GPIOZ_0, EE_OFF),
GPIO_GROUP(GPIOZ_1, EE_OFF),
@@ -384,11 +395,18 @@ static struct meson_pmx_group meson_gxl_periphs_groups[] = {
GROUP(eth_txd2, 4, 11),
GROUP(eth_txd3, 4, 10),
GROUP(pwm_c, 3, 20),
+ GROUP(i2s_out_ch23_z, 3, 26),
+ GROUP(i2s_out_ch45_z, 3, 25),
+ GROUP(i2s_out_ch67_z, 3, 24),
/* Bank H */
GROUP(hdmi_hpd, 6, 31),
GROUP(hdmi_sda, 6, 30),
GROUP(hdmi_scl, 6, 29),
+ GROUP(i2s_am_clk, 6, 26),
+ GROUP(i2s_out_ao_clk, 6, 25),
+ GROUP(i2s_out_lr_clk, 6, 24),
+ GROUP(i2s_out_ch01, 6, 23),
/* Bank DV */
GROUP(uart_tx_b, 2, 16),
@@ -453,6 +471,8 @@ static struct meson_pmx_group meson_gxl_aobus_groups[] = {
GROUP(pwm_ao_a_3, 0, 22),
GROUP(pwm_ao_a_8, 0, 17),
GROUP(pwm_ao_b, 0, 3),
+ GROUP(i2s_out_ch23_ao, 1, 0),
+ GROUP(i2s_out_ch45_ao, 1, 1),
};
static const char * const gpio_periphs_groups[] = {
@@ -569,6 +589,11 @@ static const char * const hdmi_i2c_groups[] = {
"hdmi_sda", "hdmi_scl",
};
+static const char * const i2s_out_groups[] = {
+ "i2s_am_clk", "i2s_out_ao_clk", "i2s_out_lr_clk",
+ "i2s_out_ch01", "i2s_out_ch23_z", "i2s_out_ch45_z", "i2s_out_ch67_z",
+};
+
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",
@@ -594,6 +619,10 @@ static const char * const pwm_ao_b_groups[] = {
"pwm_ao_b",
};
+static const char * const i2s_out_ao_groups[] = {
+ "i2s_out_ch23_ao", "i2s_out_ch45_ao",
+};
+
static struct meson_pmx_func meson_gxl_periphs_functions[] = {
FUNCTION(gpio_periphs),
FUNCTION(emmc),
@@ -615,6 +644,7 @@ static struct meson_pmx_func meson_gxl_periphs_functions[] = {
FUNCTION(pwm_f),
FUNCTION(hdmi_hpd),
FUNCTION(hdmi_i2c),
+ FUNCTION(i2s_out),
};
static struct meson_pmx_func meson_gxl_aobus_functions[] = {
@@ -624,6 +654,7 @@ static struct meson_pmx_func meson_gxl_aobus_functions[] = {
FUNCTION(remote_input_ao),
FUNCTION(pwm_ao_a),
FUNCTION(pwm_ao_b),
+ FUNCTION(i2s_out_ao),
};
static struct meson_bank meson_gxl_periphs_banks[] = {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 4/8] pinctrl: meson: gxl: add spdif output pins |
| Message-ID | <toefE-4ZJ-15@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
drivers/pinctrl/meson/pinctrl-meson-gxl.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
index a022a9e49113..a5a9b4f78636 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
@@ -220,6 +220,8 @@ static const unsigned int i2s_out_ch23_z_pins[] = { PIN(GPIOZ_5, EE_OFF) };
static const unsigned int i2s_out_ch45_z_pins[] = { PIN(GPIOZ_6, EE_OFF) };
static const unsigned int i2s_out_ch67_z_pins[] = { PIN(GPIOZ_7, EE_OFF) };
+static const unsigned int spdif_out_h_pins[] = { PIN(GPIOH_4, EE_OFF) };
+
static const struct pinctrl_pin_desc meson_gxl_aobus_pins[] = {
MESON_PIN(GPIOAO_0, 0),
MESON_PIN(GPIOAO_1, 0),
@@ -252,6 +254,9 @@ static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_9, 0) };
static const unsigned int i2s_out_ch23_ao_pins[] = { PIN(GPIOAO_8, EE_OFF) };
static const unsigned int i2s_out_ch45_ao_pins[] = { PIN(GPIOAO_9, EE_OFF) };
+static const unsigned int spdif_out_ao_6_pins[] = { PIN(GPIOAO_6, EE_OFF) };
+static const unsigned int spdif_out_ao_9_pins[] = { PIN(GPIOAO_9, EE_OFF) };
+
static struct meson_pmx_group meson_gxl_periphs_groups[] = {
GPIO_GROUP(GPIOZ_0, EE_OFF),
GPIO_GROUP(GPIOZ_1, EE_OFF),
@@ -407,6 +412,7 @@ static struct meson_pmx_group meson_gxl_periphs_groups[] = {
GROUP(i2s_out_ao_clk, 6, 25),
GROUP(i2s_out_lr_clk, 6, 24),
GROUP(i2s_out_ch01, 6, 23),
+ GROUP(spdif_out_h, 6, 28),
/* Bank DV */
GROUP(uart_tx_b, 2, 16),
@@ -473,6 +479,8 @@ static struct meson_pmx_group meson_gxl_aobus_groups[] = {
GROUP(pwm_ao_b, 0, 3),
GROUP(i2s_out_ch23_ao, 1, 0),
GROUP(i2s_out_ch45_ao, 1, 1),
+ GROUP(spdif_out_ao_6, 0, 16),
+ GROUP(spdif_out_ao_9, 0, 4),
};
static const char * const gpio_periphs_groups[] = {
@@ -594,6 +602,10 @@ static const char * const i2s_out_groups[] = {
"i2s_out_ch01", "i2s_out_ch23_z", "i2s_out_ch45_z", "i2s_out_ch67_z",
};
+static const char * const spdif_out_groups[] = {
+ "spdif_out_h",
+};
+
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",
@@ -623,6 +635,10 @@ static const char * const i2s_out_ao_groups[] = {
"i2s_out_ch23_ao", "i2s_out_ch45_ao",
};
+static const char * const spdif_out_ao_groups[] = {
+ "spdif_out_ao_6", "spdif_out_ao_9",
+};
+
static struct meson_pmx_func meson_gxl_periphs_functions[] = {
FUNCTION(gpio_periphs),
FUNCTION(emmc),
@@ -645,6 +661,7 @@ static struct meson_pmx_func meson_gxl_periphs_functions[] = {
FUNCTION(hdmi_hpd),
FUNCTION(hdmi_i2c),
FUNCTION(i2s_out),
+ FUNCTION(spdif_out),
};
static struct meson_pmx_func meson_gxl_aobus_functions[] = {
@@ -655,6 +672,7 @@ static struct meson_pmx_func meson_gxl_aobus_functions[] = {
FUNCTION(pwm_ao_a),
FUNCTION(pwm_ao_b),
FUNCTION(i2s_out_ao),
+ FUNCTION(spdif_out_ao),
};
static struct meson_bank meson_gxl_periphs_banks[] = {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 8/8] ARM64: dts: meson-gxl: add spdif output pins |
| Message-ID | <toefF-4ZJ-39@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index 88ad3490c124..8f57e74b719c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -138,6 +138,20 @@
function = "i2s_out_ao";
};
};
+
+ spdif_out_ao_6_pins: spdif_out_ao_6 {
+ mux {
+ groups = "spdif_out_ao_6";
+ function = "spdif_out_ao";
+ };
+ };
+
+ spdif_out_ao_9_pins: spdif_out_ao_9 {
+ mux {
+ groups = "spdif_out_ao_9";
+ function = "spdif_out_ao";
+ };
+ };
};
};
@@ -359,6 +373,13 @@
function = "i2s_out";
};
};
+
+ spdif_out_h_pins: spdif_out_ao_h {
+ mux {
+ groups = "spdif_out_h";
+ function = "spdif_out";
+ };
+ };
};
eth-phy-mux {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 1/8] pinctrl: meson: gxbb: add i2s output pins |
| Message-ID | <toefE-4ZJ-25@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 31 ++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
index 7671424d46cb..8d5dd4772042 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
@@ -236,6 +236,10 @@ 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 unsigned int i2s_out_ch23_y_pins[] = { PIN(GPIOY_8, EE_OFF) };
+static const unsigned int i2s_out_ch45_y_pins[] = { PIN(GPIOY_9, EE_OFF) };
+static const unsigned int i2s_out_ch67_y_pins[] = { PIN(GPIOY_10, EE_OFF) };
+
static const struct pinctrl_pin_desc meson_gxbb_aobus_pins[] = {
MESON_PIN(GPIOAO_0, 0),
MESON_PIN(GPIOAO_1, 0),
@@ -274,6 +278,13 @@ static const unsigned int pwm_ao_a_6_pins[] = { PIN(GPIOAO_6, 0) };
static const unsigned int pwm_ao_a_12_pins[] = { PIN(GPIOAO_12, 0) };
static const unsigned int pwm_ao_b_pins[] = { PIN(GPIOAO_13, 0) };
+static const unsigned int i2s_am_clk_pins[] = { PIN(GPIOAO_8, 0) };
+static const unsigned int i2s_out_ao_clk_pins[] = { PIN(GPIOAO_9, 0) };
+static const unsigned int i2s_out_lr_clk_pins[] = { PIN(GPIOAO_10, 0) };
+static const unsigned int i2s_out_ch01_ao_pins[] = { PIN(GPIOAO_11, 0) };
+static const unsigned int i2s_out_ch23_ao_pins[] = { PIN(GPIOAO_12, 0) };
+static const unsigned int i2s_out_ch45_ao_pins[] = { PIN(GPIOAO_13, 0) };
+
static struct meson_pmx_group meson_gxbb_periphs_groups[] = {
GPIO_GROUP(GPIOZ_0, EE_OFF),
GPIO_GROUP(GPIOZ_1, EE_OFF),
@@ -426,6 +437,9 @@ static struct meson_pmx_group meson_gxbb_periphs_groups[] = {
GROUP(uart_rx_c, 1, 16),
GROUP(pwm_a_y, 1, 21),
GROUP(pwm_f_y, 1, 20),
+ GROUP(i2s_out_ch23_y, 1, 5),
+ GROUP(i2s_out_ch45_y, 1, 6),
+ GROUP(i2s_out_ch67_y, 1, 7),
/* Bank Z */
GROUP(eth_mdio, 6, 1),
@@ -523,6 +537,12 @@ static struct meson_pmx_group meson_gxbb_aobus_groups[] = {
GROUP(pwm_ao_a_6, 0, 18),
GROUP(pwm_ao_a_12, 0, 17),
GROUP(pwm_ao_b, 0, 3),
+ GROUP(i2s_am_clk, 0, 30),
+ GROUP(i2s_out_ao_clk, 0, 29),
+ GROUP(i2s_out_lr_clk, 0, 28),
+ GROUP(i2s_out_ch01_ao, 0, 27),
+ GROUP(i2s_out_ch23_ao, 1, 0),
+ GROUP(i2s_out_ch45_ao, 1, 1),
};
static const char * const gpio_periphs_groups[] = {
@@ -652,6 +672,10 @@ static const char * const hdmi_i2c_groups[] = {
"hdmi_sda", "hdmi_scl",
};
+static const char * const i2s_out_groups[] = {
+ "i2s_out_ch23_y", "i2s_out_ch45_y", "i2s_out_ch67_y",
+};
+
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",
@@ -694,6 +718,11 @@ static const char * const pwm_ao_b_groups[] = {
"pwm_ao_b",
};
+static const char * const i2s_out_ao_groups[] = {
+ "i2s_am_clk", "i2s_out_ao_clk", "i2s_out_lr_clk",
+ "i2s_out_ch01_ao", "i2s_out_ch23_ao", "i2s_out_ch45_ao",
+};
+
static struct meson_pmx_func meson_gxbb_periphs_functions[] = {
FUNCTION(gpio_periphs),
FUNCTION(emmc),
@@ -717,6 +746,7 @@ static struct meson_pmx_func meson_gxbb_periphs_functions[] = {
FUNCTION(pwm_f_y),
FUNCTION(hdmi_hpd),
FUNCTION(hdmi_i2c),
+ FUNCTION(i2s_out),
};
static struct meson_pmx_func meson_gxbb_aobus_functions[] = {
@@ -730,6 +760,7 @@ static struct meson_pmx_func meson_gxbb_aobus_functions[] = {
FUNCTION(pwm_ao_a_6),
FUNCTION(pwm_ao_a_12),
FUNCTION(pwm_ao_b),
+ FUNCTION(i2s_out_ao),
};
static struct meson_bank meson_gxbb_periphs_banks[] = {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 2/8] pinctrl: meson: gxbb: add spdif output pins |
| Message-ID | <toefE-4ZJ-29@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
index 8d5dd4772042..9bae2e3968af 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxbb.c
@@ -240,6 +240,8 @@ static const unsigned int i2s_out_ch23_y_pins[] = { PIN(GPIOY_8, EE_OFF) };
static const unsigned int i2s_out_ch45_y_pins[] = { PIN(GPIOY_9, EE_OFF) };
static const unsigned int i2s_out_ch67_y_pins[] = { PIN(GPIOY_10, EE_OFF) };
+static const unsigned int spdif_out_y_pins[] = { PIN(GPIOY_12, EE_OFF) };
+
static const struct pinctrl_pin_desc meson_gxbb_aobus_pins[] = {
MESON_PIN(GPIOAO_0, 0),
MESON_PIN(GPIOAO_1, 0),
@@ -285,6 +287,9 @@ static const unsigned int i2s_out_ch01_ao_pins[] = { PIN(GPIOAO_11, 0) };
static const unsigned int i2s_out_ch23_ao_pins[] = { PIN(GPIOAO_12, 0) };
static const unsigned int i2s_out_ch45_ao_pins[] = { PIN(GPIOAO_13, 0) };
+static const unsigned int spdif_out_ao_6_pins[] = { PIN(GPIOAO_6, 0) };
+static const unsigned int spdif_out_ao_13_pins[] = { PIN(GPIOAO_13, 0) };
+
static struct meson_pmx_group meson_gxbb_periphs_groups[] = {
GPIO_GROUP(GPIOZ_0, EE_OFF),
GPIO_GROUP(GPIOZ_1, EE_OFF),
@@ -440,6 +445,7 @@ static struct meson_pmx_group meson_gxbb_periphs_groups[] = {
GROUP(i2s_out_ch23_y, 1, 5),
GROUP(i2s_out_ch45_y, 1, 6),
GROUP(i2s_out_ch67_y, 1, 7),
+ GROUP(spdif_out_y, 1, 9),
/* Bank Z */
GROUP(eth_mdio, 6, 1),
@@ -543,6 +549,8 @@ static struct meson_pmx_group meson_gxbb_aobus_groups[] = {
GROUP(i2s_out_ch01_ao, 0, 27),
GROUP(i2s_out_ch23_ao, 1, 0),
GROUP(i2s_out_ch45_ao, 1, 1),
+ GROUP(spdif_out_ao_6, 0, 16),
+ GROUP(spdif_out_ao_13, 0, 4),
};
static const char * const gpio_periphs_groups[] = {
@@ -676,6 +684,10 @@ static const char * const i2s_out_groups[] = {
"i2s_out_ch23_y", "i2s_out_ch45_y", "i2s_out_ch67_y",
};
+static const char * const spdif_out_groups[] = {
+ "spdif_out_y",
+};
+
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",
@@ -723,6 +735,10 @@ static const char * const i2s_out_ao_groups[] = {
"i2s_out_ch01_ao", "i2s_out_ch23_ao", "i2s_out_ch45_ao",
};
+static const char * const spdif_out_ao_groups[] = {
+ "spdif_out_ao_6", "spdif_out_ao_13",
+};
+
static struct meson_pmx_func meson_gxbb_periphs_functions[] = {
FUNCTION(gpio_periphs),
FUNCTION(emmc),
@@ -747,6 +763,7 @@ static struct meson_pmx_func meson_gxbb_periphs_functions[] = {
FUNCTION(hdmi_hpd),
FUNCTION(hdmi_i2c),
FUNCTION(i2s_out),
+ FUNCTION(spdif_out),
};
static struct meson_pmx_func meson_gxbb_aobus_functions[] = {
@@ -761,6 +778,7 @@ static struct meson_pmx_func meson_gxbb_aobus_functions[] = {
FUNCTION(pwm_ao_a_12),
FUNCTION(pwm_ao_b),
FUNCTION(i2s_out_ao),
+ FUNCTION(spdif_out_ao),
};
static struct meson_bank meson_gxbb_periphs_banks[] = {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 7/8] ARM64: dts: meson-gxl: add i2s output pins |
| Message-ID | <toefE-4ZJ-31@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 62 ++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index fe11b5fc61f7..88ad3490c124 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -124,6 +124,20 @@
function = "pwm_ao_b";
};
};
+
+ i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
+ mux {
+ groups = "i2s_out_ch23_ao";
+ function = "i2s_out_ao";
+ };
+ };
+
+ i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
+ mux {
+ groups = "i2s_out_ch45_ao";
+ function = "i2s_out_ao";
+ };
+ };
};
};
@@ -297,6 +311,54 @@
function = "hdmi_i2c";
};
};
+
+ i2s_am_clk_pins: i2s_am_clk {
+ mux {
+ groups = "i2s_am_clk";
+ function = "i2s_out";
+ };
+ };
+
+ i2s_out_ao_clk_pins: i2s_out_ao_clk {
+ mux {
+ groups = "i2s_out_ao_clk";
+ function = "i2s_out";
+ };
+ };
+
+ i2s_out_lr_clk_pins: i2s_out_lr_clk {
+ mux {
+ groups = "i2s_out_lr_clk";
+ function = "i2s_out";
+ };
+ };
+
+ i2s_out_ch01_pins: i2s_out_ch01 {
+ mux {
+ groups = "i2s_out_ch01";
+ function = "i2s_out";
+ };
+ };
+ i2sout_ch23_z_pins: i2sout_ch23_z {
+ mux {
+ groups = "i2sout_ch23_z";
+ function = "i2s_out";
+ };
+ };
+
+ i2sout_ch45_z_pins: i2sout_ch45_z {
+ mux {
+ groups = "i2sout_ch45_z";
+ function = "i2s_out";
+ };
+ };
+
+ i2sout_ch67_z_pins: i2sout_ch67_z {
+ mux {
+ groups = "i2sout_ch67_z";
+ function = "i2s_out";
+ };
+ };
};
eth-phy-mux {
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 6/8] ARM64: dts: meson-gxbb: add spdif output pins |
| Message-ID | <toefE-4ZJ-35@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 5ce70e1ec9ae..e5fd88e2c5f7 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -245,6 +245,20 @@
function = "i2s_out_ao";
};
};
+
+ spdif_out_ao_6_pins: spdif_out_ao_6 {
+ mux {
+ groups = "spdif_out_ao_6";
+ function = "spdif_out_ao";
+ };
+ };
+
+ spdif_out_ao_13_pins: spdif_out_ao_13 {
+ mux {
+ groups = "spdif_out_ao_13";
+ function = "spdif_out_ao";
+ };
+ };
};
clkc_AO: clock-controller@040 {
@@ -530,6 +544,13 @@
function = "i2s_out";
};
};
+
+ spdif_out_y_pins: spdif_out_y {
+ mux {
+ groups = "spdif_out_y";
+ function = "spdif_out";
+ };
+ };
};
};
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-23 18:00 +0100 |
| Subject | [PATCH 5/8] ARM64: dts: meson-gxbb: add i2s output pins |
| Message-ID | <toefF-4ZJ-41@gated-at.bofh.it> |
| In reply to | #1607704 |
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 63 +++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 04b3324bc132..5ce70e1ec9ae 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -203,6 +203,48 @@
function = "pwm_ao_b";
};
};
+
+ i2s_am_clk_pins: i2s_am_clk {
+ mux {
+ groups = "i2s_am_clk";
+ function = "i2s_out_ao";
+ };
+ };
+
+ i2s_out_ao_clk_pins: i2s_out_ao_clk {
+ mux {
+ groups = "i2s_out_ao_clk";
+ function = "i2s_out_ao";
+ };
+ };
+
+ i2s_out_lr_clk_pins: i2s_out_lr_clk {
+ mux {
+ groups = "i2s_out_lr_clk";
+ function = "i2s_out_ao";
+ };
+ };
+
+ i2s_out_ch01_ao_pins: i2s_out_ch01_ao {
+ mux {
+ groups = "i2s_out_ch01_ao";
+ function = "i2s_out_ao";
+ };
+ };
+
+ i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
+ mux {
+ groups = "i2s_out_ch23_ao";
+ function = "i2s_out_ao";
+ };
+ };
+
+ i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
+ mux {
+ groups = "i2s_out_ch45_ao";
+ function = "i2s_out_ao";
+ };
+ };
};
clkc_AO: clock-controller@040 {
@@ -467,6 +509,27 @@
function = "hdmi_i2c";
};
};
+
+ i2sout_ch23_y_pins: i2sout_ch23_y {
+ mux {
+ groups = "i2sout_ch23_y";
+ function = "i2s_out";
+ };
+ };
+
+ i2sout_ch45_y_pins: i2sout_ch45_y {
+ mux {
+ groups = "i2sout_ch45_y";
+ function = "i2s_out";
+ };
+ };
+
+ i2sout_ch67_y_pins: i2sout_ch67_y {
+ mux {
+ groups = "i2sout_ch67_y";
+ function = "i2s_out";
+ };
+ };
};
};
--
2.9.3
[toc] | [prev] | [next] | [standalone]
| From | Kevin Hilman <khilman@baylibre.com> |
|---|---|
| Date | 2017-03-24 21:00 +0100 |
| Message-ID | <toDxn-6lE-5@gated-at.bofh.it> |
| In reply to | #1607704 |
Jerome Brunet <jbrunet@baylibre.com> writes: > This patchset adds the pinctrl definition and the related device-tree > bindings of the i2s output and spdif output pins on the meson gxbb and > gxl SoCs. > > This is part of the ongoing work to bring audio output suppot on the > meson family. It was tested on the gxbb p200 and gxl p230. Series looks good to me, However, I'm not sure about Linus's preference, but most maintainers (myself included) prefer a small description in the changelog, even if it restates (with slightly more description) what's already in the $SUBJECT. Kevin
[toc] | [prev] | [next] | [standalone]
| From | Jerome Brunet <jbrunet@baylibre.com> |
|---|---|
| Date | 2017-03-24 22:40 +0100 |
| Message-ID | <toF69-7By-3@gated-at.bofh.it> |
| In reply to | #1608941 |
On Fri, 2017-03-24 at 12:52 -0700, Kevin Hilman wrote: > Jerome Brunet <jbrunet@baylibre.com> writes: > > > This patchset adds the pinctrl definition and the related device-tree > > bindings of the i2s output and spdif output pins on the meson gxbb and > > gxl SoCs. > > > > This is part of the ongoing work to bring audio output suppot on the > > meson family. It was tested on the gxbb p200 and gxl p230. > > Series looks good to me, > > However, I'm not sure about Linus's preference, but most maintainers > (myself included) prefer a small description in the changelog, even if > it restates (with slightly more description) what's already in the > $SUBJECT. Understood. thanks for pointing it out. This series was going to clash with Neil's pinctrl fixes anyway. I'll respin it taking this into account. > > Kevin
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web