On 01/21/2013 08:38 PM, Jeroen Hofstee wrote:
> Hello Nikita,>> +#define GFXFORMAT_ARGB32 0xC>>>> +#define GFXFORMAT_RGBA32 0xD>>>> +#define GFXFORMAT_RGBx32 0xE>>>> +>>>> +/* GFX burst size */>>>> +#define GFXBURSTSIZE4 0>>>> +#define GFXBURSTSIZE8 1>>>> +#define GFXBURSTSIZE16 2>>>> +>>>> /* Panel Configuration */>>>> struct panel_config {>>>> u32 timing_h;>>> most defines in omap dss use the location in the silicon itself.>>> For consistency you might want to shift these values to the>>> appropriate place. (or just use 32 mode so you can drop most>>> if not all of them)>>>>>>> These aren't offsets against a base address. These are input values>> for the various sections of the dss registers. For example>> the /* GFX burst size */ defines are values for>> DISPC_GFX_ATTRIBUTES[7:6].>>>> What I mean is that the defines currently in dss.h already shift the> values to the location where the hardware expects them, e.g..>> /* Configure VENC DSS Params */> #define VENC_CLK_ENABLE (1 << 3)> #define DAC_DEMEN (1 << 4)> #define DAC_POWERDN (1 << 5)> #define VENC_OUT_SEL (1 << 6)>> The defines you add are not shifted however, so after this patch half> of the defines need shifting, the other half does not. Thats confusing,> so macro's like>> #define GFXBURSTSIZE8 (1 << 6)>> is a better option in my opinion.
OK now I understand. Some of these could indeed be shifted, and I'll
do that in a V2, but LCD_INTERFACE_* and *_DISPLAY cannot be shifted,
because they are passed to a function that expects them to be unshifted
(omap3_dss_panel_config).
>> Regards,> Jeroen>