Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff964962 authored by Cyrille Pitchen's avatar Cyrille Pitchen Committed by Nicolas Ferre
Browse files

ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb host



For USB gadget on port A (device mode):
- pin PA31 is configured as an input GPIO which triggers an interrupt when
  vbus is detected on USB port A.
- pin PB9 is configured as an output GPIO and set to low level so the
  board doesn't supply vbus to USB port A.

For USB host:
- pin PB10 is configured as an output GPIO and is active at high level.
  The ohci driver will activate this pin so the board supplies vbus to USB
  port B.
- pin PB9 should be configured as an output GPIO and active at high level
  to use to USB port A in host mode (conflicts with USB gadget).

Signed-off-by: default avatarCyrille Pitchen <cyrille.pitchen@atmel.com>
Acked-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent 28fe8007
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@
#include "sama5d2.dtsi"
#include "sama5d2-pinfunc.h"
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Atmel SAMA5D2 Xplained";
@@ -71,11 +72,20 @@

	ahb {
		usb0: gadget@00300000 {
			atmel,vbus-gpio = <&pioA 31 GPIO_ACTIVE_HIGH>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usba_vbus>;
			status = "okay";
		};

		usb1: ohci@00400000 {
			num-ports = <3>;
			atmel,vbus-gpio = <0 /* &pioA 41 GPIO_ACTIVE_HIGH */
					   &pioA 42 GPIO_ACTIVE_HIGH
					   0
					  >;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_usb_default>;
			status = "okay";
		};

@@ -376,6 +386,17 @@
						 <PIN_PB12__UTXD3>;
					bias-disable;
				};

				pinctrl_usb_default: usb_default {
					pinmux = <PIN_PB10__GPIO>;
					bias-disable;
				};

				pinctrl_usba_vbus: usba_vbus {
					pinmux = <PIN_PA31__GPIO>;
					bias-disable;
				};

			};
		};
	};