On Wed, 2012-05-09 at 10:38 -0500, Ashwin Bihari wrote: > > -----Original Message----- > > From: Tomi Valkeinen [mailto:tomi.valkeinen@xxxxxx] > > Sent: Wednesday, May 09, 2012 3:16 AM > > To: Ashwin Bihari > > Cc: linux-omap; Tony Lindgren > > Subject: Re: [PATCH 2/2] Add LCD support for the LogicPD OMAP3530 DevKits > > <snip> > > > > +static int omap3logic_panel_enable_lcd(struct omap_dss_device > > > +*dssdev) { > > > + gpio_set_value(LCD_PANEL_PWR, 1); > > > + if (machine_is_omap3530_lv_som()) > > > + gpio_set_value(OMAP3530_LV_SOM_BACKLIGHT_PWR, 1); > > > + else if (machine_is_omap3_torpedo()) { > > > + gpio_set_value(OMAP3530_TORPEDO_BACKLIGHT_PWR, 1); > > > + > > > + gpio_set_value(OMAP3530_TORPEDO_MDISP, 1); > > > + } > > > + > > > + return 0; > > > +} > > > + > > > +static int omap3logic_panel_disable_lcd(struct omap_dss_device > > > +*dssdev) { > > > + gpio_set_value(LCD_PANEL_PWR, 0); > > > + if (machine_is_omap3530_lv_som()) > > > + gpio_set_value(OMAP3530_LV_SOM_BACKLIGHT_PWR, 0); > > > + else if (machine_is_omap3_torpedo()) { > > > + gpio_set_value(OMAP3530_TORPEDO_BACKLIGHT_PWR, 0); > > > + > > > + gpio_set_value(OMAP3530_TORPEDO_MDISP, 0); > > > + } > > > + > > > + return 0; > > > +} > > > > This doesn't play well with device-tree. We can't do such callbacks when we > > move to DT. > > > > I know we have similar code for other boards, and this can't be properly fixed > > right now, but I'm still a bit hesitant to add more such code because I'm the > > one that has to clean it up later for DT =). > > > > I can handle the LCD_PANEL_PWR gpio, but the backlight is something that > > should be removed from the panel enable callbacks. You could look at > > drivers/video/backlight/ and see if there's something there that could be > > used for your board. Or implement a new BL driver, if nothing fits. > > > > Tomi > > Tomi, > > Let me take a look at your linux-omap-dss2 tree and learn a bit more about DT and figure out how to modify the LCD support so it better aligns with your work and I'll re-submit that patch again.. I haven't published any DT stuff yet. But there's the DT cleanup series I have posted, which tries to re-structure stuff for some displays to be more DT compatible. The basic idea is that with DT there are no board files, and all device specific configuration values are in the DT data. So GPIO numbers etc. are defined in the DT data, and the device driver will read them and use them. But DT support is not working yet, and we anyway need to support both DT and the old way for some time, so the board files should be changed to this direction. What this means for dss is that the panel specific GPIOs etc. need to be defined in a device specific struct, which is passed to the panel driver. For example, see my cleanup series, and include/video/omap-panel-tfp410.h, drivers/video/omap2/displays/panel-tfp410.c and the board files using that. All this is still a bit alive and changing, so you could also choose to wait a bit until things stabilize =). Tomi
Attachment:
signature.asc
Description: This is a digitally signed message part