linux-kernel.vger.kernel.org archive mirror
 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 related	[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 related	[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 related	[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 related	[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).