Recent changes in AT91 kernel code causes USB to not work [WAS: r239214 - in head/sys: dev/usb dev/usb/controller sys]

From: Hans Petter Selasky <hselasky_at_c2i.net>
Date: Sun, 19 Aug 2012 18:32:39 +0200
Hi,

I'm trying to reproduce using "src/sys/KB920X arm".

So far the platform doesn't boot, because recent commits removed one ore more 
of these clocks:

        sc->sc_iclk = at91_pmc_clock_ref("udc_clk");
        sc->sc_fclk = at91_pmc_clock_ref("udpck");

So I get a crash at a NULL pointer when trying to access one of these clocks.

How to fix this?

I simply added a NULL check. Now the platform hangs when setting up the OHCI:

sys/dev/usb/controller/ohci_atmelarm.c

+       printf("CLOCK ON\n");
        at91_pmc_clock_enable(sc->iclk);
        at91_pmc_clock_enable(sc->fclk);
        bus_space_write_4(sc->sc_ohci.sc_io_tag, sc->sc_ohci.sc_io_hdl,
            OHCI_CONTROL, 0);

+       printf("INIT\n");

I see the clock ON printout, and then nothing more! Not sure if this is caused 
by IRQ's hanging or not.

Andrew Turner: Can you fix these issues so that I can reproduce?

--HPS
Received on Sun Aug 19 2012 - 14:32:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:29 UTC