linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] ARM: at91: USB Device Port fixes
@ 2022-11-04 21:55 Michael Grzeschik
  2022-11-04 21:55 ` [PATCH v2 1/4] usb: gadget: at91-udc: simplify at91rm9200_udc_pullup callback Michael Grzeschik
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Michael Grzeschik @ 2022-11-04 21:55 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: alexandre.belloni, gregkh, linux-usb, kernel, linux-clk

This series fixes the UDP (USB Device Port) on the
at91rm9200 and at91sam9g20.

Cc: gregkh@linuxfoundation.org
Cc: nicolas.ferre@microchip.com
Cc: alexandre.belloni@bootlin.com
Cc: linux-usb@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: kernel@pengutronix.de

Michael Grzeschik (4):
  usb: gadget: at91-udc: simplify at91rm9200_udc_pullup callback
  clk: at91: rm9200: fix usb device clock id
  ARM: dts: at91: rm9200: fix usb device clk id
  ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl

 arch/arm/boot/dts/at91rm9200.dtsi           | 2 +-
 arch/arm/boot/dts/at91sam9g20ek_common.dtsi | 9 +++++++++
 drivers/clk/at91/at91rm9200.c               | 2 +-
 drivers/usb/gadget/udc/at91_udc.c           | 5 +----
 4 files changed, 12 insertions(+), 6 deletions(-)

-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/4] usb: gadget: at91-udc: simplify at91rm9200_udc_pullup callback
  2022-11-04 21:55 [PATCH v2 0/4] ARM: at91: USB Device Port fixes Michael Grzeschik
@ 2022-11-04 21:55 ` Michael Grzeschik
  2022-11-04 21:55 ` [PATCH v2 2/4] clk: at91: rm9200: fix usb device clock id Michael Grzeschik
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Michael Grzeschik @ 2022-11-04 21:55 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: alexandre.belloni, gregkh, linux-usb, kernel, Claudiu Beznea

Just simplify the use of is_on and get rid of superfluous condition.

Cc: gregkh@linuxfoundation.org
Cc: nicolas.ferre@microchip.com
Cc: alexandre.belloni@bootlin.com
Cc: linux-usb@vger.kernel.org
Cc: kernel@pengutronix.de
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>

---
v1 -> v2: - added reviewed by from Claudio Beznea

 drivers/usb/gadget/udc/at91_udc.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/usb/gadget/udc/at91_udc.c b/drivers/usb/gadget/udc/at91_udc.c
index a9a7b3fc60ec96..922b4187004b03 100644
--- a/drivers/usb/gadget/udc/at91_udc.c
+++ b/drivers/usb/gadget/udc/at91_udc.c
@@ -1628,10 +1628,7 @@ static int at91rm9200_udc_init(struct at91_udc *udc)
 
 static void at91rm9200_udc_pullup(struct at91_udc *udc, int is_on)
 {
-	if (is_on)
-		gpiod_set_value(udc->board.pullup_pin, 1);
-	else
-		gpiod_set_value(udc->board.pullup_pin, 0);
+	gpiod_set_value(udc->board.pullup_pin, is_on);
 }
 
 static const struct at91_udc_caps at91rm9200_udc_caps = {
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/4] clk: at91: rm9200: fix usb device clock id
  2022-11-04 21:55 [PATCH v2 0/4] ARM: at91: USB Device Port fixes Michael Grzeschik
  2022-11-04 21:55 ` [PATCH v2 1/4] usb: gadget: at91-udc: simplify at91rm9200_udc_pullup callback Michael Grzeschik
@ 2022-11-04 21:55 ` Michael Grzeschik
  2022-11-09 11:57   ` Claudiu.Beznea
  2022-11-04 21:55 ` [PATCH v2 3/4] ARM: dts: at91: rm9200: fix usb device clk id Michael Grzeschik
  2022-11-04 21:55 ` [PATCH v2 4/4] ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl Michael Grzeschik
  3 siblings, 1 reply; 8+ messages in thread
From: Michael Grzeschik @ 2022-11-04 21:55 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: alexandre.belloni, sboyd, mturquette, linux-clk,
	ludovic.desroches, kernel, claudiu.beznea

