LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices
@ 2021-08-20 9:27 Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000 Claudiu Beznea
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Claudiu Beznea @ 2021-08-20 9:27 UTC (permalink / raw)
To: ulf.hansson, robh+dt, nicolas.ferre, alexandre.belloni,
ludovic.desroches
Cc: linux-mmc, devicetree, linux-arm-kernel, linux-kernel, Claudiu Beznea
Hi,
This series adds support for WILC1000 devices on pwrseq-sd8787 driver.
WILC1000 devices needs a minimum delay of 5ms b/w reset and power lines.
Adapt the sd8787 driver for this by adding a new compatible for WILC1000
devices and specify the delay on .data field of struct of_device_id.
Thank you,
Claudiu Beznea
Changes in v3:
- fixed dt binding compilation
Changes in v2:
- changed cover letter title (it was: mmc: pwrseq: sd8787: add support
for selectable)
- use new compatible in pwrseq-sd8787 driver instead of adding a new
binding for specifying the delay; with this, the patch 1/1 from v1 is
not necessary
- adapt patch 3/3 from this version with the new compatible
Claudiu Beznea (3):
dt-bindings: pwrseq-sd8787: add binding for wilc1000
mmc: pwrseq: sd8787: add support for wilc1000
mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
Eugen Hristev (1):
ARM: dts: at91: sama5d27_wlsom1: add wifi device
.../bindings/mmc/mmc-pwrseq-sd8787.yaml | 4 +-
arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 71 +++++++++++++++++++
drivers/mmc/core/Kconfig | 2 +-
drivers/mmc/core/pwrseq_sd8787.c | 11 ++-
4 files changed, 84 insertions(+), 4 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000
2021-08-20 9:27 [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Claudiu Beznea
@ 2021-08-20 9:28 ` Claudiu Beznea
2021-08-24 12:24 ` Rob Herring
2021-08-20 9:28 ` [PATCH v3 2/4] mmc: pwrseq: sd8787: add support " Claudiu Beznea
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Claudiu Beznea @ 2021-08-20 9:28 UTC (permalink / raw)
To: ulf.hansson, robh+dt, nicolas.ferre, alexandre.belloni,
ludovic.desroches
Cc: linux-mmc, devicetree, linux-arm-kernel, linux-kernel, Claudiu Beznea
Add binding for wilc1000 devices.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml
index e0169a285aa2..9e2396751030 100644
--- a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml
+++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml
@@ -11,7 +11,9 @@ maintainers:
properties:
compatible:
- const: mmc-pwrseq-sd8787
+ enum:
+ - mmc-pwrseq-sd8787
+ - mmc-pwrseq-wilc1000
powerdown-gpios:
minItems: 1
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 2/4] mmc: pwrseq: sd8787: add support for wilc1000
2021-08-20 9:27 [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000 Claudiu Beznea
@ 2021-08-20 9:28 ` Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 3/4] mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787 Claudiu Beznea
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Claudiu Beznea @ 2021-08-20 9:28 UTC (permalink / raw)
To: ulf.hansson, robh+dt, nicolas.ferre, alexandre.belloni,
ludovic.desroches
Cc: linux-mmc, devicetree, linux-arm-kernel, linux-kernel, Claudiu Beznea
Add new compatible for wilc1000 devices and specify the delay in .data
member of struct of_device_id. WILC1000, WILC3000 devices needs a minimum
of 5ms delay b/w reset and power lines.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
drivers/mmc/core/pwrseq_sd8787.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/core/pwrseq_sd8787.c b/drivers/mmc/core/pwrseq_sd8787.c
index 68a826f1c0a1..264e48067af2 100644
--- a/drivers/mmc/core/pwrseq_sd8787.c
+++ b/drivers/mmc/core/pwrseq_sd8787.c
@@ -14,6 +14,7 @@
#include <linux/kernel.h>
#include <linux/platform_device.h>
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/err.h>
@@ -27,6 +28,7 @@ struct mmc_pwrseq_sd8787 {
struct mmc_pwrseq pwrseq;
struct gpio_desc *reset_gpio;
struct gpio_desc *pwrdn_gpio;
+ u32 reset_pwrdwn_delay_ms;
};
#define to_pwrseq_sd8787(p) container_of(p, struct mmc_pwrseq_sd8787, pwrseq)
@@ -37,7 +39,7 @@ static void mmc_pwrseq_sd8787_pre_power_on(struct mmc_host *host)
gpiod_set_value_cansleep(pwrseq->reset_gpio, 1);
- msleep(300);
+ msleep(pwrseq->reset_pwrdwn_delay_ms);
gpiod_set_value_cansleep(pwrseq->pwrdn_gpio, 1);
}
@@ -55,7 +57,8 @@ static const struct mmc_pwrseq_ops mmc_pwrseq_sd8787_ops = {
};
static const struct of_device_id mmc_pwrseq_sd8787_of_match[] = {
- { .compatible = "mmc-pwrseq-sd8787",},
+ { .compatible = "mmc-pwrseq-sd8787", .data = (void *)300 },
+ { .compatible = "mmc-pwrseq-wilc1000", .data = (void *)5 },
{/* sentinel */},
};
MODULE_DEVICE_TABLE(of, mmc_pwrseq_sd8787_of_match);
@@ -64,11 +67,15 @@ static int mmc_pwrseq_sd8787_probe(struct platform_device *pdev)
{
struct mmc_pwrseq_sd8787 *pwrseq;
struct device *dev = &pdev->dev;
+ const struct of_device_id *match;
pwrseq = devm_kzalloc(dev, sizeof(*pwrseq), GFP_KERNEL);
if (!pwrseq)
return -ENOMEM;
+ match = of_match_node(mmc_pwrseq_sd8787_of_match, pdev->dev.of_node);
+ pwrseq->reset_pwrdwn_delay_ms = (u32)match->data;
+
pwrseq->pwrdn_gpio = devm_gpiod_get(dev, "powerdown", GPIOD_OUT_LOW);
if (IS_ERR(pwrseq->pwrdn_gpio))
return PTR_ERR(pwrseq->pwrdn_gpio);
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 3/4] mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
2021-08-20 9:27 [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000 Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 2/4] mmc: pwrseq: sd8787: add support " Claudiu Beznea
@ 2021-08-20 9:28 ` Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device Claudiu Beznea
2021-08-24 14:56 ` [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Ulf Hansson
4 siblings, 0 replies; 10+ messages in thread
From: Claudiu Beznea @ 2021-08-20 9:28 UTC (permalink / raw)
To: ulf.hansson, robh+dt, nicolas.ferre, alexandre.belloni,
ludovic.desroches
Cc: linux-mmc, devicetree, linux-arm-kernel, linux-kernel, Claudiu Beznea
pwseq_sd8787 could also be used with wilc1000_sdio driver. Add
a dependency for this.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
drivers/mmc/core/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/core/Kconfig b/drivers/mmc/core/Kconfig
index ae8b69aee619..6f25c34e4fec 100644
--- a/drivers/mmc/core/Kconfig
+++ b/drivers/mmc/core/Kconfig
@@ -15,7 +15,7 @@ config PWRSEQ_EMMC
config PWRSEQ_SD8787
tristate "HW reset support for SD8787 BT + Wifi module"
- depends on OF && (MWIFIEX || BT_MRVL_SDIO || LIBERTAS_SDIO)
+ depends on OF && (MWIFIEX || BT_MRVL_SDIO || LIBERTAS_SDIO || WILC1000_SDIO)
help
This selects hardware reset support for the SD8787 BT + Wifi
module. By default this option is set to n.
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device
2021-08-20 9:27 [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Claudiu Beznea
` (2 preceding siblings ...)
2021-08-20 9:28 ` [PATCH v3 3/4] mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787 Claudiu Beznea
@ 2021-08-20 9:28 ` Claudiu Beznea
2021-08-24 12:23 ` Rob Herring
2021-08-24 14:56 ` [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Ulf Hansson
4 siblings, 1 reply; 10+ messages in thread
From: Claudiu Beznea @ 2021-08-20 9:28 UTC (permalink / raw)
To: ulf.hansson, robh+dt, nicolas.ferre, alexandre.belloni,
ludovic.desroches
Cc: linux-mmc, devicetree, linux-arm-kernel, linux-kernel,
Eugen Hristev, Claudiu Beznea
From: Eugen Hristev <eugen.hristev@microchip.com>
SAMA5D27 WLSOM1 boards has a WILC3000 device soldered. Add proper
device tree nodes for this.
[eugen.hristev: original author of this code]
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
[nicolas.ferre: original author of this code]
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 71 +++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
index 025a78310e3a..c7bcfd3ce91d 100644
--- a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
+++ b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
@@ -30,6 +30,15 @@ main_xtal {
clock-frequency = <24000000>;
};
};
+
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-wilc1000";
+ reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
+ powerdown-gpios = <&pioA PIN_PA29 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&pinctrl_wilc_pwrseq>;
+ pinctrl-names = "default";
+ status = "okay";
+ };
};
&flx1 {
@@ -310,5 +319,67 @@ pinctrl_qspi1_default: qspi1_default {
<PIN_PB10__QSPI1_IO3>;
bias-pull-up;
};
+
+ pinctrl_sdmmc1_default: sdmmc1_default {
+ cmd-data {
+ pinmux = <PIN_PA28__SDMMC1_CMD>,
+ <PIN_PA18__SDMMC1_DAT0>,
+ <PIN_PA19__SDMMC1_DAT1>,
+ <PIN_PA20__SDMMC1_DAT2>,
+ <PIN_PA21__SDMMC1_DAT3>;
+ bias-disable;
+ };
+
+ conf-ck {
+ pinmux = <PIN_PA22__SDMMC1_CK>;
+ bias-disable;
+ };
+ };
+
+ pinctrl_wilc_default: wilc_default {
+ conf-irq {
+ pinmux = <PIN_PB25__GPIO>;
+ bias-disable;
+ };
+ };
+
+ pinctrl_wilc_pwrseq: wilc_pwrseq {
+ conf-ce-nrst {
+ pinmux = <PIN_PA27__GPIO>,
+ <PIN_PA29__GPIO>;
+ bias-disable;
+ };
+
+ conf-rtcclk {
+ pinmux = <PIN_PB13__PCK1>;
+ bias-disable;
+ };
+ };
+};
+
+&sdmmc1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ bus-width = <4>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sdmmc1_default>;
+ mmc-pwrseq = <&wifi_pwrseq>;
+ no-1-8-v;
+ non-removable;
+ status = "okay";
+
+ wilc: wilc@0 {
+ reg = <0>;
+ bus-width = <4>;
+ compatible = "microchip,wilc3000", "microchip,wilc1000";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_wilc_default>;
+ irq-gpios = <&pioA PIN_PB25 GPIO_ACTIVE_LOW>;
+ clocks = <&pmc PMC_TYPE_SYSTEM 9>;
+ clock-names = "rtc";
+ assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
+ assigned-clock-rates = <32768>;
+ status = "okay";
+ };
};
--
2.25.1
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device
2021-08-20 9:28 ` [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device Claudiu Beznea
@ 2021-08-24 12:23 ` Rob Herring
2021-08-24 15:26 ` Claudiu.Beznea
0 siblings, 1 reply; 10+ messages in thread
From: Rob Herring @ 2021-08-24 12:23 UTC (permalink / raw)
To: Claudiu Beznea
Cc: ulf.hansson, nicolas.ferre, alexandre.belloni, ludovic.desroches,
linux-mmc, devicetree, linux-arm-kernel, linux-kernel,
Eugen Hristev
On Fri, Aug 20, 2021 at 12:28:03PM +0300, Claudiu Beznea wrote:
> From: Eugen Hristev <eugen.hristev@microchip.com>
>
> SAMA5D27 WLSOM1 boards has a WILC3000 device soldered. Add proper
> device tree nodes for this.
>
> [eugen.hristev: original author of this code]
> Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
> [nicolas.ferre: original author of this code]
> Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> ---
> arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 71 +++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
> index 025a78310e3a..c7bcfd3ce91d 100644
> --- a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
> +++ b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
> @@ -30,6 +30,15 @@ main_xtal {
> clock-frequency = <24000000>;
> };
> };
> +
> + wifi_pwrseq: wifi_pwrseq {
> + compatible = "mmc-pwrseq-wilc1000";
> + reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
> + powerdown-gpios = <&pioA PIN_PA29 GPIO_ACTIVE_HIGH>;
> + pinctrl-0 = <&pinctrl_wilc_pwrseq>;
> + pinctrl-names = "default";
> + status = "okay";
'okay' is the default, so you can drop this.
> + };
> };
>
> &flx1 {
> @@ -310,5 +319,67 @@ pinctrl_qspi1_default: qspi1_default {
> <PIN_PB10__QSPI1_IO3>;
> bias-pull-up;
> };
> +
> + pinctrl_sdmmc1_default: sdmmc1_default {
> + cmd-data {
> + pinmux = <PIN_PA28__SDMMC1_CMD>,
> + <PIN_PA18__SDMMC1_DAT0>,
> + <PIN_PA19__SDMMC1_DAT1>,
> + <PIN_PA20__SDMMC1_DAT2>,
> + <PIN_PA21__SDMMC1_DAT3>;
> + bias-disable;
> + };
> +
> + conf-ck {
> + pinmux = <PIN_PA22__SDMMC1_CK>;
> + bias-disable;
> + };
> + };
> +
> + pinctrl_wilc_default: wilc_default {
> + conf-irq {
> + pinmux = <PIN_PB25__GPIO>;
> + bias-disable;
> + };
> + };
> +
> + pinctrl_wilc_pwrseq: wilc_pwrseq {
> + conf-ce-nrst {
> + pinmux = <PIN_PA27__GPIO>,
> + <PIN_PA29__GPIO>;
> + bias-disable;
> + };
> +
> + conf-rtcclk {
> + pinmux = <PIN_PB13__PCK1>;
> + bias-disable;
> + };
> + };
> +};
> +
> +&sdmmc1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + bus-width = <4>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_sdmmc1_default>;
> + mmc-pwrseq = <&wifi_pwrseq>;
> + no-1-8-v;
> + non-removable;
> + status = "okay";
> +
> + wilc: wilc@0 {
wifi@0
> + reg = <0>;
> + bus-width = <4>;
> + compatible = "microchip,wilc3000", "microchip,wilc1000";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_wilc_default>;
> + irq-gpios = <&pioA PIN_PB25 GPIO_ACTIVE_LOW>;
> + clocks = <&pmc PMC_TYPE_SYSTEM 9>;
> + clock-names = "rtc";
> + assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
> + assigned-clock-rates = <32768>;
> + status = "okay";
Again, that's the default so drop.
Did you run validation (make dtbs_check) on your changes because I see
multiple problems.
Rob
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000
2021-08-20 9:28 ` [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000 Claudiu Beznea
@ 2021-08-24 12:24 ` Rob Herring
0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2021-08-24 12:24 UTC (permalink / raw)
To: Claudiu Beznea
Cc: ulf.hansson, alexandre.belloni, linux-mmc, robh+dt,
ludovic.desroches, linux-arm-kernel, devicetree, linux-kernel,
nicolas.ferre
On Fri, 20 Aug 2021 12:28:00 +0300, Claudiu Beznea wrote:
> Add binding for wilc1000 devices.
>
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> ---
> Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices
2021-08-20 9:27 [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Claudiu Beznea
` (3 preceding siblings ...)
2021-08-20 9:28 ` [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device Claudiu Beznea
@ 2021-08-24 14:56 ` Ulf Hansson
2021-09-01 8:08 ` Nicolas Ferre
4 siblings, 1 reply; 10+ messages in thread
From: Ulf Hansson @ 2021-08-24 14:56 UTC (permalink / raw)
To: Claudiu Beznea
Cc: Rob Herring, Nicolas Ferre, Alexandre Belloni, Ludovic Desroches,
linux-mmc, DTML, Linux ARM, Linux Kernel Mailing List
On Fri, 20 Aug 2021 at 11:30, Claudiu Beznea
<claudiu.beznea@microchip.com> wrote:
>
> Hi,
>
> This series adds support for WILC1000 devices on pwrseq-sd8787 driver.
> WILC1000 devices needs a minimum delay of 5ms b/w reset and power lines.
> Adapt the sd8787 driver for this by adding a new compatible for WILC1000
> devices and specify the delay on .data field of struct of_device_id.
>
> Thank you,
> Claudiu Beznea
>
> Changes in v3:
> - fixed dt binding compilation
>
> Changes in v2:
> - changed cover letter title (it was: mmc: pwrseq: sd8787: add support
> for selectable)
> - use new compatible in pwrseq-sd8787 driver instead of adding a new
> binding for specifying the delay; with this, the patch 1/1 from v1 is
> not necessary
> - adapt patch 3/3 from this version with the new compatible
>
>
> Claudiu Beznea (3):
> dt-bindings: pwrseq-sd8787: add binding for wilc1000
> mmc: pwrseq: sd8787: add support for wilc1000
> mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
>
> Eugen Hristev (1):
> ARM: dts: at91: sama5d27_wlsom1: add wifi device
>
> .../bindings/mmc/mmc-pwrseq-sd8787.yaml | 4 +-
> arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 71 +++++++++++++++++++
> drivers/mmc/core/Kconfig | 2 +-
> drivers/mmc/core/pwrseq_sd8787.c | 11 ++-
> 4 files changed, 84 insertions(+), 4 deletions(-)
>
Applied patch1 -> patch3, thanks! I leave patch 4 for soc maintainers.
Kind regards
Uffe
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device
2021-08-24 12:23 ` Rob Herring
@ 2021-08-24 15:26 ` Claudiu.Beznea
0 siblings, 0 replies; 10+ messages in thread
From: Claudiu.Beznea @ 2021-08-24 15:26 UTC (permalink / raw)
To: robh
Cc: ulf.hansson, Nicolas.Ferre, alexandre.belloni, Ludovic.Desroches,
linux-mmc, devicetree, linux-arm-kernel, linux-kernel,
Eugen.Hristev
On 24.08.2021 15:23, Rob Herring wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On Fri, Aug 20, 2021 at 12:28:03PM +0300, Claudiu Beznea wrote:
>> From: Eugen Hristev <eugen.hristev@microchip.com>
>>
>> SAMA5D27 WLSOM1 boards has a WILC3000 device soldered. Add proper
>> device tree nodes for this.
>>
>> [eugen.hristev: original author of this code]
>> Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
>> [nicolas.ferre: original author of this code]
>> Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
>> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
>> ---
>> arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 71 +++++++++++++++++++++
>> 1 file changed, 71 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
>> index 025a78310e3a..c7bcfd3ce91d 100644
>> --- a/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
>> +++ b/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi
>> @@ -30,6 +30,15 @@ main_xtal {
>> clock-frequency = <24000000>;
>> };
>> };
>> +
>> + wifi_pwrseq: wifi_pwrseq {
>> + compatible = "mmc-pwrseq-wilc1000";
>> + reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
>> + powerdown-gpios = <&pioA PIN_PA29 GPIO_ACTIVE_HIGH>;
>> + pinctrl-0 = <&pinctrl_wilc_pwrseq>;
>> + pinctrl-names = "default";
>> + status = "okay";
>
> 'okay' is the default, so you can drop this.
>
>> + };
>> };
>>
>> &flx1 {
>> @@ -310,5 +319,67 @@ pinctrl_qspi1_default: qspi1_default {
>> <PIN_PB10__QSPI1_IO3>;
>> bias-pull-up;
>> };
>> +
>> + pinctrl_sdmmc1_default: sdmmc1_default {
>> + cmd-data {
>> + pinmux = <PIN_PA28__SDMMC1_CMD>,
>> + <PIN_PA18__SDMMC1_DAT0>,
>> + <PIN_PA19__SDMMC1_DAT1>,
>> + <PIN_PA20__SDMMC1_DAT2>,
>> + <PIN_PA21__SDMMC1_DAT3>;
>> + bias-disable;
>> + };
>> +
>> + conf-ck {
>> + pinmux = <PIN_PA22__SDMMC1_CK>;
>> + bias-disable;
>> + };
>> + };
>> +
>> + pinctrl_wilc_default: wilc_default {
>> + conf-irq {
>> + pinmux = <PIN_PB25__GPIO>;
>> + bias-disable;
>> + };
>> + };
>> +
>> + pinctrl_wilc_pwrseq: wilc_pwrseq {
>> + conf-ce-nrst {
>> + pinmux = <PIN_PA27__GPIO>,
>> + <PIN_PA29__GPIO>;
>> + bias-disable;
>> + };
>> +
>> + conf-rtcclk {
>> + pinmux = <PIN_PB13__PCK1>;
>> + bias-disable;
>> + };
>> + };
>> +};
>> +
>> +&sdmmc1 {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + bus-width = <4>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_sdmmc1_default>;
>> + mmc-pwrseq = <&wifi_pwrseq>;
>> + no-1-8-v;
>> + non-removable;
>> + status = "okay";
>> +
>> + wilc: wilc@0 {
>
> wifi@0
>
>> + reg = <0>;
>> + bus-width = <4>;
>> + compatible = "microchip,wilc3000", "microchip,wilc1000";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_wilc_default>;
>> + irq-gpios = <&pioA PIN_PB25 GPIO_ACTIVE_LOW>;
>> + clocks = <&pmc PMC_TYPE_SYSTEM 9>;
>> + clock-names = "rtc";
>> + assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
>> + assigned-clock-rates = <32768>;
>> + status = "okay";
>
> Again, that's the default so drop.
>
> Did you run validation (make dtbs_check) on your changes because I see
> multiple problems.
No, I haven't. Apologies! I'll do the proper adjustments in v3.
Thank you for your review,
Claudiu Beznea
>
> Rob
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices
2021-08-24 14:56 ` [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Ulf Hansson
@ 2021-09-01 8:08 ` Nicolas Ferre
0 siblings, 0 replies; 10+ messages in thread
From: Nicolas Ferre @ 2021-09-01 8:08 UTC (permalink / raw)
To: Ulf Hansson, Claudiu Beznea
Cc: Rob Herring, Alexandre Belloni, Ludovic Desroches, linux-mmc,
DTML, Linux ARM, Linux Kernel Mailing List
On 24/08/2021 at 16:56, Ulf Hansson wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On Fri, 20 Aug 2021 at 11:30, Claudiu Beznea
> <claudiu.beznea@microchip.com> wrote:
>>
>> Hi,
>>
>> This series adds support for WILC1000 devices on pwrseq-sd8787 driver.
>> WILC1000 devices needs a minimum delay of 5ms b/w reset and power lines.
>> Adapt the sd8787 driver for this by adding a new compatible for WILC1000
>> devices and specify the delay on .data field of struct of_device_id.
>>
>> Thank you,
>> Claudiu Beznea
>>
>> Changes in v3:
>> - fixed dt binding compilation
>>
>> Changes in v2:
>> - changed cover letter title (it was: mmc: pwrseq: sd8787: add support
>> for selectable)
>> - use new compatible in pwrseq-sd8787 driver instead of adding a new
>> binding for specifying the delay; with this, the patch 1/1 from v1 is
>> not necessary
>> - adapt patch 3/3 from this version with the new compatible
>>
>>
>> Claudiu Beznea (3):
>> dt-bindings: pwrseq-sd8787: add binding for wilc1000
>> mmc: pwrseq: sd8787: add support for wilc1000
>> mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787
>>
>> Eugen Hristev (1):
>> ARM: dts: at91: sama5d27_wlsom1: add wifi device
>>
>> .../bindings/mmc/mmc-pwrseq-sd8787.yaml | 4 +-
>> arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi | 71 +++++++++++++++++++
>> drivers/mmc/core/Kconfig | 2 +-
>> drivers/mmc/core/pwrseq_sd8787.c | 11 ++-
>> 4 files changed, 84 insertions(+), 4 deletions(-)
>>
>
> Applied patch1 -> patch3, thanks! I leave patch 4 for soc maintainers.
Perfect, we take care of patch 4 through at91 -> arm-soc trees for 5.16
kernel timeframe.
Best regards,
Nicolas
--
Nicolas Ferre
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-09-01 8:08 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-20 9:27 [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 1/4] dt-bindings: pwrseq-sd8787: add binding for wilc1000 Claudiu Beznea
2021-08-24 12:24 ` Rob Herring
2021-08-20 9:28 ` [PATCH v3 2/4] mmc: pwrseq: sd8787: add support " Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 3/4] mmc: pwrseq: add wilc1000_sdio dependency for pwrseq_sd8787 Claudiu Beznea
2021-08-20 9:28 ` [PATCH v3 4/4] ARM: dts: at91: sama5d27_wlsom1: add wifi device Claudiu Beznea
2021-08-24 12:23 ` Rob Herring
2021-08-24 15:26 ` Claudiu.Beznea
2021-08-24 14:56 ` [PATCH v3 0/4] mmc: pwrseq: sd8787: add support wilc1000 devices Ulf Hansson
2021-09-01 8:08 ` Nicolas Ferre
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).