Changeset de592aa6 in rtems


Ignore:
Timestamp:
Jan 19, 2010, 9:11:34 AM (11 years ago)
Author:
Thomas Doerfler <Thomas.Doerfler@…>
Branches:
4.10, 4.11, 5, master
Children:
f1eb199a
Parents:
1ba96ef9
Message:

tqm8xx BSP fixes

Location:
c/src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/tqm8xx/ChangeLog

    r1ba96ef9 rde592aa6  
     12010-01-18      Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
     2
     3        * configure.ac, console/console.c, include/bsp.h, irq/irq.c,
     4        spi/spi.c: various fixes
     5
    162009-12-16      Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
    27
  • c/src/lib/libbsp/powerpc/tqm8xx/configure.ac

    r1ba96ef9 rde592aa6  
    5252
    5353RTEMS_BSPOPTS_SET([CONS_SMC1_MODE],[tqm8xx_stk8xx],[CONS_MODE_POLLED])
    54 RTEMS_BSPOPTS_SET([CONS_SMC1_MODE],[pghplus],[CONS_MODE_POLLED])
     54RTEMS_BSPOPTS_SET([CONS_SMC1_MODE],[pghplus],[CONS_MODE_IRQ])
    5555RTEMS_BSPOPTS_SET([CONS_SMC1_MODE],[*],[CONS_MODE_UNUSED])
    5656RTEMS_BSPOPTS_HELP([CONS_SMC1_MODE],
     
    9090 interrupt driven (spooled) operation. Set it to CONS_MODE_UNUSED, if not used])
    9191
     92RTEMS_BSPOPTS_SET([SPI_BOARD_INIT_FNC],[pghplus],[bsp_pghplus_spi_init])
     93RTEMS_BSPOPTS_SET([SPI_BOARD_INIT_FNC],[*],[bsp_dummy_spi_init])
     94RTEMS_BSPOPTS_HELP([SPI_BOARD_INIT_FNC],
     95[(BSP--SPI board init function) Specify the function that inits the board
     96 port lines and further devices.])
     97
     98RTEMS_BSPOPTS_SET([SPI_SEND_STOP_FNC],[pghplus],[bsp_pghplus_spi_send_stop])
     99RTEMS_BSPOPTS_SET([SPI_SEND_STOP_FNC],[*],[bsp_dummy_spi_send_stop])
     100RTEMS_BSPOPTS_HELP([SPI_SEND_STOP_FNC],
     101[(BSP--SPI send stop function) Specify the function that deaddresses SPI
     102 devices. Set to bsp_dummy_spi_send_stop for dummy implementation])
     103
     104RTEMS_BSPOPTS_SET([SPI_SEND_ADDR_FNC],[pghplus],[bsp_pghplus_spi_sel_addr])
     105RTEMS_BSPOPTS_SET([SPI_SEND_ADDR_FNC],[*],[bsp_dummy_spi_sel_addr])
     106RTEMS_BSPOPTS_HELP([SPI_SEND_ADDR_FNC],
     107[(BSP--SPI send address function) Specify the function that addresses SPI
     108 devices. Set to bsp_dummy_spi_sel_addr for dummy implementation])
     109
    92110# add selection of primary network interface
    93111RTEMS_BSPOPTS_SET([BSP_USE_NETWORK_FEC],[pghplus],[1])
  • c/src/lib/libbsp/powerpc/tqm8xx/console/console.c

    r1ba96ef9 rde592aa6  
    500500mpc8xx_console_irq_on(const rtems_irq_connect_data *irq)
    501501{
    502     CHN_MASK_SET(irq->name,3);  /* Enable TX and RX interrupts */
     502    CHN_MASK_SET(irq->name - BSP_CPM_IRQ_LOWEST_OFFSET,
     503                 3);    /* Enable TX and RX interrupts */
    503504}
    504505
     
    506507mpc8xx_console_irq_off(const rtems_irq_connect_data *irq)
    507508{
    508     CHN_MASK_SET(irq->name,0);  /* Disable TX and RX interrupts */
     509    CHN_MASK_SET(irq->name - BSP_CPM_IRQ_LOWEST_OFFSET,
     510                 0);    /* Disable TX and RX interrupts */
    509511}
    510512
     
    512514mpc8xx_console_irq_isOn(const rtems_irq_connect_data *irq)
    513515{
    514   return (0 != CHN_MASK_GET(irq->name)); /* Check TX and RX interrupts */
     516  return (0 != CHN_MASK_GET(irq->name - BSP_CPM_IRQ_LOWEST_OFFSET)); /* Check TX and RX interrupts */
    515517}
    516518
  • c/src/lib/libbsp/powerpc/tqm8xx/include/bsp.h

    r1ba96ef9 rde592aa6  
    133133
    134134/*
     135 * SPI driver configuration
     136 */
     137
     138  /* select values for SPI addressing */
     139#define PGHPLUS_SPI_ADDR_EEPROM 0
     140#define PGHPLUS_SPI_ADDR_DISP4  1
     141  /* NOTE: DISP4 occupies two consecutive addresses for data and control port */
     142#define PGHPLUS_SPI_ADDR_DISP4_DATA  (PGHPLUS_SPI_ADDR_DISP4)
     143#define PGHPLUS_SPI_ADDR_DISP4_CTRL  (PGHPLUS_SPI_ADDR_DISP4_DATA+1)
     144
     145  /* bit masks for Port B lines */
     146#define PGHPLUS_PB_SPI_EEP_CE_MSK     (1<< 0)
     147#define PGHPLUS_PB_SPI_DISP4_RS_MSK   (1<<15)
     148#define PGHPLUS_PB_SPI_DISP4_CE_MSK   (1<<14)
     149/*
    135150 * our (internal) bus frequency
    136151 */
  • c/src/lib/libbsp/powerpc/tqm8xx/irq/irq.c

    r1ba96ef9 rde592aa6  
    5353{
    5454  rtems_vector_number vecnum = irqnum - BSP_CPM_IRQ_LOWEST_OFFSET;
    55   m8xx.cimr &= ~(1 << (31 - vecnum));
     55  m8xx.cimr &= ~(1 << (vecnum));
    5656  return RTEMS_SUCCESSFUL;
    5757}
     
    6060{
    6161  rtems_vector_number vecnum = irqnum - BSP_CPM_IRQ_LOWEST_OFFSET;
    62   m8xx.cimr |= (1 << (31 - vecnum));
     62  m8xx.cimr |= (1 << (vecnum));
    6363  return RTEMS_SUCCESSFUL;
    6464}
     
    194194   * make sure CPIC request proper level at SIU interrupt controller
    195195   */
    196   m8xx.cicr  = (0x00e41f00 |
     196  m8xx.cicr  = (0x00e41f80 |
    197197                ((BSP_CPM_INTERRUPT/2) << 13));
    198 
    199   return RTEMS_SUCCESSFUL;
     198  /*
     199   * enable CPIC interrupt in SIU interrupt controller
     200   */
     201  return bsp_irq_enable_at_SIU(BSP_CPM_INTERRUPT);
    200202}
    201203
  • c/src/lib/libbsp/powerpc/tqm8xx/spi/spi.c

    r1ba96ef9 rde592aa6  
    2020#include <bsp.h>
    2121#include <mpc8xx.h>
    22 #include "spi.h"
     22#include <bsp/spi.h>
     23#include <libchip/disp_hcms29xx.h>
    2324#include <rtems/error.h>
    2425#include <rtems/bspIo.h>
     
    626627| Function:                                                                 |
    627628\*-------------------------------------------------------------------------*/
    628 static rtems_status_code bsp_spi_sel_addr
     629static rtems_status_code bsp_dummy_spi_sel_addr
    629630(
    630631/*-------------------------------------------------------------------------*\
     
    640641/*-------------------------------------------------------------------------*\
    641642| Return Value:                                                             |
     643|    rtems_status_code                                                      |
     644\*=========================================================================*/
     645{                           
     646  return  RTEMS_SUCCESSFUL;
     647}
     648
     649/*=========================================================================*\
     650| Function:                                                                 |
     651\*-------------------------------------------------------------------------*/
     652static rtems_status_code bsp_dummy_spi_send_start
     653(
     654/*-------------------------------------------------------------------------*\
     655| Purpose:                                                                  |
     656|   dummy function, SPI has no start condition                              |
     657+---------------------------------------------------------------------------+
     658| Input Parameters:                                                         |
     659\*-------------------------------------------------------------------------*/
     660 rtems_libi2c_bus_t *bh                  /* bus specifier structure        */
     661)
     662/*-------------------------------------------------------------------------*\
     663| Return Value:                                                             |
    642664|    o = ok or error code                                                   |
    643665\*=========================================================================*/
    644666{
    645 #if defined(PGH360)
     667  return RTEMS_SUCCESSFUL;
     668}
     669
     670/*=========================================================================*\
     671| Function:                                                                 |
     672\*-------------------------------------------------------------------------*/
     673static rtems_status_code bsp_dummy_spi_send_stop
     674(
     675/*-------------------------------------------------------------------------*\
     676| Purpose:                                                                  |
     677|   deselect SPI                                                            |
     678+---------------------------------------------------------------------------+
     679| Input Parameters:                                                         |
     680\*-------------------------------------------------------------------------*/
     681 rtems_libi2c_bus_t *bh                  /* bus specifier structure        */
     682)
     683/*-------------------------------------------------------------------------*\
     684| Return Value:                                                             |
     685|    o = ok or error code                                                   |
     686\*=========================================================================*/
     687{
     688  return RTEMS_SUCCESSFUL;
     689}
     690
     691/*=========================================================================*\
     692| Function:                                                                 |
     693\*-------------------------------------------------------------------------*/
     694static rtems_status_code bsp_pghplus_spi_sel_addr
     695(
     696/*-------------------------------------------------------------------------*\
     697| Purpose:                                                                  |
     698|   address a slave device on the bus                                       |
     699+---------------------------------------------------------------------------+
     700| Input Parameters:                                                         |
     701\*-------------------------------------------------------------------------*/
     702 rtems_libi2c_bus_t *bh,                 /* bus specifier structure        */
     703 uint32_t addr,                          /* address to send on bus         */
     704 int rw                                  /* 0=write,1=read                 */
     705)
     706/*-------------------------------------------------------------------------*\
     707| Return Value:                                                             |
     708|    rtems_status_code                                                      |
     709\*=========================================================================*/
     710{                           
     711#if defined(PGHPLUS)
     712  pbdat_val = m8xx.pbdat | (PGHPLUS_SPI_PB_DISP4_RS_MSK |
     713                            PGHPLUS_SPI_PB_DISP4_CE_MSK |
     714                            PGHPLUS_SPI_PB_EEP_CE_MSK);
    646715  /*
    647716   * select given device
    648717   */
    649   /*
    650    * GPIO1[24] is SPI_A0
    651    * GPIO1[25] is SPI_A1
    652    * GPIO1[26] is SPI_A2
    653    * set pins to address
    654    */
    655718  switch(addr) {
    656   case PGH360_SPI_ADDR_EEPROM:
    657     m8xx.pbdat &= ~PGH360_PB_SPI_EEP_CE_MSK;
     719  case PGHPLUS_SPI_ADDR_EEPROM:
     720    pbdat_val &= ~PGHPLUS_SPI_PB_EEP_CE_MSK;
    658721    break;
    659   case PGH360_SPI_ADDR_DISP4_DATA:
    660     m8xx.pbdat = (m8xx.pbdat
    661                   & ~(PGH360_PB_SPI_DISP4_CE_MSK |
    662                       PGH360_PB_SPI_DISP4_RS_MSK));
     722  case PGHPLUS_SPI_ADDR_DISP4_DATA:
     723    pbdat_val = (m8xx.pbdat
     724                  & ~(PGHPLUS_PB_SPI_DISP4_CE_MSK |
     725                      PGHPLUS_PB_SPI_DISP4_RS_MSK));
    663726    break;
    664   case PGH360_SPI_ADDR_DISP4_CTRL:
    665     m8xx.pbdat = (m8xx.pbdat
    666                   & ~(PGH360_PB_SPI_DISP4_CE_MSK)
    667                   |   PGH360_PB_SPI_DISP4_RS_MSK);
     727  case PGHPLUS_SPI_ADDR_DISP4_CTRL:
     728    pbdat_val = (m8xx.pbdat
     729                  & ~(PGHPLUS_PB_SPI_DISP4_CE_MSK)
     730                  |   PGHPLUS_PB_SPI_DISP4_RS_MSK);
    668731    break;
    669732  default:
    670733    return RTEMS_INVALID_NUMBER;
    671734  }
    672 #endif /* PGH360 */
     735  m8xx_pbdat = pbdat_val
     736#endif /* PGHPLUS */
    673737  return  RTEMS_SUCCESSFUL;
    674738}
     
    677741| Function:                                                                 |
    678742\*-------------------------------------------------------------------------*/
    679 static rtems_status_code bsp_spi_send_start_dummy
    680 (
    681 /*-------------------------------------------------------------------------*\
    682 | Purpose:                                                                  |
    683 |   dummy function, SPI has no start condition                              |
     743static rtems_status_code bsp_pghplus_spi_send_stop
     744(
     745/*-------------------------------------------------------------------------*\
     746| Purpose:                                                                  |
     747|   deselect SPI                                                            |
    684748+---------------------------------------------------------------------------+
    685749| Input Parameters:                                                         |
     
    692756\*=========================================================================*/
    693757{
    694   return 0;
    695 }
    696 
    697 /*=========================================================================*\
    698 | Function:                                                                 |
    699 \*-------------------------------------------------------------------------*/
    700 static rtems_status_code bsp_spi_send_stop
    701 (
    702 /*-------------------------------------------------------------------------*\
    703 | Purpose:                                                                  |
    704 |   deselect SPI                                                            |
    705 +---------------------------------------------------------------------------+
    706 | Input Parameters:                                                         |
    707 \*-------------------------------------------------------------------------*/
    708  rtems_libi2c_bus_t *bh                  /* bus specifier structure        */
     758#if defined(DEBUG)
     759  printk("bsp_pghplus_spi_send_stop called... ");
     760#endif
     761    m8xx.pbdat = (m8xx.pbdat
     762                  | PGHPLUS_PB_SPI_DISP4_CE_MSK
     763                  | PGHPLUS_PB_SPI_EEP_CE_MSK);
     764#if defined(DEBUG)
     765  printk("... exit OK\r\n");
     766#endif
     767  return RTEMS_SUCCESSFUL;
     768}
     769
     770/*=========================================================================*\
     771| Function:                                                                 |
     772\*-------------------------------------------------------------------------*/
     773static rtems_status_code bsp_pghplus_spi_init
     774(
     775/*-------------------------------------------------------------------------*\
     776| Purpose:                                                                  |
     777|   do board specific init:                                                 |
     778|   - initialize pins for addressing                                        |
     779|   - register further drivers                                              |
     780+---------------------------------------------------------------------------+
     781| Input Parameters:                                                         |
     782\*-------------------------------------------------------------------------*/
     783 int spi_busno
    709784)
    710785/*-------------------------------------------------------------------------*\
     
    713788\*=========================================================================*/
    714789{
    715 #if defined(DEBUG)
    716   printk("bsp_spi_send_stop called... ");
    717 #endif
    718 #if defined(PGH360)
    719     m8xx.pbdat = (m8xx.pbdat
    720                   | PGH360_PB_SPI_DISP4_CE_MSK
    721                   | PGH360_PB_SPI_EEP_CE_MSK);
    722 #endif
     790  int ret_code;
     791
     792#if defined(DEBUG)
     793  printk("bsp_pghplus_spi_init called... ");
     794#endif
     795
     796  /*
     797   * init port pins used to address/select SPI devices
     798   */
     799
     800  /*
     801   * set up ports
     802   * LINE      PAR  DIR  DAT
     803   * -----------------------
     804   * EEP_CE     0    1 act-high
     805   * DISP4_CS   0    1 act-high
     806   * DISP4_RS   0    1 active
     807   */
     808
     809  /* set Port B Pin Assignment Register... */
     810  m8xx.pbpar =
     811    (m8xx.pbpar
     812     & ~(PGHPLUS_PB_SPI_EEP_CE_MSK
     813         | PGHPLUS_PB_SPI_DISP4_CE_MSK
     814         | PGHPLUS_PB_SPI_DISP4_RS_MSK));
     815
     816    /* set Port B Data Direction Register... */
     817  m8xx.pbdir =
     818    m8xx.pbdir
     819    | PGHPLUS_PB_SPI_EEP_CE_MSK
     820    | PGHPLUS_PB_SPI_DISP4_CE_MSK
     821    | PGHPLUS_PB_SPI_DISP4_RS_MSK;
     822
     823  /* set Port B Data Register to inactive CE state */
     824  m8xx.pbdat =
     825    m8xx.pbdat
     826    | PGHPLUS_PB_SPI_DISP4_CE_MSK
     827    | PGHPLUS_PB_SPI_DISP4_RS_MSK;
     828
     829  /*
     830   * register devices
     831   */
     832  ret_code = rtems_libi2c_register_drv("disp",
     833                                       disp_hcms29xx_driver_descriptor,
     834                                       spi_busno,PGHPLUS_SPI_ADDR_DISP4);
     835  if (ret_code < 0) {
     836    return -ret_code;
     837  }
     838
    723839#if defined(DEBUG)
    724840  printk("... exit OK\r\n");
    725841#endif
    726   return 0;
     842  return RTEMS_SUCCESSFUL;
     843}
     844
     845/*=========================================================================*\
     846| Function:                                                                 |
     847\*-------------------------------------------------------------------------*/
     848static rtems_status_code bsp_dummy_spi_init
     849(
     850/*-------------------------------------------------------------------------*\
     851| Purpose:                                                                  |
     852|   do board specific init:                                                 |
     853|   - initialize pins for addressing                                        |
     854|   - register further drivers                                              |
     855+---------------------------------------------------------------------------+
     856| Input Parameters:                                                         |
     857\*-------------------------------------------------------------------------*/
     858 int spi_busno
     859)
     860/*-------------------------------------------------------------------------*\
     861| Return Value:                                                             |
     862|    o = ok or error code                                                   |
     863\*=========================================================================*/
     864{
     865#if defined(DEBUG)
     866  printk("bsp_dummy_spi_init called... ");
     867#endif
     868
     869#if defined(DEBUG)
     870  printk("... exit OK\r\n");
     871#endif
     872  return RTEMS_SUCCESSFUL;
    727873}
    728874
     
    733879rtems_libi2c_bus_ops_t bsp_spi_ops = {
    734880  init:             m8xx_spi_init,
    735   send_start:       bsp_spi_send_start_dummy,
    736   send_stop:        bsp_spi_send_stop,
    737   send_addr:        bsp_spi_sel_addr,
     881  send_start:       bsp_dummy_spi_send_start,
     882  send_stop:        SPI_SEND_STOP_FNC,
     883  send_addr:        SPI_SEND_ADDR_FNC,
    738884  read_bytes:       m8xx_spi_read_bytes,
    739885  write_bytes:      m8xx_spi_write_bytes,
     
    781927  rtems_libi2c_initialize ();
    782928
    783   /*
    784    * init port pins used to address/select SPI devices
    785    */
    786 
    787 #if defined(PGH360)
    788 
    789   /*
    790    * set up ports
    791    * LINE      PAR  DIR  DAT
    792    * -----------------------
    793    * EEP_CE     0    1 act-high
    794    * DISP4_CS   0    1 act-high
    795    * DISP4_RS   0    1 active
    796    */
    797 
    798   /* set Port B Pin Assignment Register... */
    799   m8xx.pbpar =
    800     (m8xx.pbpar
    801      & ~(PGH360_PB_SPI_EEP_CE_MSK
    802          | PGH360_PB_SPI_DISP4_CE_MSK
    803          | PGH360_PB_SPI_DISP4_RS_MSK));
    804 
    805     /* set Port B Data Direction Register... */
    806   m8xx.pbdir =
    807     m8xx.pbdir
    808     | PGH360_PB_SPI_EEP_CE_MSK
    809     | PGH360_PB_SPI_DISP4_CE_MSK
    810     | PGH360_PB_SPI_DISP4_RS_MSK;
    811 
    812   /* set Port B Data Register to inactive CE state */
    813   m8xx.pbdat =
    814     m8xx.pbdat
    815     | PGH360_PB_SPI_DISP4_CE_MSK
    816     | PGH360_PB_SPI_DISP4_RS_MSK;
    817 #endif
    818929
    819930  /*
     
    826937  }
    827938  spi_busno = ret_code;
    828 #if defined(PGH360)
    829   /*
    830    * register devices
    831    */
    832 #if 0
    833   ret_code = rtems_libi2c_register_drv(RTEMS_BSP_SPI_FLASH_DEVICE_NAME,
    834                                        spi_flash_m25p40_rw_driver_descriptor,
    835                                        spi_busno,0x00);
    836   if (ret_code < 0) {
    837     return -ret_code;
    838   }
    839 #endif
    840 #endif /* defined(PGH360) */
     939
     940  SPI_BOARD_INIT_FNC(spi_busno);
    841941  /*
    842942   * FIXME: further drivers, when available
    843943   */
    844   return 0;
    845 }
    846 
    847 
     944  return RTEMS_SUCCESSFUL;
     945}
     946
     947
  • c/src/libchip/display/disp_hcms29xx.c

    r1ba96ef9 rde592aa6  
    3434#include <bsp.h>
    3535#include <rtems/libi2c.h>
    36 #include "disp_hcms29xx.h"
     36#include <libchip/disp_hcms29xx.h>
    3737#include "font_hcms29xx.h"
    3838#define FONT_BASE font_hcms29xx_base
     
    5959  .idle_char = 0
    6060};
     61
     62static disp_hcms29xx_drv_t disp_hcms29xx_drv_tbl;
    6163
    6264/*=========================================
     
    545547| Input Parameters:                                                         |
    546548\*-------------------------------------------------------------------------*/
    547    rtems_task_argument argument /* softc_ptr */
     549   rtems_task_argument argument
    548550)
    549551/*-------------------------------------------------------------------------*\
     
    556558  int disp_offset = 0;
    557559  rtems_id disp_hcms29xx_timer_id;
    558   disp_hcms29xx_drv_t *softc_ptr = (disp_hcms29xx_drv_t *)argument;
     560  disp_hcms29xx_drv_t *softc_ptr = &disp_hcms29xx_drv_tbl;
    559561
    560562  /*
     
    749751{
    750752  rtems_status_code rc = RTEMS_SUCCESSFUL;
    751   static char *devname = {"/dev/disp"};
    752   disp_hcms29xx_drv_t *softc_ptr = NULL;
    753   /*
    754    * FIXME: get softc_ptr
    755    */
     753  disp_hcms29xx_drv_t *softc_ptr = &disp_hcms29xx_drv_tbl;
    756754
    757755  /*
     
    804802  if (rc == RTEMS_SUCCESSFUL) {
    805803    rc = rtems_task_start(softc_ptr->disp_param.task_id,
    806                           disp_hcms29xx_update_task, 0 );
    807   }
    808   /*
    809    * Register the device
    810    */
    811   if (rc == RTEMS_SUCCESSFUL) {
    812     rc = rtems_io_register_name (devname, major, 0);
     804                          disp_hcms29xx_update_task,0);
    813805  }
    814806  return rc;
     
    835827\*=========================================================================*/
    836828{
    837   disp_hcms29xx_drv_t *softc_ptr = NULL;
    838   /*
    839    * FIXME: get softc_ptr
    840    */
     829  disp_hcms29xx_drv_t *softc_ptr = &disp_hcms29xx_drv_tbl;
    841830  /*
    842831   * ensure, that disp_hcms29xx device is assumed to be empty
     
    869858  rtems_libio_rw_args_t *args = arg;
    870859  uint32_t cnt;
    871   disp_hcms29xx_drv_t *softc_ptr = NULL;
    872   /*
    873    * FIXME: get softc_ptr
    874    */
     860  disp_hcms29xx_drv_t *softc_ptr = &disp_hcms29xx_drv_tbl;
    875861
    876862  for (cnt = 0;cnt < args->count;cnt++) {
     
    925911\*=========================================================================*/
    926912{
    927   disp_hcms29xx_drv_t *softc_ptr = NULL;
    928 
    929   /*
    930    * FIXME: get softc_ptr
    931    */
    932   return RTEMS_NOT_IMPLEMENTED;
    933 
    934   /* flush buffer, if not empty */
    935   if (softc_ptr->disp_param.dev_buf_cnt > 0) {
    936       softc_ptr->disp_param.dev_buffer[softc_ptr->disp_param.dev_buf_cnt] =
    937         '\0';
    938       /*
    939        * transfer string to display string, redisplay it...
    940        */
    941       disp_hcms29xx_update(softc_ptr,softc_ptr->disp_param.dev_buffer);
    942       softc_ptr->disp_param.dev_buf_cnt = 0;
    943   }
     913
    944914  return RTEMS_SUCCESSFUL;
    945915}
     916
     917/*
     918 * driver operation tables
     919 */
     920static rtems_driver_address_table disp_hcms29xx_ops = {
     921  initialization_entry: disp_hcms29xx_dev_initialize,
     922  open_entry:           disp_hcms29xx_dev_open,
     923  write_entry:          disp_hcms29xx_dev_write,
     924  close_entry:          disp_hcms29xx_dev_close
     925};
     926
     927
     928static disp_hcms29xx_drv_t disp_hcms29xx_drv_tbl = {
     929  {/* public fields */
     930  ops:         &disp_hcms29xx_ops,
     931  size:        sizeof (disp_hcms29xx_drv_t),
     932  },
     933  { /* our private fields */
     934  }
     935};
     936
     937rtems_libi2c_drv_t *disp_hcms29xx_driver_descriptor =
     938  &disp_hcms29xx_drv_tbl.libi2c_drv_entry;
     939
  • c/src/libchip/display/disp_hcms29xx.h

    r1ba96ef9 rde592aa6  
    3333
    3434  typedef struct {
    35     rtems_device_major_number minor;   /* minor device number            */
     35    rtems_device_minor_number minor;   /* minor device number            */
    3636    /*
    3737     * in the disp_buffer, the string to be displayed is placed
     
    6161   * pass this descriptor pointer to rtems_libi2c_register_drv
    6262   */
    63   extern rtems_libi2c_drv_t *disp_hcms29xx__driver_descriptor;
     63  extern rtems_libi2c_drv_t *disp_hcms29xx_driver_descriptor;
    6464
     65/*=========================================================================*\
     66| Function:                                                                 |
     67\*-------------------------------------------------------------------------*/
     68rtems_device_driver disp_hcms29xx_dev_initialize
     69  (
     70/*-------------------------------------------------------------------------*\
     71| Purpose:                                                                  |
     72|   prepare the display device driver to accept write calls                 |
     73|   register device with its name                                           |
     74+---------------------------------------------------------------------------+
     75| Input Parameters:                                                         |
     76\*-------------------------------------------------------------------------*/
     77  rtems_device_major_number  major,
     78  rtems_device_minor_number  minor,
     79  void                      *arg
     80   );
     81/*-------------------------------------------------------------------------*\
     82| Return Value:                                                             |
     83|    rtems_status_code                                                      |
     84\*=========================================================================*/
     85
     86/*=========================================================================*\
     87| Function:                                                                 |
     88\*-------------------------------------------------------------------------*/
     89rtems_device_driver disp_hcms29xx_dev_open
     90(
     91/*-------------------------------------------------------------------------*\
     92| Purpose:                                                                  |
     93|   open the display device                                                 |
     94+---------------------------------------------------------------------------+
     95| Input Parameters:                                                         |
     96\*-------------------------------------------------------------------------*/
     97  rtems_device_major_number  major,
     98  rtems_device_minor_number  minor,
     99  void                      *arg
     100 );
     101/*-------------------------------------------------------------------------*\
     102| Return Value:                                                             |
     103|    rtems_status_code                                                      |
     104\*=========================================================================*/
     105
     106/*=========================================================================*\
     107| Function:                                                                 |
     108\*-------------------------------------------------------------------------*/
     109rtems_device_driver disp_hcms29xx_dev_write
     110(
     111/*-------------------------------------------------------------------------*\
     112| Purpose:                                                                  |
     113|   write to display device                                                 |
     114+---------------------------------------------------------------------------+
     115| Input Parameters:                                                         |
     116\*-------------------------------------------------------------------------*/
     117  rtems_device_major_number  major,
     118  rtems_device_minor_number  minor,
     119  void                      *arg
     120 );
     121/*-------------------------------------------------------------------------*\
     122| Return Value:                                                             |
     123|    rtems_status_code                                                      |
     124\*=========================================================================*/
     125
     126/*=========================================================================*\
     127| Function:                                                                 |
     128\*-------------------------------------------------------------------------*/
     129rtems_device_driver disp_hcms29xx_dev_close
     130(
     131/*-------------------------------------------------------------------------*\
     132| Purpose:                                                                  |
     133|   close the display device                                                |
     134+---------------------------------------------------------------------------+
     135| Input Parameters:                                                         |
     136\*-------------------------------------------------------------------------*/
     137  rtems_device_major_number  major,
     138  rtems_device_minor_number  minor,
     139  void                      *arg
     140 );
     141/*-------------------------------------------------------------------------*\
     142| Return Value:                                                             |
     143|    rtems_status_code                                                      |
     144\*=========================================================================*/
     145
     146#define DISP_HCMS29XX_DRIVER {                  \
     147    disp_hcms29xx_dev_initialize,               \
     148      disp_hcms29xx_dev_open,                   \
     149      NULL,                                     \
     150      disp_hcms29xx_dev_write,                  \
     151      NULL,                                     \
     152      disp_hcms29xx_dev_close}
     153 
     154   
    65155#ifdef __cplusplus
    66156}
  • c/src/libchip/display/font_hcms29xx.c

    r1ba96ef9 rde592aa6  
    15611561};
    15621562
    1563 const struct disp_font_base font_base_hp_fixed_5_7 = {
     1563const struct disp_font_base font_hcms29xx_base = {
    15641564  1,               /* trans */
    15651565  {5, 7, 0, -1},  /* fbb w, h, x, y */
  • c/src/libchip/display/font_hcms29xx.h

    r1ba96ef9 rde592aa6  
    3232#endif
    3333
    34 extern disp_font_t font_hcms29xx;
    35 
    3634extern struct disp_font_base font_hcms29xx_base;
    3735
Note: See TracChangeset for help on using the changeset viewer.