Referring to the datasheet the index 2 is the MCKUDP. When enabled, it
"Enables the automatic disable of the Master Clock of the USB Device
Port when a suspend condition occurs". We fix the index to the real UDP
id which "Enables the 48 MHz clock of the USB Device Port".

Cc: mturquette@baylibre.com
Cc: sboyd@kernel.org
Cc: nicolas.ferre@microchip.com
Cc: alexandre.belloni@bootlin.com
Cc: ludovic.desroches@microchip.com
Cc: claudiu.beznea@microchip.com
Cc: linux-clk@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: kernel@pengutronix.de
Fixes: 02ff48e4d7f7 (clk: at91: add at91rm9200 pmc driver)
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>

---
v1 -> v2: - removed ; from patch description
          - added fixes tag

 drivers/clk/at91/at91rm9200.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c
index b174f727a8ef8d..16870943a13e54 100644
--- a/drivers/clk/at91/at91rm9200.c
+++ b/drivers/clk/at91/at91rm9200.c
@@ -40,7 +40,7 @@ static const struct clk_pll_characteristics rm9200_pll_characteristics = {
 };
 
 static const struct sck at91rm9200_systemck[] = {
-	{ .n = "udpck", .p = "usbck",    .id = 2 },
+	{ .n = "udpck", .p = "usbck",    .id = 1 },
 	{ .n = "uhpck", .p = "usbck",    .id = 4 },
 	{ .n = "pck0",  .p = "prog0",    .id = 8 },
 	{ .n = "pck1",  .p = "prog1",    .id = 9 },
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/4] ARM: dts: at91: rm9200: fix usb device clk id
  2022-11-04 21:55 [PATCH v2 0/4] ARM: at91: USB Device Port fixes Michael Grzeschik
  2022-11-04 21:55 ` [PATCH v2 1/4] usb: gadget: at91-udc: simplify at91rm9200_udc_pullup callback Michael Grzeschik
  2022-11-04 21:55 ` [PATCH v2 2/4] clk: at91: rm9200: fix usb device clock id Michael Grzeschik
@ 2022-11-04 21:55 ` Michael Grzeschik
  2022-11-09 11:58   ` Claudiu.Beznea
  2022-11-04 21:55 ` [PATCH v2 4/4] ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl Michael Grzeschik
  3 siblings, 1 reply; 8+ messages in thread
From: Michael Grzeschik @ 2022-11-04 21:55 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: kernel, ludovic.desroches, linux-arm-kernel, alexandre.belloni

Referring to the datasheet the index 2 is the MCKUDP. When enabled, it
"Enables the automatic disable of the Master Clock of the USB Device
Port when a suspend condition occurs". We fix the index to the real UDP
id which "Enables the 48 MHz clock of the USB Device Port".

Cc: nicolas.ferre@microchip.com
Cc: ludovic.desroches@microchip.com
Cc: alexandre.belloni@bootlin.com
Cc: linux-arm-kernel@lists.infradead.orga
Cc: kernel@pengutronix.de
Fixes: 0e0e528d8260 (ARM: dts: at91: rm9200: switch to new clock bindings)
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>

---
v1 -> v2: - removed ; from patch description
          - added fixes tag

 arch/arm/boot/dts/at91rm9200.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi
index 7a113325abb9ed..6f9004ebf42456 100644
--- a/arch/arm/boot/dts/at91rm9200.dtsi
+++ b/arch/arm/boot/dts/at91rm9200.dtsi
@@ -666,7 +666,7 @@ usb1: gadget@fffb0000 {
 				compatible = "atmel,at91rm9200-udc";
 				reg = <0xfffb0000 0x4000>;
 				interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
-				clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 2>;
+				clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 1>;
 				clock-names = "pclk", "hclk";
 				status = "disabled";
 			};
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 4/4] ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl
  2022-11-04 21:55 [PATCH v2 0/4] ARM: at91: USB Device Port fixes Michael Grzeschik
                   ` (2 preceding siblings ...)
  2022-11-04 21:55 ` [PATCH v2 3/4] ARM: dts: at91: rm9200: fix usb device clk id Michael Grzeschik
@ 2022-11-04 21:55 ` Michael Grzeschik
  2022-11-09 12:00   ` Claudiu.Beznea
  3 siblings, 1 reply; 8+ messages in thread
From: Michael Grzeschik @ 2022-11-04 21:55 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: kernel, ludovic.desroches, alexandre.belloni

We set the PIOC to GPIO mode. This way the pin becomes an
input signal will be usable by the controller. Without
this change the udc on the 9g20ek does not work.

Cc: nicolas.ferre@microchip.com
Cc: ludovic.desroches@microchip.com
Cc: alexandre.belloni@bootlin.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: kernel@pengutronix.de
Fixes: 5cb4e73575e3 (ARM: at91: add at91sam9g20ek boards dt support)
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>

---
v1 -> v2: - aligned pinctrl-0 entry to one line
          - added fixes tag

 arch/arm/boot/dts/at91sam9g20ek_common.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index 60d61291f34445..024af2db638ebe 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -39,6 +39,13 @@ pinctrl_pck0_as_mck: pck0_as_mck {
 
 				};
 
+				usb1 {
+					pinctrl_usb1_vbus_gpio: usb1_vbus_gpio {
+						atmel,pins =
+							<AT91_PIOC 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PC5 GPIO */
+					};
+				};
+
 				mmc0_slot1 {
 					pinctrl_board_mmc0_slot1: mmc0_slot1-board {
 						atmel,pins =
@@ -84,6 +91,8 @@ macb0: ethernet@fffc4000 {
 			};
 
 			usb1: gadget@fffa4000 {
+				pinctrl-0 = <&pinctrl_usb1_vbus_gpio>;
+				pinctrl-names = "default";
 				atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
 				status = "okay";
 			};
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/4] clk: at91: rm9200: fix usb device clock id
  2022-11-04 21:55 ` [PATCH v2 2/4] clk: at91: rm9200: fix usb device clock id Michael Grzeschik
