[U-Boot] [PATCH 1/5] omap3: add useful dss defines

Nikita Kiryanov
2013-01-23T08:23:01Z

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
>

--
Regards,
Nikita.