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

Commit 0ea62502 authored by Grzegorz Jaszczyk's avatar Grzegorz Jaszczyk Committed by Gregory CLEMENT
Browse files

ARM64: dts: marvell: enable USB host on Armada-8040-DB



Enable USB host on Armada-8040-DB by adding USB PHY nodes for the
following ports:
  - host 0 and 1 of CPM
  - host 0 of CPS

These PHY are enabled by lanes coming from regulators based on two
I2C expanders.

Signed-off-by: default avatarGrzegorz Jaszczyk <jaz@semihalf.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@free-electrons.com>
Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
parent 915c71da
Loading
Loading
Loading
Loading
+65 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@
 * Device Tree file for Marvell Armada 8040 Development board platform
 */

#include <dt-bindings/gpio/gpio.h>
#include "armada-8040.dtsi"

/ {
@@ -59,6 +60,48 @@
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x80000000>;
	};

	cpm_reg_usb3_0_vbus: cpm-usb3-0-vbus {
		compatible = "regulator-fixed";
		regulator-name = "cpm-usb3h0-vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
		gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
	};

	cpm_reg_usb3_1_vbus: cpm-usb3-1-vbus {
		compatible = "regulator-fixed";
		regulator-name = "cpm-usb3h1-vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
		gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
	};

	cpm_usb3_0_phy: cpm-usb3-0-phy {
		compatible = "usb-nop-xceiv";
		vcc-supply = <&cpm_reg_usb3_0_vbus>;
	};

	cpm_usb3_1_phy: cpm-usb3-1-phy {
		compatible = "usb-nop-xceiv";
		vcc-supply = <&cpm_reg_usb3_1_vbus>;
	};

	cps_reg_usb3_0_vbus: cps-usb3-0-vbus {
		compatible = "regulator-fixed";
		regulator-name = "cps-usb3h0-vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
		gpio = <&expander1 0 GPIO_ACTIVE_HIGH>;
	};

	cps_usb3_0_phy: cps-usb3-0-phy {
		compatible = "usb-nop-xceiv";
		vcc-supply = <&cps_reg_usb3_0_vbus>;
	};
};

&i2c0 {
@@ -107,6 +150,25 @@
&cpm_i2c0 {
	status = "okay";
	clock-frequency = <100000>;

	/* U31 */
	expander0: pca9555@21 {
		compatible = "nxp,pca9555";
		pinctrl-names = "default";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x21>;
	};

	/* U25 */
	expander1: pca9555@25 {
		compatible = "nxp,pca9555";
		pinctrl-names = "default";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x25>;
	};

};

/* CON4 on CP0 expansion */
@@ -116,11 +178,13 @@

/* CON9 on CP0 expansion */
&cpm_usb3_0 {
	usb-phy = <&cpm_usb3_0_phy>;
	status = "okay";
};

/* CON10 on CP0 expansion */
&cpm_usb3_1 {
	usb-phy = <&cpm_usb3_1_phy>;
	status = "okay";
};

@@ -159,6 +223,7 @@

/* CON9 on CP1 expansion */
&cps_usb3_0 {
	usb-phy = <&cps_usb3_0_phy>;
	status = "okay";
};