LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Openrisc > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: György 'nog' Jeney<nog@s...>
    Date: Sun May 29 17:54:22 CEST 2005
    Subject: [openrisc] [or1ksim #103] UART: Use proper types [5/6]
    Top
    Hi,

    This makes the uart use proper types instead of useing `long' for nearly
    everything.

    ChangeLog:
    * Use proper types.

    nog.
    -------------- next part --------------
    --- peripheral/16450.c 2005-05-29 15:45:44.000000000 +0200
    +++ ../or1ksim-ac/peripheral/16450.c 2005-05-29 15:46:31.000000000 +0200
    @@ -369,7 +369,7 @@ void uart_char_clock(void *dat)
    {
    struct dev_16450 *uart = dat;

    - TRACE("Sending data in shift reg: 0x%02lx\n", uart->iregs.txser);
    + TRACE("Sending data in shift reg: 0x%02"PRIx8"\n", uart->iregs.txser);
    /* We've sent all bits */
    send_char(uart, (uart->regs.lcr & UART_LCR_WLEN8) + 5);

    @@ -411,7 +411,7 @@ void uart_tx_send(void *dat)
    uart->istat.txbuf_full--;
    uart->regs.lsr &= ~UART_LSR_TXSERE;

    - TRACE("Moveing head of TX fifo (fill: %i) to shift reg 0x%02lx\n",
    + TRACE("Moveing head of TX fifo (fill: %i) to shift reg 0x%02"PRIx8"\n",
    uart->istat.txbuf_full, uart->iregs.txser);

    /* Schedules a char_clock to run in the correct amount of time */
    @@ -927,7 +940,8 @@ void uart_status(void *dat)
    PRINTF("SCR : %.2x\n", uart->regs.scr);

    PRINTF("\nInternal registers (sim debug):\n");
    - PRINTF("RXSER: %.2lx TXSER: %.2lx\n", uart->iregs.rxser, uart->iregs.txser);
    + PRINTF("RXSER: %.2"PRIx16" TXSER: %.2"PRIx8"\n", uart->iregs.rxser,
    + uart->iregs.txser);

    PRINTF("\nInternal status (sim debug):\n");
    PRINTF("char_clks: %ld\n", uart->char_clks);
    --- peripheral/16450.h 2005-05-29 15:27:12.000000000 +0200
    +++ ../or1ksim-ac/peripheral/16450.h 2005-05-29 10:35:36.000000000 +0200
    @@ -34,23 +34,23 @@ void uart_status();

    struct dev_16450 {
    struct {
    - unsigned txbuf[UART_MAX_FIFO_LEN];
    - unsigned rxbuf[UART_MAX_FIFO_LEN];
    - unsigned char dll;
    - unsigned char dlh;
    - unsigned char ier;
    - unsigned char iir;
    - unsigned char fcr;
    - unsigned char lcr;
    - unsigned char mcr;
    - unsigned char lsr;
    - unsigned char msr;
    - unsigned char scr;
    + uint8_t txbuf[UART_MAX_FIFO_LEN];
    + uint16_t rxbuf[UART_MAX_FIFO_LEN]; /* Upper 8-bits is the LCR modifier */
    + uint8_t dll;
    + uint8_t dlh;
    + uint8_t ier;
    + uint8_t iir;
    + uint8_t fcr;
    + uint8_t lcr;
    + uint8_t mcr;
    + uint8_t lsr;
    + uint8_t msr;
    + uint8_t scr;
    } regs; /* Visible registers */
    struct {
    - unsigned long txser; /* Character just sending */
    - unsigned long rxser; /* Character just receiving */
    - unsigned char loopback;
    + uint8_t txser; /* Character just sending */
    + uint16_t rxser; /* Character just receiving */
    + uint8_t loopback;
    } iregs; /* Internal registers */
    struct {
    int txbuf_head;
    @@ -70,8 +70,8 @@ struct dev_16450 {
    /* VAPI internal registers */
    struct {
    unsigned long char_clks;
    - int dll, dlh;
    - int lcr;
    + uint8_t dll, dlh;
    + uint8_t lcr;
    int skew;
    } vapi;

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.