Custom board with no USB

Viewing 10 reply threads
  • Author
    Posts
    • #6216
      Sam Absamy03
      Participant

        Hi All,

        I am working on a custom board, which does not have any USB ports. What exactly do I need to change in my linux image to make it work?

        Thank you,

        Samer

      • #6217
        Neeraj Dantu
        Moderator

          Samy,

          If you left the USB interface pins unconnected in your design, you should be able to just boot up Linux without issue. If you need to explicitly disable the USB ports, you will have to make a custom device tree that does not enable the USB subsystem. Please see https://github.com/RobertCNelson/dtb-rebuilder for examples of device trees you can modify.

          More info on device tree: https://octavosystems.com/app_notes/osd335x-design-tutorial/osd335x-lesson-2-minimal-linux-boot/linux-device-tree/

          Another way to achieve this is by changing kernel configuration options when you build the kernel. See http://e2e.ti.com/support/arm/sitara_arm/f/791/p/413913/1470309 for additional info.

          Neeraj

        • #6218
          Sam Absamy03
          Participant

            Hi Neeraj,

            I tried booting up with beaglebone black image but it gets stuck at Uboot with following error:

            starting USB…
            USB0:   Port not available.
            using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
            MAC 98:84:e3:ae:08:53
            HOST MAC de:ad:be:af:00:00
            RNDIS ready
            The remote end did not respond in time.missing environment variable: pxeuuid
            Retrieving file: pxelinux.cfg/01-98-84-e3-ae-<wbr />08-53
            using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
            MAC 98:84:e3:ae:08:53
            HOST MAC de:ad:be:af:00:00
            RNDIS ready
            I also tried building custom image and still get the same error. I am not sure if this error is coming from device tree or u-boot. I would really appreciate if you can help me with this error.
            Thank you,
            Samy
            • This reply was modified 6 years, 3 months ago by Sam Absamy03.
          • #6220
            Neeraj Dantu
            Moderator

              Samy,

              Can you post the complete boot logs so we can determine where in the boot process is it entering this fault condition?

              If this is from uboot, you could try halting the autoboot process when the board gets to uboot by hitting the space bar(You will have 2 seconds to do this). You will have a uboot command line from which you should be able to use uboot commands to stop the USB module and USB PHY.

              Also, see http://processors.wiki.ti.com/index.php/Booting_Linux_kernel_using_U-Boot

              Best,

              Neeraj

            • #6221
              Sam Absamy03
              Participant

                Hi Neeraj,

                I was able to get rid of this error by generating a custom U-boot and Kernel without USB support. But once I created custom U-boot, somehow patch for booting custom board got removed, so I had to program my EEPROM with magic number so I can run my custom U-boot.

                Now I am having trouble with my PHY. I am not able to get my network up. At u-boot I get this error:

                Could not get PHY for cpsw: addr 0

                And at my kernel boot I get “PHY not found” error.

                How can I fix this issue?

                 

                Thank you,

                Samy

              • #6222
                Neeraj Dantu
                Moderator

                  Samy,

                  You can ignore the uboot error if you are not using ethernet at uboot. If you are unable to bring up the network after Linux boot, make sure you have the correct PHY address in the device tree. You can find the PHY address settings in the PHY datasheet. Here is an example of the PHY address setting on the Beaglebone Black device tree: https://github.com/RobertCNelson/dtb-rebuilder/blob/4.14-ti/src/arm/am335x-bone-common.dtsi#L421

                  Best,

                  Neeraj

                • #6224
                  Sam Absamy03
                  Participant

                    Neeraj,

                    I am using LAN8710 as my PHY and beaglebone also uses this PHY so I would assume it should work without making any change to this section of device tree. I have very little understanding of device tree. Can you please also explain what this line means:

                    phy_id = <&davinci_mdio>, <0>;

                    Is this supposed to look at PHYAD0?

                  • #6225
                    Neeraj Dantu
                    Moderator

                      Samy,

                      If you are using the same hardware configuration as Beaglebone Black (same circuit with PHY connected to AM335x on MII1 and MDIO interfaces), you should be able to bring up the network without modification to the Beagle image, since you already have the magic number in your EEPROM. Coming to your question, the line is setting the PHY address ‘0’, i.e., the kernel is going to look for an ethernet PHY at address ‘0’ on the MDIO interface for identification and driver load. Note that the address of the ethernet PHY can be set in hardware (See section 3.7 in LAN8710 datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/00002164B.pdf).

                      Can you attach your boot logs for a closer look at the error?

                      Neeraj

                    • #6226
                      Sam Absamy03
                      Participant

                        Neeraj,

                        I have attached boot log for my custom linux image that I created using buildroot.

                        Samy

                      • #6229
                        Neeraj Dantu
                        Moderator

                          Samy,

                          From the boot logs, it looks like the processor is unable to detect the ethernet PHY by probing the MDIO interface. We will be reaching out to you shortly for a closer look at your PHY hardware configuration.

                          Neeraj

                        • #6252
                          Sam Absamy03
                          Participant

                            Neeraj,

                            I was finally able to get my network up and running. It turns out MDIO pin on LAN8710 was not making a good connection on my board, and I just re-soldered it and it worked. I really appreciate you and everyone at Octavo systems for helping me out with this.

                            Thanks,

                            Samy

                        Viewing 10 reply threads
                        • You must be logged in to reply to this topic.