On Thu, 2011-06-23 at 10:21 +0200, Tony Lindgren wrote:
> * Tero Kristo <[email protected]> [110622 09:38]:
> > @@ -550,6 +550,8 @@ static void omap_uart_idle_init(struct omap_uart_state 
> > *uart)
> >     ret = request_threaded_irq(uart->irq, NULL, omap_uart_interrupt,
> >                                IRQF_SHARED, "serial idle", (void *)uart);
> >     WARN_ON(ret);
> > +   ret = omap_prcm_register_pad_irq(uart->padconf, uart->irq);
> > +   WARN_ON(ret);
> >  }
> 
> Argh, looks like we still have direct mux register tinkering in serial.c:
> 
> $ grep "padconf = 0x" serial.c
>                         padconf = 0x182;
>                         padconf = 0x17a;
>                         padconf = 0x19e;
>                         padconf = 0x0d2;
> 
> By deducting 0x30 from the values above, these map into the following mux 
> defines:
> 
> $ grep RX_OFFSET mux34xx.h
> #define OMAP3_CONTROL_PADCONF_UART2_RX_OFFSET                   0x14a
> #define OMAP3_CONTROL_PADCONF_UART1_RX_OFFSET                   0x152
> #define OMAP3_CONTROL_PADCONF_UART3_RX_IRRX_OFFSET              0x16e
> 
> So you can make things more generic by getting rid of those and using
> struct omap_mux_partition instead for omap_prcm_register_pad_irq.
> The pins used are set already in serial.c with omap_hwmod_mux_init.
> 
> Otherwise we have to patch the hardcoded padconf values for every new omap.
> And looks like we're already missing them for 44xx in serial.c.
> 
> Then access to the padconf registers should be done with
> omap_mux_read/write instead. If you need to do something more complex
> with them maybe consider adding some new functions to mux.c as needed.
> 

Padconf stuff is not that much related to this patch set yet (I am not
touching the serial padconf code), but I can probably take a look at
this also later on, unless you want this fixed with this set already?

> Regards,
> 
> Tony



Texas Instruments Oy, Tekniikantie 12, 02150 Espoo. Y-tunnus: 0115040-6. 
Kotipaikka: Helsinki
 

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

Reply via email to