@ 2022-11-09 11:57   ` Claudiu.Beznea
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu.Beznea @ 2022-11-09 11:57 UTC (permalink / raw)
  To: m.grzeschik, linux-arm-kernel
  Cc: alexandre.belloni, sboyd, mturquette, Ludovic.Desroches, kernel,
	linux-clk

On 04.11.2022 23:55, Michael Grzeschik wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Referring to the datasheet the index 2 is the MCKUDP. When enabled, it
> "Enables the automatic disable of the Master Clock of the USB Device
> Port when a suspend condition occurs". We fix the index to the real UDP
> id which "Enables the 48 MHz clock of the USB Device Port".
> 
> Cc: mturquette@baylibre.com
> Cc: sboyd@kernel.org
> Cc: nicolas.ferre@microchip.com
> Cc: alexandre.belloni@bootlin.com
> Cc: ludovic.desroches@microchip.com
> Cc: claudiu.beznea@microchip.com
> Cc: linux-clk@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@pengutronix.de
> Fixes: 02ff48e4d7f7 (clk: at91: add at91rm9200 pmc driver)

Fixes tag should be in format:

<sha-id> ("commit description")

> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
> 
> ---
> v1 -> v2: - removed ; from patch description
>           - added fixes tag
> 
>  drivers/clk/at91/at91rm9200.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c
> index b174f727a8ef8d..16870943a13e54 100644
> --- a/drivers/clk/at91/at91rm9200.c
> +++ b/drivers/clk/at91/at91rm9200.c
> @@ -40,7 +40,7 @@ static const struct clk_pll_characteristics rm9200_pll_characteristics = {
>  };
> 
>  static const struct sck at91rm9200_systemck[] = {
> -       { .n = "udpck", .p = "usbck",    .id = 2 },
> +       { .n = "udpck", .p = "usbck",    .id = 1 },
>         { .n = "uhpck", .p = "usbck",    .id = 4 },
>         { .n = "pck0",  .p = "prog0",    .id = 8 },
>         { .n = "pck1",  .p = "prog1",    .id = 9 },
> --
> 2.30.2
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 3/4] ARM: dts: at91: rm9200: fix usb device clk id
  2022-11-04 21:55 ` [PATCH v2 3/4] ARM: dts: at91: rm9200: fix usb device clk id Michael Grzeschik
