[GSOC2009] Frame buffer support for PXA255 target of Skyeye simulator

xi yang hiyangxi at gmail.com
Mon Jul 27 23:41:31 UTC 2009


2009/7/28 Joel Sherrill <joel.sherrill at oarcorp.com>:
> Hi,
>
> With Roxana's work on a framebuffer driver interface this raises
> questions for me. This is the second FB driver in the tree so
> let's do it right.
>
> + This is now going to be a standard type of driver like
> an RTC, Clock or Console. We should have a
> CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
> in confdefs.h which means we need a standard
> framebuffer.h which defines the standard interface to
> this class of driver for configuration purposes.
> skyeye_fb.h is actually close to this .h file.
Yeah. Otherwise, we have to add drivers to driver table manually.
>
> + I have a feeling the LCD support in the BSP needs to
> be conditional on "ENABLE_LCD" and "on skyeye" for the
> skyeye specific variant. Unless the Skyeye and real hardware
> match for the LCD output. Then ENABLE_LCD is sufficient.
> You don't want the graphics memory area mapped unless the
> hardware is really there.
>
> + Does the testing script support enabling the LCD all the
> time imply that a graphics window always pops up?
> Most of the time we test automated with no graphics and
> in batch mode, so this would be bad. I think there needs
> to be an option to gdb-sim-run.in like -G for graphics enabled.
Graphics windows pops up only when we write enable register for LCD.
So, for other tests, it runs as without LCD.
>
> + The csb337 has an ENABLE_LCD option which I think now
> might need to be ENABLE_GRAPHICS_ADAPTER or something
> more generic like that. Especially since we should use the
> same configure variable name across BSPs.
>
> Just trying to come up with a standard cross-BSP approach to
> configuring and enabling the support.
>
> Just to be clear, there is nothing really wrong with this patch
> technically. I am just trying to think very very broad and long
> term. We want this all to go in right the first time. :)
yeah, it is better have a cross-bsp framework.
>
> --joel
>
> xi yang wrote:
>> Hi Joel, please adding "fb.h" and "skyeye_fb.h" to
>> "libbsp/arm/gumstix/fb/fb.h" "libbsp/arm/gumstix/fb/skyeye_fb.h".
>> Enable_lcd.patch is for gcc-testing
>> frambuffer.patch is for RTEMS
>>
>> * Enable LCD option for gumstix of gcc-tesging
>>
>> Index: sim-scripts/gumstix.in
>> ===================================================================
>> RCS file: /usr1/CVS/gcc-testing/sim-scripts/gumstix.in,v
>> retrieving revision 1.4
>> diff -u -r1.4 gumstix.in
>> --- sim-scripts/gumstix.in    10 Jul 2009 17:07:22 -0000      1.4
>> +++ sim-scripts/gumstix.in    26 Jul 2009 13:07:18 -0000
>> @@ -43,6 +43,7 @@
>>  mem_bank: map=I, type=RW, addr=0xB0000000, size=0x100000
>>  mem_bank: map=I, type=RW, addr=0x40000000, size=0x4C000000
>>  shutdown_device: addr=0xb0000000, max_ins=${limit}0000000
>> +lcd:state=on,type=pxa,mod=gtk
>>  EOF
>>  if [ ${coverage} = yes ] ; then
>>    echo "code_coverage: state=on, filename=${2}.cov, start=0xA0000000,
>> end=0xA4000000"
>>
>>
>>
>> *Frame buffer support for pxa255 target of SKYEYE simulator
>>
>> Index: c/src/lib/libbsp/arm/gumstix/ChangeLog
>> ===================================================================
>> RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog,v
>> retrieving revision 1.7
>> diff -u -r1.7 ChangeLog
>> --- c/src/lib/libbsp/arm/gumstix/ChangeLog    16 Jul 2009 23:18:12 -0000      1.7
>> +++ c/src/lib/libbsp/arm/gumstix/ChangeLog    26 Jul 2009 13:04:27 -0000
>> @@ -1,3 +1,9 @@
>> +2009-07-26   Xi Yang <hiyangxi at gmail.com>
>> +     * Makefile.am: Add fb/fb.c
>> +     * preinstall.am: Install skyeye_fb.h
>> +     * fb/fb.c, fb/skyeye_fb.h: Framebuffer support for skyeye simulator
>> +     * startup/memmap.c: Change the size of Map I/O to 1216M
>> +
>>  2009-07-16   Joel Sherrill <joel.sherrill at oarcorp.com>
>>
>>       * configure.ac: Rename BSP_BOOTCARD_OPTIONS to
>> Index: c/src/lib/libbsp/arm/gumstix/Makefile.am
>> ===================================================================
>> RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am,v
>> retrieving revision 1.4
>> diff -u -r1.4 Makefile.am
>> --- c/src/lib/libbsp/arm/gumstix/Makefile.am  10 Jul 2009 17:06:37 -0000      1.4
>> +++ c/src/lib/libbsp/arm/gumstix/Makefile.am  26 Jul 2009 13:04:27 -0000
>> @@ -40,6 +40,8 @@
>>  libbsp_a_SOURCES += console/uarts.c ../../shared/console.c
>>  #abort
>>  libbsp_a_SOURCES += ../shared/abort/abort.c
>> +#framebuffer
>> +libbsp_a_SOURCES += fb/fb.c
>>
>>  libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/shared/arm920.rel \
>>      ../../../libcpu/@RTEMS_CPU@/@RTEMS_CPU_MODEL@/clock.rel \
>> Index: c/src/lib/libbsp/arm/gumstix/preinstall.am
>> ===================================================================
>> RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/arm/gumstix/preinstall.am,v
>> retrieving revision 1.1
>> diff -u -r1.1 preinstall.am
>> --- c/src/lib/libbsp/arm/gumstix/preinstall.am        4 Jun 2009 16:23:11 -0000       1.1
>> +++ c/src/lib/libbsp/arm/gumstix/preinstall.am        26 Jul 2009 13:04:27 -0000
>> @@ -41,6 +41,10 @@
>>       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
>>  PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
>>
>> +$(PROJECT_INCLUDE)/rtems/skyeye_fb.h: fb/skyeye_fb.h
>> $(PROJECT_INCLUDE)/rtems/$(dirstamp)
>> +     $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/skyeye_fb.h
>> +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/skyeye_fb.h
>> +
>>  $(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
>>       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
>>  PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
>> Index: c/src/lib/libbsp/arm/gumstix/startup/memmap.c
>> ===================================================================
>> RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/arm/gumstix/startup/memmap.c,v
>> retrieving revision 1.1
>> diff -u -r1.1 memmap.c
>> --- c/src/lib/libbsp/arm/gumstix/startup/memmap.c     4 Jun 2009 16:23:11 -0000       1.1
>> +++ c/src/lib/libbsp/arm/gumstix/startup/memmap.c     26 Jul 2009 13:04:27 -0000
>> @@ -12,7 +12,7 @@
>>
>>  mmu_sect_map_t mem_map[] = {
>>  /*  <phys addr>  <virt addr> <size> <flags> */
>> -  {0x40000000, 0x40000000,  20,   MMU_CACHE_NONE},  /*Map I/O*/
>> +  {0x40000000, 0x40000000,  1216,   MMU_CACHE_NONE},  /*Map I/O*/
>>    {0xA0000000, 0x00000000,   1,   MMU_CACHE_NONE},  /*sram*/
>>    {0xA0000000, 0xA0000000,  64,   MMU_CACHE_WBACK}, /* SDRAM */
>>    {0x00000000, 0x00000000,   0,   0}                /* The end */
>> Index: c/src/lib/libcpu/arm/ChangeLog
>> ===================================================================
>> RCS file: /usr1/CVS/rtems/c/src/lib/libcpu/arm/ChangeLog,v
>> retrieving revision 1.61
>> diff -u -r1.61 ChangeLog
>> --- c/src/lib/libcpu/arm/ChangeLog    17 Jul 2009 13:52:16 -0000      1.61
>> +++ c/src/lib/libcpu/arm/ChangeLog    26 Jul 2009 13:04:28 -0000
>> @@ -1,3 +1,6 @@
>> +2009-07-26   Xi Yang <hiyangxi at gmail.com>
>> +     * pxa255/include/pxa255.h: Add LCD related registers
>> +
>>  2009-07-15   Sebastian Huber <sebastian.huber at embedded-brains.de>
>>
>>       * Makefile.am: Removed references to deleted file
>> Index: c/src/lib/libcpu/arm/pxa255/include/pxa255.h
>> ===================================================================
>> RCS file: /usr1/CVS/rtems/c/src/lib/libcpu/arm/pxa255/include/pxa255.h,v
>> retrieving revision 1.3
>> diff -u -r1.3 pxa255.h
>> --- c/src/lib/libcpu/arm/pxa255/include/pxa255.h      10 Jul 2009 15:34:12 -0000      1.3
>> +++ c/src/lib/libcpu/arm/pxa255/include/pxa255.h      26 Jul 2009 13:04:28 -0000
>> @@ -106,4 +106,24 @@
>>  #define PMC_PMNC_CCD (0x01 << 3)
>>  #define PMC_PMNC_PCD (0x01 << 4)
>>
>> +/*LCD*/
>> +#define LCCR0  (*(volatile word_t *)(0x44000000))
>> +#define LCCR1  (*(volatile word_t *)(0x44000004))
>> +#define LCCR2  (*(volatile word_t *)(0x44000008))
>> +#define LCCR3  (*(volatile word_t *)(0x4400000C))
>> +
>> +#define FDADR0  (*(volatile word_t *)(0x44000200))
>> +#define FSADR0  (*(volatile word_t *)(0x44000204))
>> +#define FIDR0   (*(volatile word_t *)(0x44000208))
>> +#define LDCMD0  (*(volatile word_t *)(0x4400020C))
>> +
>> +#define FDADR1  (*(volatile word_t *)(0x44000210))
>> +#define FSADR1  (*(volatile word_t *)(0x44000214))
>> +#define FIDR1   (*(volatile word_t *)(0x44000218))
>> +#define LDCMD1  (*(volatile word_t *)(0x4400021C))
>> +
>> +#define LCCR0_ENB       0x00000001
>> +#define LCCR1_PPL       0x000003FF
>> +#define LCCR2_LPP       0x000003FF
>> +#define LCCR3_BPP       0x07000000
>>  #endif
>>
>
>
> --
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>   Support Available             (256) 722-9985
>
>
>



More information about the users mailing list