[PATCH 2/2] ARM64: dts: marvell: enable USB host on Armada-8040-DB
Gregory CLEMENT
gregory.clement at free-electrons.com
Mon Aug 14 07:32:09 PDT 2017
Hi Miquel,
On mer., août 09 2017, Miquel Raynal <miquel.raynal at free-electrons.com> wrote:
> From: Grzegorz Jaszczyk <jaz at semihalf.com>
>
> 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: Grzegorz Jaszczyk <jaz at semihalf.com>
> Signed-off-by: Miquel Raynal <miquel.raynal at free-electrons.com>
Applied on mvebu/dt64
Thanks,
Gregory
> ---
> arch/arm64/boot/dts/marvell/armada-8040-db.dts | 65 ++++++++++++++++++++++++++
> 1 file changed, 65 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> index 1e8f7242ed6f..0d7b2ae46610 100644
> --- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> +++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
> @@ -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 at 21 {
> + compatible = "nxp,pca9555";
> + pinctrl-names = "default";
> + gpio-controller;
> + #gpio-cells = <2>;
> + reg = <0x21>;
> + };
> +
> + /* U25 */
> + expander1: pca9555 at 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";
> };
>
> --
> 2.11.0
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list