@ 2022-11-09 11:58   ` Claudiu.Beznea
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu.Beznea @ 2022-11-09 11:58 UTC (permalink / raw)
  To: linux-arm-kernel

On 04.11.2022 23:55, Michael Grzeschik wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Referring to the datasheet the index 2 is the MCKUDP. When enabled, it
> "Enables the automatic disable of the Master Clock of the USB Device
> Port when a suspend condition occurs". We fix the index to the real UDP
> id which "Enables the 48 MHz clock of the USB Device Port".
> 
> Cc: nicolas.ferre@microchip.com
> Cc: ludovic.desroches@microchip.com
> Cc: alexandre.belloni@bootlin.com
> Cc: linux-arm-kernel@lists.infradead.orga
> Cc: kernel@pengutronix.de
> Fixes: 0e0e528d8260 (ARM: dts: at91: rm9200: switch to new clock bindings)

Same here.

> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
> 
> ---
> v1 -> v2: - removed ; from patch description
>           - added fixes tag
> 
>  arch/arm/boot/dts/at91rm9200.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi
> index 7a113325abb9ed..6f9004ebf42456 100644
> --- a/arch/arm/boot/dts/at91rm9200.dtsi
> +++ b/arch/arm/boot/dts/at91rm9200.dtsi
> @@ -666,7 +666,7 @@ usb1: gadget@fffb0000 {
>                                 compatible = "atmel,at91rm9200-udc";
>                                 reg = <0xfffb0000 0x4000>;
>                                 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
> -                               clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 2>;
> +                               clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 1>;
>                                 clock-names = "pclk", "hclk";
>                                 status = "disabled";
>                         };
> --
> 2.30.2
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 4/4] ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl
  2022-11-04 21:55 ` [PATCH v2 4/4] ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl Michael Grzeschik
@ 2022-11-09 12:00   ` Claudiu.Beznea
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu.Beznea @ 2022-11-09 12:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 04.11.2022 23:55, Michael Grzeschik wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> We set the PIOC to GPIO mode. This way the pin becomes an
> input signal will be usable by the controller. Without
> this change the udc on the 9g20ek does not work.
> 
> Cc: nicolas.ferre@microchip.com
> Cc: ludovic.desroches@microchip.com
> Cc: alexandre.belloni@bootlin.com
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@pengutronix.de
> Fixes: 5cb4e73575e3 (ARM: at91: add at91sam9g20ek boards dt support)

same here.

> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
> 
> ---
> v1 -> v2: - aligned pinctrl-0 entry to one line
>           - added fixes tag
> 
>  arch/arm/boot/dts/at91sam9g20ek_common.dtsi | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
> index 60d61291f34445..024af2db638ebe 100644
> --- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
> +++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
> @@ -39,6 +39,13 @@ pinctrl_pck0_as_mck: pck0_as_mck {
> 
>                                 };
> 
> +                               usb1 {
> +                                       pinctrl_usb1_vbus_gpio: usb1_vbus_gpio {
> +                                               atmel,pins =
> +                                                       <AT91_PIOC 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;   /* PC5 GPIO */
> +                                       };
> +                               };
> +
>                                 mmc0_slot1 {
>                                         pinctrl_board_mmc0_slot1: mmc0_slot1-board {
>                                                 atmel,pins =
> @@ -84,6 +91,8 @@ macb0: ethernet@fffc4000 {
>                         };
> 
>                         usb1: gadget@fffa4000 {
> +                               pinctrl-0 = <&pinctrl_usb1_vbus_gpio>;
> +                               pinctrl-names = "default";
>                                 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
>                                 status = "okay";
>                         };
> --
> 2.30.2
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-11-09 12:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-04 21:55 [PATCH v2 0/4] ARM: at91: USB Device Port fixes Michael Grzeschik
2022-11-04 21:55 ` [PATCH v2 1/4] usb: gadget: at91-udc: simplify at91rm9200_udc_pullup callback Michael Grzeschik
2022-11-04 21:55 ` [PATCH v2 2/4] clk: at91: rm9200: fix usb device clock id Michael Grzeschik
2022-11-09 11:57   ` Claudiu.Beznea
2022-11-04 21:55 ` [PATCH v2 3/4] ARM: dts: at91: rm9200: fix usb device clk id Michael Grzeschik
2022-11-09 11:58   ` Claudiu.Beznea
2022-11-04 21:55 ` [PATCH v2 4/4] ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl Michael Grzeschik
2022-11-09 12:00   ` Claudiu.Beznea

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).