[linux-sunxi] [PATCH] ARM: dts: sunxi: enable otg port on the sun7i-a20-olinuxino-lime2
Iain Paton
ipaton0 at gmail.com
Sun Aug 9 16:05:05 PDT 2015
NAK. This does much more than enabling the otg port.
Neither wholesale re-writing the regulator node or hooking up the
dcdc2 regulator to the operating points definition is required in order
to enable the otg port.
At the very least you need to split your patches and describe them
properly rather than trying to get additional changes that are likely
to cause further discussion through unnoticed using a misleading
subject.
Rgds,
Iain
On 09/08/15 20:02, Olliver Schinagl wrote:
> From: Olliver Schinagl <o.schinagl at ultimaker.com>
>
> This patch enables the musb-otg USB controller on the Lime2. The Lime2
> differs from the Lime1 series in pins used for usb0 power.
>
> Tested on a OlinuXino Lime2-4GB.
>
> Signed-off-by: Olliver Schinagl <oliver at schinagl.nl>
> ---
> arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts | 131 ++++++++++++++----------
> 1 file changed, 75 insertions(+), 56 deletions(-)
>
> diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
> index 22cd052..efd9ebb 100644
> --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
> +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
> @@ -71,14 +71,6 @@
> default-state = "on";
> };
> };
> -
> - reg_axp_ipsout: axp_ipsout {
> - compatible = "regulator-fixed";
> - regulator-name = "axp-ipsout";
> - regulator-min-microvolt = <5000000>;
> - regulator-max-microvolt = <5000000>;
> - regulator-always-on;
> - };
> };
>
> &ahci {
> @@ -86,6 +78,10 @@
> status = "okay";
> };
>
> +&cpu0 {
> + cpu-supply = <®_dcdc2>;
> +};
> +
> &ehci0 {
> status = "okay";
> };
> @@ -112,57 +108,9 @@
> status = "okay";
>
> axp209: pmic at 34 {
> - compatible = "x-powers,axp209";
> reg = <0x34>;
> interrupt-parent = <&nmi_intc>;
> interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> -
> - interrupt-controller;
> - #interrupt-cells = <1>;
> -
> - acin-supply = <®_axp_ipsout>;
> - vin2-supply = <®_axp_ipsout>;
> - vin3-supply = <®_axp_ipsout>;
> - ldo24in-supply = <®_axp_ipsout>;
> - ldo3in-supply = <®_axp_ipsout>;
> -
> - regulators {
> - vdd_rtc: ldo1 {
> - regulator-min-microvolt = <1300000>;
> - regulator-max-microvolt = <1300000>;
> - regulator-always-on;
> - };
> -
> - avcc: ldo2 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - regulator-always-on;
> - };
> -
> - vcc_csi0: ldo3 {
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <3500000>;
> - regulator-always-on;
> - };
> -
> - vcc_csi1: ldo4 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <3300000>;
> - regulator-always-on;
> - };
> -
> - vdd_cpu: dcdc2 {
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <2275000>;
> - regulator-always-on;
> - };
> -
> - vdd_int: dcdc3 {
> - regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <3500000>;
> - regulator-always-on;
> - };
> - };
> };
> };
>
> @@ -196,6 +144,10 @@
> status = "okay";
> };
>
> +&otg_sram {
> + status = "okay";
> +};
> +
> &pio {
> ahci_pwr_pin_olinuxinolime: ahci_pwr_pin at 1 {
> allwinner,pins = "PC3";
> @@ -210,6 +162,27 @@
> allwinner,drive = <SUN4I_PINCTRL_20_MA>;
> allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> };
> +
> + usb0_id_detect_pin: usb0_id_detect_pin at 0 {
> + allwinner,pins = "PH4";
> + allwinner,function = "gpio_in";
> + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
> + };
> +
> + usb0_vbus_detect_pin: usb0_vbus_detect_pin at 0 {
> + allwinner,pins = "PH5";
> + allwinner,function = "gpio_in";
> + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> + allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>;
> + };
> +
> + usb0_vbus_pin_lime2: usb0_vbus_pin at 0 {
> + allwinner,pins = "PC17";
> + allwinner,function = "gpio_out";
> + allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> + };
> };
>
> ®_ahci_5v {
> @@ -218,6 +191,42 @@
> status = "okay";
> };
>
> +#include "axp209.dtsi"
> +
> +®_dcdc2 {
> + regulator-always-on;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1450000>;
> + regulator-name = "vdd-cpu";
> +};
> +
> +®_dcdc3 {
> + regulator-always-on;
> + regulator-min-microvolt = <1000000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-name = "vdd-int-dll";
> +};
> +
> +®_ldo1 {
> + regulator-always-on;
> + regulator-min-microvolt = <1300000>;
> + regulator-max-microvolt = <1300000>;
> + regulator-name = "vdd-rtc";
> +};
> +
> +®_ldo2 {
> + regulator-always-on;
> + regulator-min-microvolt = <3000000>;
> + regulator-max-microvolt = <3000000>;
> + regulator-name = "avcc";
> +};
> +
> +®_usb0_vbus {
> + pinctrl-0 = <&usb0_vbus_pin_lime2>;
> + gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>;
> + status = "okay";
> +};
> +
> ®_usb1_vbus {
> status = "okay";
> };
> @@ -232,7 +241,17 @@
> status = "okay";
> };
>
> +&usb_otg {
> + dr_mode = "otg";
> + status = "okay";
> +};
> +
> &usbphy {
> + pinctrl-names = "default";
> + pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>;
> + usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
> + usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
> + usb0_vbus-supply = <®_usb0_vbus>;
> usb1_vbus-supply = <®_usb1_vbus>;
> usb2_vbus-supply = <®_usb2_vbus>;
> status = "okay";
>
More information about the linux-arm-kernel
mailing list