Changeset 37e453e in umon


Ignore:
Timestamp:
Jul 3, 2015, 5:54:48 PM (4 years ago)
Author:
Jarielle Catbagan <jcatbagan93@…>
Branches:
master
Children:
a5f94c8
Parents:
fc86a28
git-author:
Jarielle Catbagan <jcatbagan93@…> (07/03/15 17:54:48)
git-committer:
Ed Sutter <edsutterjr@…> (07/05/15 01:12:17)
Message:

BBB: am335x.h: Fix/update

  • Fixed file header
  • Formatted code to be atleast below the 80 character limit
  • Incorporated defines for CM_WKUP registers
  • Included defines for UART0 RXD/TXD Control Module registers
  • Added defines for pad control bits
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ports/beagleboneblack/am335x.h

    rfc86a28 r37e453e  
    1 //==========================================================================
    2 //
    3 // am335x.h
    4 //
    5 // Author(s): Jarielle Catbagan
    6 // email: jcatbagan93@gmail.com
    7 //
    8 // Description:  This file was modified from omap3530.h. This file containes
    9 //                      register base addresses and offsets as well as access macros
    10 //                      for the AM335x/Beaglebone Black on-chip peripherals.
    11 //                      Peripherals not used by UMON have not been tested (and
    12 //                      may not be defined). Use these defines with caution!!
    13 //
    14 
    15 #ifndef _AM335X_H_
    16 #define _AM335X_H_
     1/**
     2 * @file
     3 *
     4 * @brief AM335x Register Base Addresses and Offsets
     5 *
     6 * @ingroup am335x
     7 */
     8
     9/*
     10 * Copyright (C) 2015 Jarielle Catbagan <jcatbagan93@gmail.com>
     11 *
     12 * The license and distribution terms for this file may be
     13 * found in the file LICENSE in this distribution or at
     14 * http://www.apache.org/licenses/LICENSE-2.0
     15 *
     16 *
     17 * Description: This file contains register base addresses and offsets as
     18 * well as access macros for the AM335x on-chip peripherals.  Peripherals
     19 * not used by Umon have not been test (and may not be defined). Use
     20 * these defines with caution!
     21 */
     22
     23#ifndef AM335X_H
     24#define AM335X_H
    1725
    1826#include "bits.h"
    1927
    2028
    21 /*=====================================================================================*/
     29/*===========================================================================*/
    2230/* AM335x device identification and feature enumeration */
    23 /*=====================================================================================*/
     31/*===========================================================================*/
    2432#define AM335X_DEVICE_IDENTIFICATION    0x44E10600
    2533#define AM335X_DEVICE_FEATURE           0x44E10604
    26 /*=====================================================================================*/
    27 
    28 
    29 /*=====================================================================================*/
     34/*===========================================================================*/
     35
     36
     37/*===========================================================================*/
    3038/* L3 and L4 Interconnects */
    31 /*=====================================================================================*/
     39/*===========================================================================*/
    3240#define L3F_CFG_REGS_BASE               0x44000000
    3341#define L3S_CFG_REGS_BASE               0x44800000
     
    3543#define L4_PER_BASE                     0x48000000
    3644#define L4_FAST_BASE                    0x4A000000
    37 /*=====================================================================================*/
    38 
    39 
    40 /*=====================================================================================*/
     45/*===========================================================================*/
     46
     47
     48/*===========================================================================*/
    4149/* EMIF0 Configuration Registers */
    42 /*=====================================================================================*/
     50/*===========================================================================*/
    4351#define EMIF0_BASE                      0x4C000000
    4452#define EMIFO_REG(_x_)                  *(vulong *)(EMIFO_BASE + _x_)
    45 /*-------------------------------------------------------------------------------------*/
     53/*---------------------------------------------------------------------------*/
    4654/* EMIFO Register offsets */
    4755#define EMIF_MOD_ID_REV                 0x0000
     
    8391#define CONN_ID_TO_CLASS_SRVC_2_MAP     0x0108
    8492#define RW_EXEC_THRESHOLD               0x0120
    85 /*=====================================================================================*/
    86 
    87 
    88 /*=====================================================================================*/
     93/*===========================================================================*/
     94
     95
     96/*===========================================================================*/
    8997/* McASPx Data Registers */
    90 /*=====================================================================================*/
     98/*===========================================================================*/
    9199#define MCASP0_DATA_REGS_BASE           0x46000000
    92100#define MCASP1_DATE_REGS_BASE           0x46400000
    93 /*=====================================================================================*/
    94 
    95 
    96 /*=====================================================================================*/
     101/*===========================================================================*/
     102
     103
     104/*===========================================================================*/
    97105/* L4_WKUP Peripherals */
    98 /*=====================================================================================*/
     106/*===========================================================================*/
    99107/* Clock Module Peripheral Registers */
    100108#define CM_PER_BASE                     (L4_WKUP_BASE + 0x00200000)
     
    175183#define RTCSS_REG(_x_)                  *(vulong *)(RTCSS_BASE + _x_)
    176184/* Debug Registers */
    177 #define DEBUGSS_HWMASTER1_BASE          (L4_WKUP_BASE + 0x00240000)
    178 #define DEBUGSS_HWMASTER1_REG(_x_)      *(vulong *)(DEBUGSS_HWMASTER1_BASE + _x_)
    179 /*=====================================================================================*/
    180 
    181 
    182 /*=====================================================================================*/
     185#define DEBUGSS_HWMSTR1_BASE            (L4_WKUP_BASE + 0x00240000)
     186#define DEBUGSS_HWMSTR1_REG(_x_)        *(vulong *)(DEBUGSS_HWMSTR1_BASE + _x_)
     187/*===========================================================================*/
     188
     189
     190/*===========================================================================*/
     191/* CM_WKUP Registers */
     192/*===========================================================================*/
     193#define CM_WKUP_CLKSTCTRL               0x00
     194#define CM_WKUP_CONTROL_CLKCTRL         0x04
     195#define CM_WKUP_GPIO0_CLKCTRL           0x08
     196#define CM_WKUP_L4WKUP_CLKCTRL          0x0C
     197#define CM_WKUP_TIMER0_CLKCTRL          0x10
     198#define CM_WKUP_DEBUGSS_CLKCTRL         0x14
     199#define CM_L3_AON_CLKSTCTRL             0x18
     200#define CM_AUTOIDLE_DPLL_MPU            0x1C
     201#define CM_IDLEST_DPLL_MPU              0x20
     202#define CM_SSC_DELTAMSTEP_DPLL_MPU      0x24
     203#define CM_SSC_MODFREQDIV_DPLL_MPU      0x28
     204#define CM_CLKSEL_DPLL_MPU              0x2C
     205#define CM_AUTOIDLE_DPLL_DDR            0x30
     206#define CM_IDLEST_DPLL_DDR              0x34
     207#define CM_SSC_DELTAMSTEP_DPLL_DDR      0x38
     208#define CM_SSC_MODFREQDIV_DPLL_DDR      0x3C
     209#define CM_CLKSEL_DPLL_DDR              0x40
     210#define CM_AUTOIDLE_DPLL_DISP           0x44
     211#define CM_IDLEST_DPLL_DISP             0x48
     212#define CM_SSC_DELTAMSTEP_DPLL_DISP     0x4C
     213#define CM_SSC_MODFREQDIV_DPLL_DISP     0x50
     214#define CM_CLKSEL_DPLL_DISP             0x54
     215#define CM_AUTOIDLE_DPLL_CORE           0x58
     216#define CM_IDLEST_DPLL_CORE             0x5C
     217#define CM_SSC_DELTAMSTEP_DPLL_CORE     0x60
     218#define CM_SSC_MODFREQDIV_DPLL_CORE     0x64
     219#define CM_CLKSEL_DPLL_CORE             0x68
     220#define CM_AUTOIDLE_DPLL_PER            0x6C
     221#define CM_IDLEST_DPLL_PER              0x70
     222#define CM_SSC_DELTAMSTEP_DPLL_PER      0x74
     223#define CM_SSC_MODFREQDIV_DPLL_PER      0x78
     224#define CM_CLKDCOLDO_DPLL_PER           0x7C
     225#define CM_DIV_M4_DPLL_CORE             0x80
     226#define CM_DIV_M5_DPLL_CORE             0x84
     227#define CM_CLKMODE_DPLL_MPU             0x88
     228#define CM_CLKMODE_DPLL_PER             0x8C
     229#define CM_CLKMODE_DPLL_CORE            0x90
     230#define CM_CLKMODE_DPLL_DDR             0x94
     231#define CM_CLKMODE_DPLL_DISP            0x98
     232#define CM_CLKSEL_DPLL_PERIPH           0x9C
     233#define CM_DIV_M2_DPLL_DDR              0xA0
     234#define CM_DIV_M3_DPLL_DISP             0xA4
     235#define CM_DIV_M3_DPLL_MPU              0xA8
     236#define CM_DIV_M3_DPLL_PER              0xAC
     237#define CM_WKUP_WKUP_M3_CLKCTRL         0xB0
     238#define CM_WKUP_UART0_CLKCTRL           0xB4
     239#define CM_WKUP_I2C0_CLKCTRL            0xB8
     240#define CM_WKUP_ADC_TSC_CLKCTRL         0xBC
     241#define CM_WKUP_SMARTREFLEX0_CLKCT      0xC0
     242#define CM_WKUP_TIMER1_CLKCTRL          0xC4
     243#define CM_WKUP_SMARTREFLEX1_CLKCT      0xC8
     244#define CM_L4_WKUP_AON_CLKSTCTRL        0xCC
     245#define CM_WKUP_WDT1_CLKCTRL            0xD4
     246#define CM_DIV_M6_DPLL_CORE             0xD8
     247/*===========================================================================*/
     248
     249
     250/*===========================================================================*/
     251/* Control Module Registers */
     252/*===========================================================================*/
     253#define CONF_UART0_RXD                  0x0970
     254#define CONF_UART0_TXD                  0x0974
     255/*===========================================================================*/
     256
     257
     258/*===========================================================================*/
     259/* Pad control bits: */
     260/*===========================================================================*/
     261#define SLEWSLOW                        (1 << 6)
     262#define SLEWFAST                        0
     263#define RX_ON                           (1 << 5)
     264#define RX_OFF                          0
     265#define PULLUP                          (1 << 4)
     266#define PULLDOWN                        0
     267#define PULL_OFF                        (1 << 3)
     268#define PULL_ON                         0
     269#define MUXMODE_0                       (0 & 7)
     270#define MUXMODE_1                       (1 & 7)
     271#define MUXMODE_2                       (2 & 7)
     272#define MUXMODE_3                       (3 & 7)
     273#define MUXMODE_4                       (4 & 7)
     274#define MUXMODE_5                       (5 & 7)
     275#define MUXMODE_6                       (6 & 7)
     276#define MUXMODE_7                       (7 & 7)
     277/*===========================================================================*/
     278
     279
     280/*===========================================================================*/
    183281/* L4_PER Peripherals */
    184 /*=====================================================================================*/
     282/*===========================================================================*/
    185283/* UART1 Registers */
    186284#define UART1_BASE                      (L4_PER_BASE + 0x00022000)
     
    300398#define LCD_CNTLR_BASE                  (L4_PER_BASE + 0x0030E000)
    301399#define LCD_CNTLR_REG(_x_)              *(vulong *)(LCD_CNTLR_BASE + _x_)
    302 /*=====================================================================================*/
    303 
    304 
    305 /*=====================================================================================*/
     400/*===========================================================================*/
     401
     402
     403/*===========================================================================*/
    306404/* L4_FAST Peripherals */
    307 /*=====================================================================================*/
     405/*===========================================================================*/
    308406#define L4_FAST_BASE                    0x4A000000
    309407/* Ethernet Switch Subsystem Registers */
     
    340438#define CPSW_WR_BASE                    (LF_FAST_BASE + 0x00101200)
    341439#define CPSW_WR_REG(_x_)                *(vulong *)(CPSW_WR_BASE + _x_)
    342 /*=====================================================================================*/
    343 
    344 
    345 /*=====================================================================================*/
     440/*===========================================================================*/
     441
     442
     443/*===========================================================================*/
    346444/* UART Register offsets */
    347 /*=====================================================================================*/
    348 #define UART_THR                        0x00    // Transmit Holding Register (write only)
    349 #define UART_RHR                        0x00    // Receive Holding Register (read only)
    350 #define UART_DLL                        0x00    // Baud divisor lower byte (read/write)     
    351 #define UART_IER                        0x04    // Interrupt Enable Register (read/write)               
    352 #define UART_DLH                        0x04    // Baud divisor higher byte (read/write)     
    353 #define UART_EFR                        0x08    // Enhanced Feature Register                   
    354 #define UART_IIR                        0x08    // Interrupt Identification Register (read only)       
    355 #define UART_FCR                        0x08    // FIFO Control Register (write only)   
    356 #define UART_LCR                        0x0C    // Line Control Register (read/write)           
    357 #define UART_MCR                        0x10    // Modem Control Register (read/write) 
    358 #define UART_XON1_ADDR1                 0x10    // XON1/ADDR1 Register
    359 #define UART_XON2_ADDR2                 0x14    // XON2/ADDR2 Register
    360 #define UART_LSR                        0x14    // Line Status Register (read only)             
    361 #define UART_TCR                        0x18    // Transmission Control Register
    362 #define UART_MSR                        0x18    // Modem Status Register (read only)
    363 #define UART_XOFF1                      0x18    // XOFF1 Register
    364 #define UART_SPR                        0x1C    // Scratch Pad Register (read/write)           
    365 #define UART_TLR                        0x1C    // Trigger Level Register
    366 #define UART_XOFF2                      0x1C    // XOFF2 Register
    367 #define UART_MDR1                       0x20    // Mode Definition Register 1           
    368 #define UART_MDR2                       0x24    // Mode Definition Register 2           
    369 #define UART_TXFLL                      0x28    // Transmit Frame Length Register Low (IrDA modes only)
    370 #define UART_SFLSR                      0x28    // Status FIFO Line Status Register (IrDA modes only)   
    371 #define UART_RESUME                     0x2C    // Resume Register (IR-IrDA and IR-CIR modes only)     
    372 #define UART_TXFLH                      0x2C    // Transmit Frame Length Register High (IrDA modes only
    373 #define UART_RXFLL                      0x30    // Receive Frame Length Register Low (IrDA modes only)
    374 #define UART_SFREGL                     0x30    // Status FIFO Register Low (IrDA modes only)
    375 #define UART_SFREGH                     0x34    // Status FIFO Register High (IrDA modes only)
    376 #define UART_RXFLH                      0x34    // Receive Frame Length Register High (IrDA modes only)
    377 #define UART_BLR                        0x38    // BOF Control Register (IrDA modes only)       
    378 #define UART_UASR                       0x38    // UART Autobauding Status Register
    379                                                 // (UART autobauding mode only)                 
    380 #define UART_ACREG                      0x3C    // Auxiliary Control Register (IrDA-CIR modes only)
    381 #define UART_SCR                        0x40    // Supplementary Control Register               
    382 #define UART_SSR                        0x44    // Supplementary Status Register       
    383 #define UART_EBLR                       0x48    // BOF Length Register (IR-IrDA and IR-CIR modes only)
    384 #define UART_MVR                        0x50    // Module Version Register
    385 #define UART_SYSC                       0x54    // System Configuration Register               
    386 #define UART_SYSS                       0x58    // System Status Register                       
    387 #define UART_WER                        0x5C    // Wake-up Enable Register                     
    388 #define UART_CFPS                       0x60    // Carrier Frequency Prescaler Register
    389 #define UART_RXFIFO_LVL                 0x64    // Received FIFO Level Register
    390 #define UART_TXFIFO_LVL                 0x68    // Transmit FIFO Level Register
    391 #define UART_IER2                       0x6C    // IER2 Register
    392 #define UART_ISR2                       0x70    // ISR2 Register
    393 #define UART_FREQ_SEL                   0x74    // FREQ_SEL Register
    394 #define UART_MDR3                       0x80    // Mode Definition Register 3
    395 #define UART_TX_DMA_THRESHOLD           0x84    // TX DMA Threshold Register
    396 /*=====================================================================================*/
    397 
    398 
    399 /*=====================================================================================*/
     445/*===========================================================================*/
     446        /* Transmit Holding Register (write only) */
     447#define UART_THR                0x00
     448        /* Receive Holding Register (read only) */
     449#define UART_RHR                0x00
     450        /* Baud divisor lower byte (read/write) */
     451#define UART_DLL                0x00
     452        /* Interrupt Enable Register (read/write) */
     453#define UART_IER                0x04
     454        /* Baud divisor higher byte (read/write) */
     455#define UART_DLH                0x04
     456        /* Enhanced Feature Register */
     457#define UART_EFR                0x08
     458        /* Interrupt Identification Register (read only) */
     459#define UART_IIR                0x08
     460        /* FIFO Control Register (write only) */
     461#define UART_FCR                0x08
     462        /* Line Control Register (read/write) */
     463#define UART_LCR                0x0C
     464        /* Modem Control Register (read/write) */
     465#define UART_MCR                0x10
     466        /* XON1/ADDR1 Register */
     467#define UART_XON1_ADDR1         0x10
     468        /* XON2/ADDR2 Register */
     469#define UART_XON2_ADDR2         0x14
     470        /* Line Status Register (read only) */
     471#define UART_LSR                0x14
     472        /* Transmission Control Register */
     473#define UART_TCR                0x18
     474        /* Modem Status Register (read only) */
     475#define UART_MSR                0x18
     476        /* XOFF1 Register */
     477#define UART_XOFF1              0x18
     478        /* Scratch Pad Register (read/write) */
     479#define UART_SPR                0x1C
     480        /* Trigger Level Register */
     481#define UART_TLR                0x1C
     482        /* XOFF2 Register */
     483#define UART_XOFF2              0x1C
     484        /* Mode Definition Register 1 */
     485#define UART_MDR1               0x20
     486        /* Mode Definition Register 2 */
     487#define UART_MDR2               0x24
     488        /* Transmit Frame Length Register Low (IrDA modes only) */
     489#define UART_TXFLL              0x28
     490        /* Status FIFO Line Status Register (IrDA modes only) */
     491#define UART_SFLSR              0x28
     492        /* Resume Register (IR-IrDA and IR-CIR modes only) */
     493#define UART_RESUME             0x2C
     494        /* Transmit Frame Length Register High (IrDA modes only) */
     495#define UART_TXFLH              0x2C
     496        /* Receive Frame Length Register Low (IrDA modes only) */
     497#define UART_RXFLL              0x30
     498        /* Status FIFO Register Low (IrDA modes only) */
     499#define UART_SFREGL             0x30
     500        /* Status FIFO Register High (IrDA modes only) */
     501#define UART_SFREGH             0x34
     502        /* Receive Frame Length Register High (IrDA modes only) */
     503#define UART_RXFLH              0x34
     504        /* BOF Control Register (IrDA modes only_ */
     505#define UART_BLR                0x38
     506        /* UART Autobauding Status Register (UART autobauding
     507           mode only */
     508#define UART_UASR               0x38
     509        /* Auxiliary Control Register (IrDA-CIR modes only) */
     510#define UART_ACREG              0x3C
     511        /* Supplementary Control Register */
     512#define UART_SCR                0x40
     513        /* Supplementary Status Register */
     514#define UART_SSR                0x44
     515        /* BOF Length Register (IR-IrDA and IR-CIR modes only) */
     516#define UART_EBLR               0x48
     517        /* Module Version Register */
     518#define UART_MVR                0x50
     519        /* System Configuration Register */
     520#define UART_SYSC               0x54
     521        /* System Status Register */
     522#define UART_SYSS               0x58
     523        /* Wake-up Enable Register */
     524#define UART_WER                0x5C
     525        /* Carrier Frequency Prescalar Register */
     526#define UART_CFPS               0x60
     527        /* Received FIFO Level Register */
     528#define UART_RXFIFO_LVL         0x64
     529        /* Transmit FIFO Level Register */
     530#define UART_TXFIFO_LVL         0x68
     531        /* IER2 Register */
     532#define UART_IER2               0x6C
     533        /* ISR2 Register */
     534#define UART_ISR2               0x70
     535        /* FREQ_SEL Register */
     536#define UART_FREQ_SEL           0x74
     537        /* Mode Definition Register 3 */
     538#define UART_MDR3               0x80
     539        /* TX DMA Threshold Register */
     540#define UART_TX_DMA_THRESHOLD   0x84
     541/*===========================================================================*/
     542
     543
     544/*===========================================================================*/
    400545/* USB */
    401 /*=====================================================================================*/
     546/*===========================================================================*/
    402547#define USB_SUBSYS_BASE_ADDR            0x47400000
    403 /*-------------------------------------------------------------------------------------*/
     548/*---------------------------------------------------------------------------*/
    404549/* USB Subsystem Registers offset */
    405550#define USBSS_BASE_REG_OFFSET           0x0000
     
    446591#define USBSS_IRQFRAMEENABLE0           0x0240
    447592#define USBSS_IRQFRAMEENABLE1           0x0244
    448 /*-------------------------------------------------------------------------------------*/
     593/*---------------------------------------------------------------------------*/
    449594/* USB Controller Registers offset  */
    450595#define USBCNTLR_USB0_BASE_REG_OFFSET   0x1000 /* USB0 */
     
    485630#define USBCNTLR_MGCUTMILB              0x00E4
    486631#define USBCNTLR_MODE                   0x00E8
    487 /*-------------------------------------------------------------------------------------*/
     632/*---------------------------------------------------------------------------*/
    488633/* USB PHY Registers offset */
    489634#define USBPHY_USB0_BASE_REG_OFFSET     0x1300 /* USB0 */
     
    507652#define USBPHY_AD_INTERFACE_REG3        0x004C
    508653#define USBPHY_ANA_CONFIG2              0x0054
    509 /*-------------------------------------------------------------------------------------*/
     654/*---------------------------------------------------------------------------*/
    510655/* USB Core Registers offset */
    511656#define USBCORE_USB0_BASE_REG_OFFSET    0x1400
    512657#define USBCORE_USB1_BASE_REG_OFFSET    0x1C00
    513 /*-------------------------------------------------------------------------------------*/
     658/*---------------------------------------------------------------------------*/
    514659/* USB CPPI DMA Controller Registers offset */
    515660#define USBCPPIDMACNTLR_BASE_REG_OFFSET 0x2000
     
    637782#define USBCPPIDMACNTLR_RXHPCRA29       0x0BAC
    638783#define USBCPPIDMACNTLR_RXHPCRB29       0x0BB0
    639 /*-------------------------------------------------------------------------------------*/
     784/*---------------------------------------------------------------------------*/
    640785/* USB CPPI DMA Scheduler Registers offset */
    641786#define USBCPPIDMASCHED_BASE_REG_OFFSET 0x3000
    642787#define USBCPPIDMASCHED_CNTL            0x0000
    643 /*-------------------------------------------------------------------------------------*/
     788/*---------------------------------------------------------------------------*/
    644789/* USB Queue Manager Registers offset */
    645790#define USBQUEUEMNGER_BASEREG_OFFSET    0x4000
     
    678823#define USBQUEUEMNGER_QMEMRBASE7        0x1070
    679824#define USBQUEUEMNGER_QMEMCNTL7         0x1074
    680 /*=====================================================================================*/
    681 
    682 
    683 /*=====================================================================================*/
     825/*===========================================================================*/
     826
     827
     828/*===========================================================================*/
    684829/* SPI */
    685 /*=====================================================================================*/
    686 #define MCSPI_REVISION                  0x0000  // Revision Register
    687 #define MCSPI_SYSCONFIG                 0x0110  // System Configuration Register
    688 #define MCSPI_SYSSTATUS                 0x0114  // System Status Register
    689 #define MCSPI_IRQSTATUS                 0x0118  // Interrupt Status Register offset
    690 /*-------------------------------------------------------------------------------------*/
     830/*===========================================================================*/
     831        /* Revision Register */
     832#define MCSPI_REVISION                  0x0000
     833        /* System Configuration Register */
     834#define MCSPI_SYSCONFIG                 0x0110
     835        /* System Status Register */
     836#define MCSPI_SYSSTATUS                 0x0114
     837        /* Interrupt Status Register offset */
     838#define MCSPI_IRQSTATUS                 0x0118
     839/*---------------------------------------------------------------------------*/
    691840/* Interrupt Status Register bit defines */
    692841#define MCSPI_IRQSTATUS_RX3_FULL        BIT14
    693842#define MCSPI_IRQSTATUS_TX3_UNDERFLOW   BIT13
    694 #define MCSPI_IRQSTATUS_TX3_EMPTY       BIT12                             
     843#define MCSPI_IRQSTATUS_TX3_EMPTY       BIT12
    695844#define MCSPI_IRQSTATUS_RX2_FULL        BIT10
    696845#define MCSPI_IRQSTATUS_TX2_UNDERFLOW   BIT9
    697 #define MCSPI_IRQSTATUS_TX2_EMPTY       BIT8                             
     846#define MCSPI_IRQSTATUS_TX2_EMPTY       BIT8
    698847#define MCSPI_IRQSTATUS_RX1_FULL        BIT6
    699848#define MCSPI_IRQSTATUS_TX1_UNDERFLOW   BIT5
     
    703852#define MCSPI_IRQSTATUS_TX0_UNDERFLOW   BIT1
    704853#define MCSPI_IRQSTATUS_TX0_EMPTY       BIT0
    705 #define MCSPI_IRQENABLE                 0x011C  // Interrupt Enable Register offset
    706 #define MCSPI_SYST                      0x0124  // System Register offset
    707 #define MCSPI_MODULCTRL                 0x0128  // Module Control Register offset
    708 /*-------------------------------------------------------------------------------------*/
     854        /* Interrupt Enable Register offset */
     855#define MCSPI_IRQENABLE                 0x011C
     856        /* System Register offset */
     857#define MCSPI_SYST                      0x0124
     858        /* Module Control Register offset */
     859#define MCSPI_MODULCTRL                 0x0128
     860/*---------------------------------------------------------------------------*/
    709861/* Configuration Registers offset */
    710 #define MCSPI_CH0CONF                   0x012C          // Channel 0 Configuration Register offset
    711 #define MCSPI_CH1CONF                   0x0140          // Channel 1 Configuration Register offset
    712 #define MCSPI_CH2CONF                   0x0154          // Channel 2 Configuration Register offset
    713 #define MCSPI_CH3CONF                   0x0168          // Channel 3 Configuration Register offset
     862
     863        /* Channel 0 Configuration Register offset */
     864#define MCSPI_CH0CONF                   0x012C
     865        /* Channel 1 Configuration Register offset */
     866#define MCSPI_CH1CONF                   0x0140
     867        /* Channel 2 Configuration Register offset */
     868#define MCSPI_CH2CONF                   0x0154
     869        /* Channel 3 Configuration Register offset */
     870#define MCSPI_CH3CONF                   0x0168
     871
     872
    714873/* Configuration Register bit defines */
    715 #define MCSPI_CHXCONF_CLKG              BIT29           // 1 = One clock cycle granularity
    716 #define MCSPI_CHXCONF_FFER              BIT28           // 1 = FIFO buffer is used to Receive data
    717 #define MCSPI_CHXCONF_FFEW              BIT27           // 1 = FIFO buffer is used to Transmit data
    718 #define MCSPI_CHXCONF_TCS_0_5           (0x00 << 25)    // 0.5 clock cycles between CS toggling and
    719                                                         // first (or last) edge of SPI clock
    720 #define MCSPI_CHXCONF_TCS_1_5           (0x01 << 25)    // 1.5 clock cycles between CS toggling and
    721                                                         // first (or last) edge of SPI clock
    722 #define MCSPI_CHXCONF_TCS_2_5           (0x02 << 25)    // 2.5 clock cycles between CS toggling and
    723                                                         // first (or last) edge of SPI clock
    724 #define MCSPI_CHXCONF_TCS_3_5           (0x03 << 25)    // 3.5 clock cycles between CS toggling and
    725                                                         // first (or last) edge of SPI clock
    726 #define MCSPI_CHXCONF_SBPOL             BIT24           // 1 = Start bit polarity is held to 1 during
    727                                                         // SPI transfer
    728 #define MCSPI_CHXCONF_SBE               BIT23           // 1 = Start bit added before SPI transfer,
    729                                                         // 0 = default length specified by WL
    730 #define MCSPI_CHXCONF_SPIENSLV_0        (0x00 << 21)    // Slave select detection enabled on CS0
    731 #define MCSPI_CHXCONF_SPIENSLV_1        (0x01 << 21)    // Slave select detection enabled on CS1
    732 #define MCSPI_CHXCONF_SPIENSLV_2        (0x02 << 21)    // Slave select detection enabled on CS2
    733 #define MCSPI_CHXCONF_SPIENSLV_3        (0x03 << 21)    // Slave select detection enabled on CS3
    734 #define MCSPI_CHXCONF_FORCE             BIT20           // 1 = CSx high when EPOL is 0 and low
    735                                                         // when EPOL is 1
    736 #define MCSPI_CHXCONF_TURBO             BIT19           // 1 = Turbo is activated
    737 #define MCSPI_CHXCONF_IS                BIT18           // 1 = spim_simo selected for reception,
    738                                                         // 0 = spim_somi selected for reception
    739 #define MCSPI_CHXCONF_DPE1              BIT17           // 1 = no transmission on spim_simo,
    740                                                         // 0 = spim_simo selected for transmission
    741 #define MCSPI_CHXCONF_DPE0              BIT16           // 1 = no transmission on spim_somi,
    742                                                         // 0 = spim_somi selected for transmission
    743 #define MCSPI_CHXCONF_DMAR              BIT15           // 1 = DMA read request enabled
    744 #define MCSPI_CHXCONF_DMAW              BIT14           // 1 = DMA write request enabled
    745 #define MCSPI_CHXCONF_TRM_TR            (0x00 << 12)    // Transmit and receive mode
    746 #define MCSPI_CHXCONF_TRM_RO            (0x01 << 12)    // Receive-only mode
    747 #define MCSPI_CHXCONF_TRM_TO            (0x02 << 12)    // Transmit-only mode
    748 #define MCSPI_CHXCONF_WL(_x_)           ((_x_ & 0x1f) << 7)     // SPI word length, 0x7 = 8-bit
    749 #define MCSPI_CHxCONF_EPOL              BIT6            // 1 = SPIM_CSx is low during active state,
    750                                                         // 0 = high during active state
    751 #define MCSPI_CHXCONF_CLKD(_x_)         ((_x_ & 0xf) << 2)      // Frequency divider for spim_clk
    752 #define MCSPI_CHXCONF_POL               BIT1            // 1 = spim_clk is low during active state,
    753                                                         // 0 = high during active state
    754 #define MCSPI_CHXCONF_PHA               BIT0            // 1 = data latched on even-numbered edges,
    755                                                         // 0 = data latched on odd-numbered edges       
    756 /*-------------------------------------------------------------------------------------*/
     874
     875        /* 1 = One clock cycle granularity */
     876#define MCSPI_CHXCONF_CLKG              BIT29
     877        /* 1 = FIFO buffer is used to Receive data */
     878#define MCSPI_CHXCONF_FFER              BIT28
     879        /* 1 = FIFO buffer is used to Transmit data */
     880#define MCSPI_CHXCONF_FFEW              BIT27
     881        /* 0.5 clock cycles between CS toggling and first (or last) edge
     882           of SPI clock */
     883#define MCSPI_CHXCONF_TCS_0_5           (0x00 << 25)
     884        /* 1.5 clock cycles between CS toggling and first (or last) edge
     885           of SPI clock */
     886#define MCSPI_CHXCONF_TCS_1_5           (0x01 << 25)
     887        /* 2.5 clock cycles between CS toggling and first (or last) edge
     888           of SPI clock */
     889#define MCSPI_CHXCONF_TCS_2_5           (0x02 << 25)
     890        /* 3.5 clock cycles between CS toggling and first (or last) edge
     891           of SPI clock */
     892#define MCSPI_CHXCONF_TCS_3_5           (0x03 << 25)
     893        /* 1 = Start bit polarity is held to 1 during SPI transfer */
     894#define MCSPI_CHXCONF_SBPOL             BIT24
     895        /* 1 = Start bit added before SPI transfer
     896           0 = default length specified by WL */
     897#define MCSPI_CHXCONF_SBE               BIT23
     898        /* Slave select detection enabled on CS0 */
     899#define MCSPI_CHXCONF_SPIENSLV_0        (0x00 << 21)
     900        /* Slave select detection enabled on CS1 */
     901#define MCSPI_CHXCONF_SPIENSLV_1        (0x01 << 21)
     902        /* Slave select detection enabled on CS2 */
     903#define MCSPI_CHXCONF_SPIENSLV_2        (0x02 << 21)
     904        /* Slave select detection enabled on CS3 */
     905#define MCSPI_CHXCONF_SPIENSLV_3        (0x03 << 21)
     906        /* 1 = CSx high when EPOL is 0 and low whel EPOL is 1 */
     907#define MCSPI_CHXCONF_FORCE             BIT20
     908        /* Turbo is activated */
     909#define MCSPI_CHXCONF_TURBO             BIT19
     910        /* 1 = spim_simo selected for reception
     911           0 = spim_somi selected for reception */
     912#define MCSPI_CHXCONF_IS                BIT18
     913        /* 1 = no transmission on spim_simo
     914           0 = spim_simo selected for transmission */
     915#define MCSPI_CHXCONF_DPE1              BIT17
     916        /* 1 = no transmission on spim_somi
     917           0 = spim_somi selected for transmission */
     918#define MCSPI_CHXCONF_DPE0              BIT16
     919        /* 1 = DMA read request enabled */
     920#define MCSPI_CHXCONF_DMAR              BIT15
     921        /* 1 = DMA write request enabled */
     922#define MCSPI_CHXCONF_DMAW              BIT14
     923        /* Transmit and receive mode */
     924#define MCSPI_CHXCONF_TRM_TR            (0x00 << 12)
     925        /* Receive-only mode */
     926#define MCSPI_CHXCONF_TRM_RO            (0x01 << 12)
     927        /* Transmit-only mode */
     928#define MCSPI_CHXCONF_TRM_TO            (0x02 << 12)
     929        /* SPI word length, 0x7 = 8-bit */
     930#define MCSPI_CHXCONF_WL(_x_)           ((_x_ & 0x1f) << 7)
     931        /* 1 = SPIM_CSx is low during active state,
     932           0 = high during active state */
     933#define MCSPI_CHxCONF_EPOL              BIT6
     934        /* Frequency divider for spim_clk */
     935#define MCSPI_CHXCONF_CLKD(_x_)         ((_x_ & 0xf) << 2)
     936        /* 1 = spim_clk is low during active state
     937           0 = high during active state */
     938#define MCSPI_CHXCONF_POL               BIT1
     939        /* 1 = data latched on even-numbered edges
     940           0 = data latched on odd-numbered edges */
     941#define MCSPI_CHXCONF_PHA               BIT0
     942/*---------------------------------------------------------------------------*/
    757943/* Status Registers offset */
    758944#define MCSPI_CH0STAT                   0x0130  // Channel 0 Status Register
     
    768954#define MCSPI_CHXSAT_TX0_EMPTY          BIT1
    769955#define MCSPI_CHXSAT_RX0_FULL           BIT0
    770 /*-------------------------------------------------------------------------------------*/
     956/*---------------------------------------------------------------------------*/
    771957/* Control Registers offset */
    772958#define MCSPI_CH0CTRL           0x0134  // Channel 0 Control Register offset
     
    774960#define MCSPI_CH2CTRL           0x015C  // Channel 2 Control Register offset
    775961#define MCSPI_CH3CTRL           0x0170  // Channel 3 Control Register offset
    776 /*-------------------------------------------------------------------------------------*/
     962/*---------------------------------------------------------------------------*/
    777963/* FIFO Buffer Registers offset */
    778 #define MCSPI_TX0               0x0138  // Channel 0 FIFO Transmit Buffer Register offset
    779 #define MCSPI_RX0               0x013C  // Channel 0 FIFO Receive Buffer Register offset
    780 #define MCSPI_TX1               0x014C  // Channel 1 FIFO Transmit Buffer Register offset
    781 #define MCSPI_RX1               0x0150  // Channel 1 FIFO Receive Buffer Register offset
    782 #define MCSPI_TX2               0x0160  // Channel 2 FIFO Transmit Buffer Register offset
    783 #define MCSPI_RX2               0x0164  // Channel 2 FIFO Receive Buffer Register offset
    784 #define MCSPI_TX3               0x0174  // Channel 3 FIFO Transmit Buffer Register offset
    785 #define MCSPI_RX3               0x0178  // Channel 3 FIFO Receive Buffer Register offset
    786 /*-------------------------------------------------------------------------------------*/
    787 #define MCSPI_XFERLEVEL         0x017C  // Transfer Levels Register
    788 #define MCSPI_DAFTX             0x0180  // DMA Address Aligned FIFO Transmitter Register
    789 #define MCSPI_DAFRX             0x01A0  // DMA Address Aligned FIFO Receiver Register
    790 /*=====================================================================================*/
    791 
    792 
    793 /*=====================================================================================*/
    794 /* General Purpose I/O */
    795 /*=====================================================================================*/
     964
     965        /* Channel 0 FIFO Transmit Buffer Register offset */
     966#define MCSPI_TX0               0x0138
     967        /* Channel 0 FIFO Receive Buffer Register offset */
     968#define MCSPI_RX0               0x013C
     969        /* Channel 1 FIFO Transmit Buffer Register offset */
     970#define MCSPI_TX1               0x014C
     971        /* Channel 1 FIFO Receive Buffer Register offset */
     972#define MCSPI_RX1               0x0150
     973        /* Channel 2 FIFO Transmit Buffer Register offset */
     974#define MCSPI_TX2               0x0160
     975        /* Channel 2 FIFO Receive Buffer Register offset */
     976#define MCSPI_RX2               0x0164
     977        /* Channel 3 FIFO Transmit Buffer Register offset */
     978#define MCSPI_TX3               0x0174
     979        /* Channel 3 FIFO Receive Buffer Register offset */
     980#define MCSPI_RX3               0x0178
     981/*---------------------------------------------------------------------------*/
     982        /* Transfer Levels Register */
     983#define MCSPI_XFERLEVEL         0x017C
     984        /* DMA Address Aligned FIFO Transmitter Register */
     985#define MCSPI_DAFTX             0x0180
     986        /* DMA Address Aligned FIFO Receiver Register */
     987#define MCSPI_DAFRX             0x01A0
     988/*===========================================================================*/
     989
     990
     991/*===========================================================================*/
     992/* General Purpose I/O */
     993/*===========================================================================*/
    796994/* GPIO0 Registers */
    797995#define GPIO0_BASE                      (L4_WKUP_BASE + 0x00207000)
     
    8061004#define GPIO3_BASE                      (L4_PER_BASE + 0x001AE000)
    8071005#define GPIO3_REG(_x_)                  *(vulong *)(GPIO3_BASE + _x_)
    808 /*-------------------------------------------------------------------------------------*/
     1006/*---------------------------------------------------------------------------*/
    8091007/* GPIOx Register offsets */
    8101008#define GPIOX_REVISION                  0x0000
     
    8341032#define GPIOX_CLEARDATAOUT              0x0190
    8351033#define GPIOX_SETDATAOUT                0x0194
    836 /*=====================================================================================*/
    837 
    838 
    839 /*=====================================================================================*/
     1034/*===========================================================================*/
     1035
     1036
     1037/*===========================================================================*/
    8401038/* Watchdog Timer */
    841 /*=====================================================================================*/
     1039/*===========================================================================*/
    8421040/* Watchdog Timer Registers offset*/
    8431041#define WDT1_BASE                       (L4_WKUP_BASE + 0x00235000)
    8441042#define WDT1_REG(_x_)                   *(vulong *)(WDT1_BASE + _x_)
    845 /*-------------------------------------------------------------------------------------*/
     1043/*---------------------------------------------------------------------------*/
    8461044/* WatchDog Timer Register offsets */
    847 #define WDT1_WIDR                       0x00    // Watchdog Identification Register
    848 #define WDT1_WDSC                       0x10    // Watchdog System Control Register
    849 #define WDT1_WDST                       0x14    // Watchdog Status Register
    850 #define WDT1_WISR                       0x18    // Watchdog Interrupt Status Register
    851 #define WDT1_WIER                       0x1C    // Watchdog Interrupt Enable Register
    852 #define WDT1_WCLR                       0x24    // Watchdog Control Register
    853 #define WDT1_WCRR                       0x28    // Watchdog Counter Register
    854 #define WDT1_WLDR                       0x2C    // Watchdog Load Register
    855 #define WDT1_WTGR                       0x30    // Watchdog Trigger Register
    856 #define WDT1_WWPS                       0x34    // Watchdog Write Posting Bits Register
    857 #define WDT1_WDLY                       0x44    // Watchdog Delay Configuration Register
    858 #define WDT1_WSPR                       0x48    // Watchdog Start/Stop Register
    859 #define WDT1_WIRQSTATRAW                0x54    // Watchdog Raw Interrupt Status Register
    860 #define WDT1_WIRQSTAT                   0x58    // Watchdog Interrupt Status Register
    861 #define WDT1_WIRQENSET                  0x5C    // Watchdog Interrupt Enable Set Register
    862 #define WDT1_WIRQENCLR                  0x60    // Watchdog Interrupt Enable Clear Register
    863 /*=====================================================================================*/
    864 
    865 
    866 /*=====================================================================================*/
     1045
     1046        /* Watchdow Identification Register */
     1047#define WDT1_WIDR                       0x00
     1048        /* Watchdog System Control Register */
     1049#define WDT1_WDSC                       0x10
     1050        /* Watchdog Status Register */
     1051#define WDT1_WDST                       0x14
     1052        /* Watchdog Interrupt Status Register */
     1053#define WDT1_WISR                       0x18
     1054        /* Watchdog Interrupt Enable Register */
     1055#define WDT1_WIER                       0x1C
     1056        /* Watchdog Control Register */
     1057#define WDT1_WCLR                       0x24
     1058        /* Watchdog Counter Register */
     1059#define WDT1_WCRR                       0x28
     1060        /* Watchdog Load Register */
     1061#define WDT1_WLDR                       0x2C
     1062        /* Watchdog Trigger Register */
     1063#define WDT1_WTGR                       0x30
     1064        /* Watchdog Write Posting Bits Register */
     1065#define WDT1_WWPS                       0x34
     1066        /* Watchdog Delay Configuration Register */
     1067#define WDT1_WDLY                       0x44
     1068        /* Watchdog Start/Stop Register */
     1069#define WDT1_WSPR                       0x48
     1070        /* Watchdog Raw Interrupt Status Register */
     1071#define WDT1_WIRQSTATRAW                0x54
     1072        /* Watchdog Interrupt Status Register */
     1073#define WDT1_WIRQSTAT                   0x58
     1074        /* Watchdog Interrupt Enable Set Register */
     1075#define WDT1_WIRQENSET                  0x5C
     1076        /* Watchdog Interrupt Enable Clear Register */
     1077#define WDT1_WIRQENCLR                  0x60
     1078/*===========================================================================*/
     1079
     1080
     1081/*===========================================================================*/
    8671082/* MMC */
    868 /*=====================================================================================*/
     1083/*===========================================================================*/
    8691084/* MMC Registers offset */
    8701085#define MMC1_BASE                       (L4_PER_BASE + 0x001D8000)
    8711086#define MMC1_REG(_x_)                   *(vulong *)(MMC1_BASE + _x_)
    872 /*-------------------------------------------------------------------------------------*/
     1087/*---------------------------------------------------------------------------*/
    8731088/* MMC Register offsets */
    874 #define SD_SYSCONFIG                    0x0110  // System Configuration
    875 #define SD_SYSSTATUS                    0x0114  // System Status
    876 #define SD_CSRE                         0x0124  // Card Status Response Error
    877 #define SD_SYSTEST                      0x0128  // System Test
    878 #define SD_CON                          0x012C  // Configuration
    879 #define SD_PWCNT                        0x0130  // Power Counter
    880 #define SD_SDMASA                       0x0200  // SDMA System Address
    881 #define SD_BLK                          0x0204  // Transfer Length Configuration
    882 #define SD_ARG                          0x0208  // Command Argument
    883 #define SD_CMD                          0x020C  // Command and Transfer Mode
    884 #define SD_RSP10                        0x0210  // Command Response 0 and 1
    885 #define SD_RSP32                        0x0214  // Command Response 2 and 3
    886 #define SD_RSP54                        0x0218  // Command Response 4 and 5
    887 #define SD_RSP76                        0x021C  // Command Response 6 and 7
    888 #define SD_DATA                         0x0220  // Data
    889 #define SD_PSTATE                       0x0224  // Present State
    890 #define SD_HCTL                         0x0228  // Host Control
    891 #define SD_SYSCTL                       0x022C  // SD System Control
    892 #define SD_STAT                         0x0230  // SD Interrupt Status
    893 #define SD_IE                           0x0234  // SD Interrupt Enable
    894 #define SD_ISE                          0x0238  // SD Interrupt Enable Set
    895 #define SD_AC12                         0x023C  // Auto CMD12 Error Status
    896 #define SD_CAPA                         0x0240  // Capabilities
    897 #define SD_CUR_CAPA                     0x0148  // Maximum Current Capabilities
    898 #define SD_FE                           0x0250  // Force Event
    899 #define SD_ADMAES                       0x0254  // ADMA Error Status
    900 #define SD_ADMASAL                      0x0258  // ADMA System Address Low bits
    901 #define SD_ADMASAH                      0x025C  // ADMA System Address High bits
    902 #define SD_REV                          0x02FC  // Versions
    903 /*=====================================================================================*/
    904 
    905 #endif /* _AM335X_H_ */
     1089
     1090        /* System Configuration */
     1091#define SD_SYSCONFIG                    0x0110
     1092        /* System Status */
     1093#define SD_SYSSTATUS                    0x0114
     1094        /* Card Status Response Error */
     1095#define SD_CSRE                         0x0124
     1096        /* System Test */
     1097#define SD_SYSTEST                      0x0128
     1098        /* Configuration */
     1099#define SD_CON                          0x012C
     1100        /* Power Counter */
     1101#define SD_PWCNT                        0x0130
     1102        /* SDMA System Address */
     1103#define SD_SDMASA                       0x0200
     1104        /* Transfer Length Configuration */
     1105#define SD_BLK                          0x0204
     1106        /* Command Argument */
     1107#define SD_ARG                          0x0208
     1108        /* Command and Transfer Mode */
     1109#define SD_CMD                          0x020C
     1110        /* Command Response 0 and 1 */
     1111#define SD_RSP10                        0x0210
     1112        /* Command Response 2 and 3 */
     1113#define SD_RSP32                        0x0214
     1114        /* Command Response 4 and 5 */
     1115#define SD_RSP54                        0x0218
     1116        /* Command Response 6 and 7 */
     1117#define SD_RSP76                        0x021C
     1118        /* Data */
     1119#define SD_DATA                         0x0220
     1120        /* Present State */
     1121#define SD_PSTATE                       0x0224
     1122        /* Host Control */
     1123#define SD_HCTL                         0x0228
     1124        /* SD System Control */
     1125#define SD_SYSCTL                       0x022C
     1126        /* SD Interrupt Status */
     1127#define SD_STAT                         0x0230
     1128        /* SD Interrupt Enable */
     1129#define SD_IE                           0x0234
     1130        /* SD Interrupt Enable Set */
     1131#define SD_ISE                          0x0238
     1132        /* Auto CMD12 Error Status */
     1133#define SD_AC12                         0x023C
     1134        /* Capabilities */
     1135#define SD_CAPA                         0x0240
     1136        /* Maximum Current Capabilities */
     1137#define SD_CUR_CAPA                     0x0148
     1138        /* Force Event */
     1139#define SD_FE                           0x0250
     1140        /* ADMA Error Status */
     1141#define SD_ADMAES                       0x0254
     1142        /* ADMA System Address Low bits */
     1143#define SD_ADMASAL                      0x0258
     1144        /* ADMA System Address High bits */
     1145#define SD_ADMASAH                      0x025C
     1146        /* Versions */
     1147#define SD_REV                          0x02FC
     1148/*===========================================================================*/
     1149
     1150#endif /* AM335X_H */
Note: See TracChangeset for help on using the changeset viewer.