am3517: fail to bring up EHCI in upstream kernel (4.9)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm trying to get the first USB port working on a am3517 based
hardware. The system is working with 2.6.37 for now. USB tree has
following structure:

HSUSB1  -> TUSB1210 -> SMSC LAN9514

TUSB1210's reset is connected to GPIO 57
(GPMC_NCS6/SYS_NDMAREQ3/0/GPT11_PWM_EVT/GPIO_57)

Linux boot log: http://pastebin.com/EmhB4dP2

I'm using 4.9.0-rc7 kernel with omap2plus_defconfig. U-Boot 2016.11
with am3517_evm_defconfig.

Why do I get so many "ehci-omap 48064800.ehci: Can't get PHY device
for port 0: -517" for the same port? I've also made printk there and
with the last probe invocation phy seems to be correctly initialized,
but I still don't get SMSC LAN9514 detected.

What am I missing?

My current DTS below:

#include "am3517.dtsi"

/ {
        model = "VScom VS-860";
        compatible = "ti,am3517-vs860", "ti,am3517", "ti,omap3";

        memory@80000000 {
                device_type = "memory";
                reg = <0x80000000 0x10000000>;  /* 256 MB */
        };

        vbat: fixedregulator {
                compatible = "regulator-fixed";
                regulator-name = "vbat";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
                regulator-boot-on;
        };
        vmmc_fixed: vmmc {
                compatible = "regulator-fixed";
                regulator-name = "vmmc_fixed";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
        };

        /* HS USB Port 1 Power */
        hsusb1_power: hsusb1_power_reg {
                compatible = "regulator-fixed";
                regulator-name = "hsusb1_vbus";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
                startup-delay-us = <70000>;
        };

        /* HS USB Host PHY on PORT 1 */
        hsusb1_phy: hsusb1_phy {
                compatible = "usb-nop-xceiv";
                vcc-supply = <&hsusb1_power>;
                pinctrl-names = "default";
                pinctrl-0 = <&phy1_reset_pins>;
                reset-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
        };
};

&omap3_pmx_core {
        pinctrl-names = "default";
        pinctrl-0 = <
                &hsusbb1_pins
        >;

        uart3_pins: pinmux_uart3_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT  |
MUX_MODE0)       /* uart3_rx_irrx.uart3_rx_irrx */
                        OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT |
MUX_MODE0)       /* uart3_tx_irtx.uart3_tx_irtx */
                >;
        };

        mmc1_pins: pinmux_mmc1_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP |
MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
                        OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP |
MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
                        OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP |
MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
                        OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP |
MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
                        OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP |
MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
                        OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP |
MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
                        OMAP3_CORE1_IOPAD(0x2152, PIN_INPUT_PULLUP |
MUX_MODE4) /* sdmmc1_dat5.gpio_127 */
                >;
        };

        i2c1_pins: pinmux_i2c1_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP |
MUX_MODE0) /* i2c1_scl */
                        OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP |
MUX_MODE0) /* i2c1_sda */
                >;
        };

        phy1_reset_pins: pinmux_hsusb1_phy_reset_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x20ba, PIN_OUTPUT |
MUX_MODE4)       /* gpmc_ncs6.gpio_57 */
                >;
        };

        hsusbb1_pins: pinmux_hsusbb1_pins {
                pinctrl-single,pins = <
                        OMAP3_CORE1_IOPAD(0x25da, PIN_OUTPUT |
MUX_MODE3)               /* etk_ctl.hsusb1_clk */
                        OMAP3_CORE1_IOPAD(0x25d8, PIN_OUTPUT |
MUX_MODE3)               /* etk_clk.hsusb1_stp */
                        OMAP3_CORE1_IOPAD(0x25ec, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d8.hsusb1_dir */
                        OMAP3_CORE1_IOPAD(0x25ee, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d9.hsusb1_nxt */
                        OMAP3_CORE1_IOPAD(0x25dc, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d0.hsusb1_data0 */
                        OMAP3_CORE1_IOPAD(0x25de, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d1.hsusb1_data1 */
                        OMAP3_CORE1_IOPAD(0x25e0, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d2.hsusb1_data2 */
                        OMAP3_CORE1_IOPAD(0x25e2, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d3.hsusb1_data7 */
                        OMAP3_CORE1_IOPAD(0x25e4, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d4.hsusb1_data4 */
                        OMAP3_CORE1_IOPAD(0x25e6, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d5.hsusb1_data5 */
                        OMAP3_CORE1_IOPAD(0x25e8, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d6.hsusb1_data6 */
                        OMAP3_CORE1_IOPAD(0x25ea, PIN_INPUT_PULLDOWN |
MUX_MODE3)       /* etk_d7.hsusb1_data3 */
                >;
        };
};

&uart3 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart3_pins>;
};

&davinci_emac {
        status = "okay";
};

&davinci_mdio {
        status = "okay";
};

&i2c1 {
        pinctrl-names = "default";
        pinctrl-0 = <&i2c1_pins>;

        clock-frequency = <400000>;

        tps: tps@48 {
                reg = <0x48>;
        };
};

&i2c2 {
        clock-frequency = <400000>;
        /* goes to expansion connector */
        status = "disabled";
};

&mmc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc1_pins>;
        bus-width = <4>;
        vmmc-supply = <&vmmc_fixed>;
        /*cd-gpios =  <&gpio3 31 GPIO_ACTIVE_HIGH>; *//* gpio_127 */
        ti,non-removable;
        status = "okay";
};

&mmc2 {
        /* goes to expansion connector */
        status = "disabled";
};

&mmc3 {
        /* goes to expansion connector */
        status = "disabled";
};

&usbhshost {
        num-ports = <1>;
        port1-mode = "ehci-phy";
};

&usbhsehci {
        phys = <&hsusb1_phy>;
};

/include/ "tps6507x.dtsi"

&tps {
        vdcdc1_2-supply = <&vbat>;
        vdcdc3-supply = <&vbat>;
        vldo1_2-supply = <&vbat>;

        regulators {
                vdcdc1_reg: regulator@0 {
                        regulator-name = "VDCDC1_1.8V";
                        regulator-min-microvolt = <1800000>;
                        regulator-max-microvolt = <1800000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                vdcdc2_reg: regulator@1 {
                        regulator-name = "VDCDC2_1.8V";
                        regulator-min-microvolt = <1710000>;
                        regulator-max-microvolt = <3450000>;
                        regulator-always-on;
                        regulator-boot-on;
                        ti,defdcdc_default = <0>;
                };

                vdcdc3_reg: regulator@2 {
                        regulator-name = "VDCDC3_1.2V";
                        regulator-min-microvolt = <950000>;
                        regulator-max-microvolt = <1350000>;
                        regulator-always-on;
                        regulator-boot-on;
                        ti,defdcdc_default = <0>;
                };

                ldo1_reg: regulator@3 {
                        regulator-name = "LDO1_1.8V";
                        regulator-min-microvolt = <1710000>;
                        regulator-max-microvolt = <1890000>;
                        regulator-always-on;
                        regulator-boot-on;
                };

                ldo2_reg: regulator@4 {
                        regulator-name = "LDO2_1.8V";
                        regulator-min-microvolt = <1710000>;
                        regulator-max-microvolt = <1890000>;
                        regulator-always-on;
                        regulator-boot-on;
                };
        };
};

Yegor
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux