Changeset a4d34dd2 in rtems


Ignore:
Timestamp:
Jul 18, 1998, 5:47:50 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
91f16d5
Parents:
f8a5d54e
Message:

Added z85c30 specific probe routine to decide what the clock rate was.

This routines could be enhanced to determine if the SCC is present
since it appears from the DY-4 manual that a status registers indicates
this.

Location:
c/src/lib/libbsp/powerpc/dmv177/console
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/dmv177/console/config.c

    rf8a5d54e ra4d34dd2  
    142142#endif
    143143
     144boolean dmv177_z85c30_probe(int minor);
     145
    144146console_tbl     Console_Port_Tbl[] = {
     147#if (0)
    145148        {
    146149                "/dev/com0",                    /* sDeviceName */
     
    181184                DMV170_DUART_IRQ                /* ulIntVector */
    182185        },
     186#endif
    183187        {
    184188                "/dev/com3",                    /* sDeviceName */
    185189                SERIAL_Z85C30,                  /* deviceType */
    186190                Z85C30_FUNCTIONS,               /* pDeviceFns */
    187                 NULL,                           /* deviceProbe */
     191                dmv177_z85c30_probe,            /* deviceProbe */
    188192                NULL,                           /* pDeviceFlow */
    189193                16,                             /* ulMargin */
     
    197201                z85c30_get_data,                /* getData */
    198202                z85c30_set_data,                /* setData */
    199                 Z85C30_CLOCK,                   /* ulClock */
     203                0, /* filled in by probe */     /* ulClock */
    200204                DMV170_SCC_IRQ                  /* ulIntVector */
    201205        },
     
    204208                SERIAL_Z85C30,                  /* deviceType */
    205209                Z85C30_FUNCTIONS,               /* pDeviceFns */
    206                 NULL,                           /* deviceProbe */
     210                dmv177_z85c30_probe,            /* deviceProbe */
    207211                NULL,                           /* pDeviceFlow */
    208212                16,                             /* ulMargin */
     
    216220                z85c30_get_data,                /* getData */
    217221                z85c30_set_data,                /* setData */
    218                 Z85C30_CLOCK,                   /* ulClock */
     222                0, /* filled in by probe */     /* ulClock */
    219223                DMV170_SCC_IRQ                  /* ulIntVector */
    220224        }
     
    232236
    233237rtems_device_minor_number  Console_Port_Minor;
     238
     239boolean dmv177_z85c30_probe(int minor)
     240{
     241  volatile unsigned32 *dma_control_status_reg;
     242
     243  /*
     244   *  Figure out the clock speed of the Z85C30 SCC
     245   */
     246
     247  dma_control_status_reg = DMV170_DMA_CONTROL_STATUS_REG;
     248
     249  if ( *dma_control_status_reg & DMV170_SCC_10MHZ )
     250    Console_Port_Tbl[minor].ulClock = Z85C30_CLOCK_10;
     251  else
     252    Console_Port_Tbl[minor].ulClock = Z85C30_CLOCK_2;
     253
     254  return TRUE;
     255}
  • c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c

    rf8a5d54e ra4d34dd2  
    142142#endif
    143143
     144boolean dmv177_z85c30_probe(int minor);
     145
    144146console_tbl     Console_Port_Tbl[] = {
     147#if (0)
    145148        {
    146149                "/dev/com0",                    /* sDeviceName */
     
    181184                DMV170_DUART_IRQ                /* ulIntVector */
    182185        },
     186#endif
    183187        {
    184188                "/dev/com3",                    /* sDeviceName */
    185189                SERIAL_Z85C30,                  /* deviceType */
    186190                Z85C30_FUNCTIONS,               /* pDeviceFns */
    187                 NULL,                           /* deviceProbe */
     191                dmv177_z85c30_probe,            /* deviceProbe */
    188192                NULL,                           /* pDeviceFlow */
    189193                16,                             /* ulMargin */
     
    197201                z85c30_get_data,                /* getData */
    198202                z85c30_set_data,                /* setData */
    199                 Z85C30_CLOCK,                   /* ulClock */
     203                0, /* filled in by probe */     /* ulClock */
    200204                DMV170_SCC_IRQ                  /* ulIntVector */
    201205        },
     
    204208                SERIAL_Z85C30,                  /* deviceType */
    205209                Z85C30_FUNCTIONS,               /* pDeviceFns */
    206                 NULL,                           /* deviceProbe */
     210                dmv177_z85c30_probe,            /* deviceProbe */
    207211                NULL,                           /* pDeviceFlow */
    208212                16,                             /* ulMargin */
     
    216220                z85c30_get_data,                /* getData */
    217221                z85c30_set_data,                /* setData */
    218                 Z85C30_CLOCK,                   /* ulClock */
     222                0, /* filled in by probe */     /* ulClock */
    219223                DMV170_SCC_IRQ                  /* ulIntVector */
    220224        }
     
    232236
    233237rtems_device_minor_number  Console_Port_Minor;
     238
     239boolean dmv177_z85c30_probe(int minor)
     240{
     241  volatile unsigned32 *dma_control_status_reg;
     242
     243  /*
     244   *  Figure out the clock speed of the Z85C30 SCC
     245   */
     246
     247  dma_control_status_reg = DMV170_DMA_CONTROL_STATUS_REG;
     248
     249  if ( *dma_control_status_reg & DMV170_SCC_10MHZ )
     250    Console_Port_Tbl[minor].ulClock = Z85C30_CLOCK_10;
     251  else
     252    Console_Port_Tbl[minor].ulClock = Z85C30_CLOCK_2;
     253
     254  return TRUE;
     255}
Note: See TracChangeset for help on using the changeset viewer.