add support for the SDIO pins on GXBB
Subsystems (4)
Martin Blumenstingl
reviewercover add support for the SDIO pins on GXBB
This series adds the pins for the SDIO controller (sd_emmc_a) found on Meson GXBB SoCs.
Martin Blumenstingl (2):
pinctrl: meson-gxbb: add the pins for the SDIO/sd_emmc_a controller
ARM64: dts: meson-gxbb: add the SDIO pins
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 12 ++++++++++++ drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+)
Signature · 1 line
2.9.3
Martin Blumenstingl
reviewerPATCH 1/2 pinctrl: meson-gxbb: add the pins for the SDIO/sd_emmc_a controller
sd_emmc_a is used a controller for the SDIO modules. This adds the pin configuration for the SDIO controller.
--- drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
drivers/pinctrl/meson/pinctrl-meson-gxbb.c +19 -0
@@ -163,6 +163,13 @@ static const unsigned int sdcard_d3_pins[] = { PIN(CARD_4, EE_OFF) };static const unsigned int sdcard_cmd_pins[] = {PIN (CARD_3 ,EE_OFF ) };static const unsigned int sdcard_clk_pins[] = {PIN (CARD_2 ,EE_OFF ) }; +static const unsigned int sdio_d0_pins[] = {PIN (GPIOX_0 ,EE_OFF ) }; +static const unsigned int sdio_d1_pins[] = {PIN (GPIOX_1 ,EE_OFF ) }; +static const unsigned int sdio_d2_pins[] = {PIN (GPIOX_2 ,EE_OFF ) }; +static const unsigned int sdio_d3_pins[] = {PIN (GPIOX_3 ,EE_OFF ) }; +static const unsigned int sdio_cmd_pins[] = {PIN (GPIOX_4 ,EE_OFF ) }; +static const unsigned int sdio_clk_pins[] = {PIN (GPIOX_5 ,EE_OFF ) }; +static const unsigned int uart_tx_a_pins[] = {PIN (GPIOX_12 ,EE_OFF ) };static const unsigned int uart_rx_a_pins[] = {PIN (GPIOX_13 ,EE_OFF ) };static const unsigned int uart_cts_a_pins[] = {PIN (GPIOX_14 ,EE_OFF ) };
@@ -370,6 +377,12 @@ static struct meson_pmx_group meson_gxbb_periphs_groups[] = {GPIO_GROUP (GPIO_TEST_N ,EE_OFF ),/* Bank X */ +GROUP (sdio_d0,8 ,5 ), +GROUP (sdio_d1,8 ,4 ), +GROUP (sdio_d2,8 ,3 ), +GROUP (sdio_d3,8 ,2 ), +GROUP (sdio_cmd,8 ,1 ), +GROUP (sdio_clk,8 ,0 ),GROUP (uart_tx_a,4 ,13 ),GROUP (uart_rx_a,4 ,12 ), GROUP(uart_cts_a, 4, 11),
@@ -507,6 +520,11 @@ static const char * const sdcard_groups[] = { "sdcard_cmd", "sdcard_clk", }; +static const char *const sdio_groups[] = { +"sdio_d0" ,"sdio_d1" ,"sdio_d2" ,"sdio_d3" , +"sdio_cmd" ,"sdio_clk" , +}; +static const char *const uart_a_groups[] = {"uart_tx_a" ,"uart_rx_a" ,"uart_cts_a" ,"uart_rts_a" , };
@@ -600,6 +618,7 @@ static struct meson_pmx_func meson_gxbb_periphs_functions[] = {FUNCTION (gpio_periphs),FUNCTION (emmc),FUNCTION (sdcard), +FUNCTION (sdio),FUNCTION (uart_a),FUNCTION (uart_b), FUNCTION(uart_c),
Signature · 1 line
2.9.3
PATCH 1/2 pinctrl: meson-gxbb: add the pins for the SDIO/sd_emmc_a controller
Quoted 4 lines · Martin Blumenstingl
sd_emmc_ais used a controller for the SDIO modules. This adds the pin configuration for the SDIO controller.Signed-off-by Martin Blumenstingl <[email protected]>
No reply from maintainers, but you obviously know what you're doing so patch applied.
Yours,
Linus Walleij
Martin Blumenstingl
reviewerPATCH 1/2 pinctrl: meson-gxbb: add the pins for the SDIO/sd_emmc_a controller
Quoted 10 lines · Linus Walleij
Quoted 4 lines · Martin Blumenstingl
sd_emmc_ais used a controller for the SDIO modules. This adds the pin configuration for the SDIO controller.Signed-off-by Martin Blumenstingl <[email protected]>No reply from maintainers, but you obviously know what you're doing so patch applied.
I forgot to reply to this one as well (sorry about that):
I received a NACK off-list for both patches because the SDIO IRQ pin is missing.
Nothing is broken with this patch applied, just one pin is missing. Depending on how you'd like to proceed you can:
- either drop the patch from your tree and wait for v2
- leave it in your tree and I'll send a patch on top of this one to add the missing pin
Please let me know how you'd like to handle this and sorry again.
Regards,
Martin
PATCH 1/2 pinctrl: meson-gxbb: add the pins for the SDIO/sd_emmc_a controller
Quoted 11 lines · Martin Blumenstingl
Quoted 10 lines · Linus Walleij
Quoted 4 lines · Martin Blumenstingl
sd_emmc_ais used a controller for the SDIO modules. This adds the pin configuration for the SDIO controller.Signed-off-by Martin Blumenstingl <[email protected]>No reply from maintainers, but you obviously know what you're doing so patch applied.
Quoted 8 lines
I forgot to reply to this one as well (sorry about that):
I received a NACK off-list for both patches because the SDIO IRQ pin is missing.Nothing is broken with this patch applied, just one pin is missing. Depending on how you'd like to proceed you can:
- either drop the patch from your tree and wait for v2
- leave it in your tree and I'll send a patch on top of this one to add the missing pin
The latter at this point. Patch the patch.
Thanks!
Linus Walleij
Kevin Hilman
maintainerPATCH 1/2 pinctrl: meson-gxbb: add the pins for the SDIO/sd_emmc_a controller
In reply to Linus WalleijQuoted 10 lines · Linus Walleij
Quoted 4 lines · Martin Blumenstingl
sd_emmc_ais used a controller for the SDIO modules. This adds the pin configuration for the SDIO controller.Signed-off-by Martin Blumenstingl <[email protected]>No reply from maintainers, but you obviously know what you're doing so patch applied.
Oh, I thought Neil already responded, but I'm not seeing it now. This patch is missing the SDIO IRQ line.
Martin can you respin?
Sorry for the lag, I'm still catching up after some vacation,
Kevin
Martin Blumenstingl
reviewerPATCH 2/2 ARM64: dts: meson-gxbb: add the SDIO pins
In reply to Martin BlumenstinglThis can be passed to the sd_emmc_a controller to which the SDIO module is connected (when available).
--- arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+)
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +12 -0
@@ -355,6 +355,18 @@ }; }; + sdio_pins: sdio { + mux { + groups = "sdio_d0", + "sdio_d1", + "sdio_d2", + "sdio_d3", + "sdio_cmd", + "sdio_clk"; + function = "sdio"; + }; + }; + uart_a_pins: uart_a { mux { groups = "uart_tx_a",
Signature · 1 line
2.9.3
PATCH 2/2 ARM64: dts: meson-gxbb: add the SDIO pins
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi line 372
Quoted 3 lines · Martin Blumenstingl
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +0
-0uart_a_pins: uart_a { mux { groups = "uart_tx_a",
You shouldn't use underscores in node names. Use hyphens instead, perhaps.
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1122967.html
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1145633.html
Signature · 1 line
Rask Ingemann Lambertsen
Martin Blumenstingl
reviewerPATCH 2/2 ARM64: dts: meson-gxbb: add the SDIO pins
Quoted 8 lines · Rask Ingemann Lambertsen
Quoted 3 lines · Martin Blumenstingl
uart_a_pins: uart_a { mux { groups = "uart_tx_a",You shouldn't use underscores in node names. Use hyphens instead, perhaps.
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1122967.html
https://www.mail-archive.com/linux-kernel%40vger.kernel.org/msg1145633.html
The part which you found there is just the context of my patch, not an actual change.
However, basically all of the GXBB .dts files are using underscores in the node names.
Do "we" have to change this globally?
Regarding my patch: I got a NACK from Neil Armstrong off-list:
The SDIO IRQ pin is missing in my series.
Regards,
Martin
PATCH 2/2 ARM64: dts: meson-gxbb: add the SDIO pins
In reply to Martin BlumenstinglQuoted 4 lines · Martin Blumenstingl
This can be passed to the
sd_emmc_acontroller to which the SDIO module is connected (when available).Signed-off-by Martin Blumenstingl <[email protected]>
Please merge this through the ARM SoC tree.
Yours,
Linus Walleij
Martin Blumenstingl
reviewerv2 cover add support for the SDIO pins on GXBB
In reply to Martin BlumenstinglThis series adds the pins for the SDIO controller (sd_emmc_a) found on Meson GXBB SoCs.
Changes since v1:
- add the missing SDIO interrupt pin:
The initial pinctrl patch was already applied to linux-pinctrl's for-next branch, so patch 1 applies on top of the already existing patch (both can be squashed if needed).
The dts patch was not applied anywhere yet, so patch 2 contains a fixed version of the patch (provided by Neil Armstrong - thanks!).
Martin Blumenstingl (1):
pinctrl: meson-gxbb: add the missing SDIO interrupt pin
Neil Armstrong (1):
ARM64: dts: meson-gxbb: add the SDIO pins
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 19 +++++++++++++++++++ drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-)
Signature · 1 line
2.9.3
Martin Blumenstingl
reviewerPATCH v2 1/2 pinctrl: meson-gxbb: add the missing SDIO interrupt pin
This adds the SDIO interrupt pin which can be used by sd_emmc_a.
SDIO/sd_emmc_a controller")
--- drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/pinctrl/meson/pinctrl-meson-gxbb.c +3 -1
@@ -169,6 +169,7 @@ static const unsigned int sdio_d2_pins[] = { PIN(GPIOX_2, EE_OFF) };static const unsigned int sdio_d3_pins[] = {PIN (GPIOX_3 ,EE_OFF ) };static const unsigned int sdio_cmd_pins[] = {PIN (GPIOX_4 ,EE_OFF ) };static const unsigned int sdio_clk_pins[] = {PIN (GPIOX_5 ,EE_OFF ) }; +static const unsigned int sdio_irq_pins[] = {PIN (GPIOX_7 ,EE_OFF ) };static const unsigned int uart_tx_a_pins[] = {PIN (GPIOX_12 ,EE_OFF ) };static const unsigned int uart_rx_a_pins[] = {PIN (GPIOX_13 ,EE_OFF ) };
@@ -383,6 +384,7 @@ static struct meson_pmx_group meson_gxbb_periphs_groups[] = {GROUP (sdio_d3,8 ,2 ),GROUP (sdio_cmd,8 ,1 ),GROUP (sdio_clk,8 ,0 ), +GROUP (sdio_irq,8 ,11 ),GROUP (uart_tx_a,4 ,13 ),GROUP (uart_rx_a,4 ,12 ), GROUP(uart_cts_a, 4, 11),
@@ -522,7 +524,7 @@ static const char * const sdcard_groups[] = {static const char *const sdio_groups[] = {"sdio_d0" ,"sdio_d1" ,"sdio_d2" ,"sdio_d3" , -"sdio_cmd" ,"sdio_clk" , +"sdio_cmd" ,"sdio_clk" ,"sdio_irq" , };static const char *const uart_a_groups[] = {
Signature · 1 line
2.9.3
Kevin Hilman
maintainerPATCH v2 1/2 pinctrl: meson-gxbb: add the missing SDIO interrupt pin
Quoted 7 lines · Martin Blumenstingl
This adds the SDIO interrupt pin which can be used by
sd_emmc_a.Signed-off-by Martin Blumenstingl <[email protected]>Suggested-by Neil Armstrong <[email protected]>Fixes 29885a656511 ("pinctrl: meson-gxbb: add the pins for theSDIO/sd_emmc_a controller")
PATCH v2 1/2 pinctrl: meson-gxbb: add the missing SDIO interrupt pin
In reply to Martin BlumenstinglQuoted 7 lines · Martin Blumenstingl
This adds the SDIO interrupt pin which can be used by
sd_emmc_a.Signed-off-by Martin Blumenstingl <[email protected]>Suggested-by Neil Armstrong <[email protected]>Fixes 29885a656511 ("pinctrl: meson-gxbb: add the pins for theSDIO/sd_emmc_a controller")
Patch applied with Kevin's ACK.
Yours,
Linus Walleij
Martin Blumenstingl
reviewerPATCH v2 2/2 ARM64: dts: meson-gxbb: add the SDIO pins
In reply to Martin BlumenstinglFrom: Neil Armstrong <[email protected]>
This is used to configure the pins of the sd_emmc_a controller to which an SDIO module is connected (when available).
--- arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi +19 -0
@@ -394,6 +394,25 @@ }; }; + sdio_pins: sdio { + mux { + groups = "sdio_d0", + "sdio_d1", + "sdio_d2", + "sdio_d3", + "sdio_cmd", + "sdio_clk"; + function = "sdio"; + }; + }; + + sdio_irq_pins: sdio_irq { + mux { + groups = "sdio_irq"; + function = "sdio"; + }; + }; + uart_a_pins: uart_a { mux { groups = "uart_tx_a",
Signature · 1 line
2.9.3
PATCH v2 2/2 ARM64: dts: meson-gxbb: add the SDIO pins
Quoted 7 lines · Martin Blumenstingl
From: Neil Armstrong <[email protected]>
This is used to configure the pins of the
sd_emmc_acontroller to which an SDIO module is connected (when available).Signed-off-by Neil Armstrong <[email protected]>Tested-by Martin Blumenstingl <[email protected]>
Applied,
Kevin