| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117 |
- //*****************************************************************************
- //
- // Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
- //
- //
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- //
- // Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions and the following disclaimer in the
- // documentation and/or other materials provided with the
- // distribution.
- //
- // Neither the name of Texas Instruments Incorporated nor the names of
- // its contributors may be used to endorse or promote products derived
- // from this software without specific prior written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- //
- //*****************************************************************************
- #ifndef __HW_COMMON_REG_H__
- #define __HW_COMMON_REG_H__
- //*****************************************************************************
- //
- // The following are defines for the COMMON_REG register offsets.
- //
- //*****************************************************************************
- #define COMMON_REG_O_I2C_Properties_Register \
- 0x00000000
- #define COMMON_REG_O_SPI_Properties_Register \
- 0x00000004
- #define COMMON_REG_O_APPS_sh_resource_Interrupt_enable \
- 0x0000000C
- #define COMMON_REG_O_APPS_sh_resource_Interrupt_status \
- 0x00000010
- #define COMMON_REG_O_NWP_sh_resource_Interrupt_enable \
- 0x00000014
- #define COMMON_REG_O_NWP_sh_resource_Interrupt_status \
- 0x00000018
- #define COMMON_REG_O_Flash_ctrl_reg \
- 0x0000001C
- #define COMMON_REG_O_Bus_matrix_M0_segment_access_config \
- 0x00000024
- #define COMMON_REG_O_Bus_matrix_M1_segment_access_config \
- 0x00000028
- #define COMMON_REG_O_Bus_matrix_M2_segment_access_config \
- 0x0000002C
- #define COMMON_REG_O_Bus_matrix_M3_segment_access_config \
- 0x00000030
- #define COMMON_REG_O_Bus_matrix_M4_segment_access_config \
- 0x00000034
- #define COMMON_REG_O_Bus_matrix_M5_segment_access_config \
- 0x00000038
- #define COMMON_REG_O_GPIO_properties_register \
- 0x0000003C
- #define COMMON_REG_O_APPS_NW_SEMAPHORE1 \
- 0x00000040
- #define COMMON_REG_O_APPS_NW_SEMAPHORE2 \
- 0x00000044
- #define COMMON_REG_O_APPS_NW_SEMAPHORE3 \
- 0x00000048
- #define COMMON_REG_O_APPS_NW_SEMAPHORE4 \
- 0x0000004C
- #define COMMON_REG_O_APPS_NW_SEMAPHORE5 \
- 0x00000050
- #define COMMON_REG_O_APPS_NW_SEMAPHORE6 \
- 0x00000054
- #define COMMON_REG_O_APPS_NW_SEMAPHORE7 \
- 0x00000058
- #define COMMON_REG_O_APPS_NW_SEMAPHORE8 \
- 0x0000005C
- #define COMMON_REG_O_APPS_NW_SEMAPHORE9 \
- 0x00000060
- #define COMMON_REG_O_APPS_NW_SEMAPHORE10 \
- 0x00000064
- #define COMMON_REG_O_APPS_NW_SEMAPHORE11 \
- 0x00000068
- #define COMMON_REG_O_APPS_NW_SEMAPHORE12 \
- 0x0000006C
- #define COMMON_REG_O_APPS_SEMAPPHORE_PEND \
- 0x00000070
- #define COMMON_REG_O_NW_SEMAPPHORE_PEND \
- 0x00000074
- #define COMMON_REG_O_SEMAPHORE_STATUS \
- 0x00000078
- #define COMMON_REG_O_IDMEM_TIM_Update \
- 0x0000007C
- #define COMMON_REG_O_FPGA_ROM_WR_EN \
- 0x00000080
- #define COMMON_REG_O_NW_INT_MASK \
- 0x00000084
- #define COMMON_REG_O_NW_INT_MASK_SET \
- 0x00000088
- #define COMMON_REG_O_NW_INT_MASK_CLR \
- 0x0000008C
- #define COMMON_REG_O_NW_INT_STS_CLR \
- 0x00000090
- #define COMMON_REG_O_NW_INT_ACK 0x00000094
- #define COMMON_REG_O_NW_INT_TRIG \
- 0x00000098
- #define COMMON_REG_O_NW_INT_STS_MASKED \
- 0x0000009C
- #define COMMON_REG_O_NW_INT_STS_RAW \
- 0x000000A0
- #define COMMON_REG_O_APPS_INT_MASK \
- 0x000000A4
- #define COMMON_REG_O_APPS_INT_MASK_SET \
- 0x000000A8
- #define COMMON_REG_O_APPS_INT_MASK_CLR \
- 0x000000AC
- #define COMMON_REG_O_APPS_INT_STS_CLR \
- 0x000000B0
- #define COMMON_REG_O_APPS_INT_ACK \
- 0x000000B4
- #define COMMON_REG_O_APPS_INT_TRIG \
- 0x000000B8
- #define COMMON_REG_O_APPS_INT_STS_MASKED \
- 0x000000BC
- #define COMMON_REG_O_APPS_INT_STS_RAW \
- 0x000000C0
- #define COMMON_REG_O_IDMEM_TIM_Updated \
- 0x000000C4
- #define COMMON_REG_O_APPS_GPIO_TRIG_EN \
- 0x000000C8
- #define COMMON_REG_O_EMU_DEBUG_REG \
- 0x000000CC
- #define COMMON_REG_O_SEMAPHORE_STATUS2 \
- 0x000000D0
- #define COMMON_REG_O_SEMAPHORE_PREV_OWNER1 \
- 0x000000D4
- #define COMMON_REG_O_SEMAPHORE_PREV_OWNER2 \
- 0x000000D8
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_I2C_Properties_Register register.
- //
- //******************************************************************************
- #define COMMON_REG_I2C_Properties_Register_I2C_Properties_Register_M \
- 0x00000003 // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_I2C_Properties_Register_I2C_Properties_Register_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_SPI_Properties_Register register.
- //
- //******************************************************************************
- #define COMMON_REG_SPI_Properties_Register_SPI_Properties_Register_M \
- 0x00000003 // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_SPI_Properties_Register_SPI_Properties_Register_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_sh_resource_Interrupt_enable register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_sh_resource_Interrupt_enable_APPS_sh_resource_Interrupt_enable_M \
- 0x0000000F // Interrupt enable APPS bit 0 ->
- // when '1' enable I2C interrupt bit
- // 1 -> when '1' enable SPI
- // interrupt bit 3 ->
- // when '1' enable GPIO interrupt
- #define COMMON_REG_APPS_sh_resource_Interrupt_enable_APPS_sh_resource_Interrupt_enable_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_sh_resource_Interrupt_status register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_sh_resource_Interrupt_status_APPS_sh_resource_Interrupt_status_M \
- 0x0000000F // Interrupt enable APPS bit 0 ->
- // when '1' enable I2C interrupt bit
- // 1 -> when '1' enable SPI
- // interrupt bit 3 ->
- // when '1' enable GPIO interrupt
- #define COMMON_REG_APPS_sh_resource_Interrupt_status_APPS_sh_resource_Interrupt_status_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NWP_sh_resource_Interrupt_enable register.
- //
- //******************************************************************************
- #define COMMON_REG_NWP_sh_resource_Interrupt_enable_NWP_sh_resource_Interrupt_enable_M \
- 0x0000000F // Interrupt enable NWP bit 0 ->
- // when '1' enable I2C interrupt bit
- // 1 -> when '1' enable SPI
- // interrupt bit 3 ->
- // when '1' enable GPIO interrupt
- #define COMMON_REG_NWP_sh_resource_Interrupt_enable_NWP_sh_resource_Interrupt_enable_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NWP_sh_resource_Interrupt_status register.
- //
- //******************************************************************************
- #define COMMON_REG_NWP_sh_resource_Interrupt_status_NWP_sh_resource_Interrupt_status_M \
- 0x0000000F // Interrupt enable NWP bit 0 ->
- // when '1' enable I2C interrupt bit
- // 1 -> when '1' enable SPI
- // interrupt bit 3 ->
- // when '1' enable GPIO interrupt
- #define COMMON_REG_NWP_sh_resource_Interrupt_status_NWP_sh_resource_Interrupt_status_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Flash_ctrl_reg register.
- //
- //******************************************************************************
- #define COMMON_REG_Flash_ctrl_reg_Flash_ctrl_reg_M \
- 0x00000003 // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_Flash_ctrl_reg_Flash_ctrl_reg_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Bus_matrix_M0_segment_access_config register.
- //
- //******************************************************************************
- #define COMMON_REG_Bus_matrix_M0_segment_access_config_Bus_matrix_M0_segment_access_config_M \
- 0x0003FFFF // Master 0 control word matrix to
- // each segment. Tieoff. Bit value 1
- // indicates segment is accesable.
- #define COMMON_REG_Bus_matrix_M0_segment_access_config_Bus_matrix_M0_segment_access_config_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Bus_matrix_M1_segment_access_config register.
- //
- //******************************************************************************
- #define COMMON_REG_Bus_matrix_M1_segment_access_config_Bus_matrix_M1_segment_access_config_M \
- 0x0003FFFF // Master 1 control word matrix to
- // each segment. Tieoff. Bit value 1
- // indicates segment is accesable.
- #define COMMON_REG_Bus_matrix_M1_segment_access_config_Bus_matrix_M1_segment_access_config_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Bus_matrix_M2_segment_access_config register.
- //
- //******************************************************************************
- #define COMMON_REG_Bus_matrix_M2_segment_access_config_Bus_matrix_M2_segment_access_config_M \
- 0x0003FFFF // Master 2 control word matrix to
- // each segment. Tieoff. Bit value 1
- // indicates segment is accesable.
- #define COMMON_REG_Bus_matrix_M2_segment_access_config_Bus_matrix_M2_segment_access_config_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Bus_matrix_M3_segment_access_config register.
- //
- //******************************************************************************
- #define COMMON_REG_Bus_matrix_M3_segment_access_config_Bus_matrix_M3_segment_access_config_M \
- 0x0003FFFF // Master 3 control word matrix to
- // each segment. Tieoff. Bit value 1
- // indicates segment is accesable.
- #define COMMON_REG_Bus_matrix_M3_segment_access_config_Bus_matrix_M3_segment_access_config_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Bus_matrix_M4_segment_access_config register.
- //
- //******************************************************************************
- #define COMMON_REG_Bus_matrix_M4_segment_access_config_Bus_matrix_M4_segment_access_config_M \
- 0x0003FFFF // Master 4 control word matrix to
- // each segment. Tieoff. Bit value 1
- // indicates segment is accesable.
- #define COMMON_REG_Bus_matrix_M4_segment_access_config_Bus_matrix_M4_segment_access_config_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_Bus_matrix_M5_segment_access_config register.
- //
- //******************************************************************************
- #define COMMON_REG_Bus_matrix_M5_segment_access_config_Bus_matrix_M5_segment_access_config_M \
- 0x0003FFFF // Master 5 control word matrix to
- // each segment. Tieoff. Bit value 1
- // indicates segment is accesable.
- #define COMMON_REG_Bus_matrix_M5_segment_access_config_Bus_matrix_M5_segment_access_config_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_GPIO_properties_register register.
- //
- //******************************************************************************
- #define COMMON_REG_GPIO_properties_register_GPIO_properties_register_M \
- 0x000003FF // Shared GPIO configuration
- // register. Bit [1:0] to configure
- // GPIO0 Bit [3:2] to configure
- // GPIO1 Bit [5:4] to configure
- // GPIO2 Bit [7:6] to configure
- // GPIO3 Bit [9:8] to configure
- // GPIO4 each GPIO can be
- // individully selected. When “00”
- // GPIO is free resource. When “01”
- // GPIO is APPS resource. When “10”
- // GPIO is NWP resource. Writing 11
- // doesnt have any affect, i.e. If
- // one write only relevant gpio
- // semaphore and other bits are 1s,
- // it'll not disturb the other
- // semaphore bits. For example : Say
- // If NW wants to take control of
- // gpio-1, one should write
- // 10'b11_1111_1011 and if one wants
- // to release it write
- // 10'b11_1111_0011.
- #define COMMON_REG_GPIO_properties_register_GPIO_properties_register_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE1 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE1_APPS_NW_SEMAPHORE1_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE1_APPS_NW_SEMAPHORE1_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE2 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE2_APPS_NW_SEMAPHORE2_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE2_APPS_NW_SEMAPHORE2_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE3 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE3_APPS_NW_SEMAPHORE3_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE3_APPS_NW_SEMAPHORE3_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE4 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE4_APPS_NW_SEMAPHORE4_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE4_APPS_NW_SEMAPHORE4_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE5 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE5_APPS_NW_SEMAPHORE5_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE5_APPS_NW_SEMAPHORE5_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE6 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE6_APPS_NW_SEMAPHORE6_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE6_APPS_NW_SEMAPHORE6_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE7 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE7_APPS_NW_SEMAPHORE7_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE7_APPS_NW_SEMAPHORE7_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE8 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE8_APPS_NW_SEMAPHORE8_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE8_APPS_NW_SEMAPHORE8_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE9 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE9_APPS_NW_SEMAPHORE9_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE9_APPS_NW_SEMAPHORE9_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE10 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE10_APPS_NW_SEMAPHORE10_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE10_APPS_NW_SEMAPHORE10_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE11 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE11_APPS_NW_SEMAPHORE11_M \
- 0xFFFFFFFF // • Each semaphore register is of
- // 2 bit. • When this register is
- // set to 2’b01 – Apps have access
- // and when set to 2’b10 – NW have
- // access. • Ideally both the master
- // can modify any of this 2 bit, but
- // assumption apps will write only
- // 2’b01 or 2’b00 to this register
- // and nw will write only 2’b10 or
- // 2’b00. • Implementation is when
- // any of the bit of this register
- // is set, only next write
- // allowedvis 2’b00 – Again
- // assumption is one master will not
- // write 2’b00 if other is already
- // holding the semaphore.
- #define COMMON_REG_APPS_NW_SEMAPHORE11_APPS_NW_SEMAPHORE11_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_NW_SEMAPHORE12 register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_NW_SEMAPHORE12_APPS_NW_SEMAPHORE12_M \
- 0xFFFFFFFF // APPS NW semaphore register - not
- // reflected in status.
- #define COMMON_REG_APPS_NW_SEMAPHORE12_APPS_NW_SEMAPHORE12_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_SEMAPPHORE_PEND register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_SEMAPPHORE_PEND_APPS_SEMAPPHORE_PEND_M \
- 0xFFFFFFFF // APPS SEMAPOHORE STATUS
- #define COMMON_REG_APPS_SEMAPPHORE_PEND_APPS_SEMAPPHORE_PEND_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_SEMAPPHORE_PEND register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_SEMAPPHORE_PEND_NW_SEMAPPHORE_PEND_M \
- 0xFFFFFFFF // NW SEMAPHORE STATUS
- #define COMMON_REG_NW_SEMAPPHORE_PEND_NW_SEMAPPHORE_PEND_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_SEMAPHORE_STATUS register.
- //
- //******************************************************************************
- #define COMMON_REG_SEMAPHORE_STATUS_SEMAPHORE_STATUS_M \
- 0xFFFFFFFF // SEMAPHORE STATUS 9:8 :semaphore
- // status of flash_control 7:6
- // :semaphore status of
- // gpio_properties 5:4
- // :semaphore status of
- // spi_propertie 1:0 :semaphore
- // status of i2c_propertie
- #define COMMON_REG_SEMAPHORE_STATUS_SEMAPHORE_STATUS_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_IDMEM_TIM_Update register.
- //
- //******************************************************************************
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_FPGA_ROM_WR_EN register.
- //
- //******************************************************************************
- #define COMMON_REG_FPGA_ROM_WR_EN_FPGA_ROM_WR_EN \
- 0x00000001 // when '1' enables Write into
- // IDMEM CORE ROM, APPS ROM, NWP ROM
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_MASK register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_MASK_NW_INT_MASK_M \
- 0xFFFFFFFF // 1= disable corresponding
- // interrupt;0 = interrupt enabled
- #define COMMON_REG_NW_INT_MASK_NW_INT_MASK_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_MASK_SET register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_MASK_SET_NW_INT_MASK_SET_M \
- 0xFFFFFFFF // write 1 to set corresponding bit
- // in NW_INT_MASK;0 = no effect
- #define COMMON_REG_NW_INT_MASK_SET_NW_INT_MASK_SET_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_MASK_CLR register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_MASK_CLR_NW_INT_MASK_CLR_M \
- 0xFFFFFFFF // write 1 to clear corresponding
- // bit in NW_INT_MASK;0 = no effect
- #define COMMON_REG_NW_INT_MASK_CLR_NW_INT_MASK_CLR_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_STS_CLR register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_STS_CLR_NW_INT_STS_CLR_M \
- 0xFFFFFFFF // write 1 to clear corresponding
- // interrupt; 0 = no effect;
- // interrupt is not lost if coincide
- // with write operation
- #define COMMON_REG_NW_INT_STS_CLR_NW_INT_STS_CLR_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_ACK register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_ACK_NW_INT_ACK_M \
- 0xFFFFFFFF // write 1 to clear corresponding
- // interrupt;0 = no effect
- #define COMMON_REG_NW_INT_ACK_NW_INT_ACK_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_TRIG register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_TRIG_NW_INT_TRIG_M \
- 0xFFFFFFFF // Writing a 1 to a bit in this
- // register causes the the Host CPU
- // if enabled (not masked). This
- // register is self-clearing.
- // Writing 0 has no effect
- #define COMMON_REG_NW_INT_TRIG_NW_INT_TRIG_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_STS_MASKED register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_STS_MASKED_NW_INT_STS_MASKED_M \
- 0xFFFFFFFF // 1= corresponding interrupt is
- // active and not masked. read is
- // non-destructive;0 = corresponding
- // interrupt is inactive or masked
- // by NW_INT mask
- #define COMMON_REG_NW_INT_STS_MASKED_NW_INT_STS_MASKED_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_NW_INT_STS_RAW register.
- //
- //******************************************************************************
- #define COMMON_REG_NW_INT_STS_RAW_NW_INT_STS_RAW_M \
- 0xFFFFFFFF // 1= corresponding interrupt is
- // active. read is non-destructive;0
- // = corresponding interrupt is
- // inactive
- #define COMMON_REG_NW_INT_STS_RAW_NW_INT_STS_RAW_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_MASK register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_MASK_APPS_INT_MASK_M \
- 0xFFFFFFFF // 1= disable corresponding
- // interrupt;0 = interrupt enabled
- #define COMMON_REG_APPS_INT_MASK_APPS_INT_MASK_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_MASK_SET register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_MASK_SET_APPS_INT_MASK_SET_M \
- 0xFFFFFFFF // write 1 to set corresponding bit
- // in APPS_INT_MASK;0 = no effect
- #define COMMON_REG_APPS_INT_MASK_SET_APPS_INT_MASK_SET_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_MASK_CLR register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_MASK_CLR_APPS_INT_MASK_CLR_M \
- 0xFFFFFFFF // write 1 to clear corresponding
- // bit in APPS_INT_MASK;0 = no
- // effect
- #define COMMON_REG_APPS_INT_MASK_CLR_APPS_INT_MASK_CLR_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_STS_CLR register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_STS_CLR_APPS_INT_STS_CLR_M \
- 0xFFFFFFFF // write 1 to clear corresponding
- // interrupt; 0 = no effect;
- // interrupt is not lost if coincide
- // with write operation
- #define COMMON_REG_APPS_INT_STS_CLR_APPS_INT_STS_CLR_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_ACK register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_ACK_APPS_INT_ACK_M \
- 0xFFFFFFFF // write 1 to clear corresponding
- // interrupt;0 = no effect
- #define COMMON_REG_APPS_INT_ACK_APPS_INT_ACK_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_TRIG register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_TRIG_APPS_INT_TRIG_M \
- 0xFFFFFFFF // Writing a 1 to a bit in this
- // register causes the the Host CPU
- // if enabled (not masked). This
- // register is self-clearing.
- // Writing 0 has no effect
- #define COMMON_REG_APPS_INT_TRIG_APPS_INT_TRIG_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_STS_MASKED register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_STS_MASKED_APPS_INT_STS_MASKED_M \
- 0xFFFFFFFF // 1= corresponding interrupt is
- // active and not masked. read is
- // non-destructive;0 = corresponding
- // interrupt is inactive or masked
- // by APPS_INT mask
- #define COMMON_REG_APPS_INT_STS_MASKED_APPS_INT_STS_MASKED_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_INT_STS_RAW register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_INT_STS_RAW_APPS_INT_STS_RAW_M \
- 0xFFFFFFFF // 1= corresponding interrupt is
- // active. read is non-destructive;0
- // = corresponding interrupt is
- // inactive
- #define COMMON_REG_APPS_INT_STS_RAW_APPS_INT_STS_RAW_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_IDMEM_TIM_Updated register.
- //
- //******************************************************************************
- #define COMMON_REG_IDMEM_TIM_Updated_TIM_UPDATED \
- 0x00000001 // toggle in this signal
- // indicatesIDMEM_TIM_UPDATE
- // register mentioned above is
- // updated.
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_APPS_GPIO_TRIG_EN register.
- //
- //******************************************************************************
- #define COMMON_REG_APPS_GPIO_TRIG_EN_APPS_GPIO_TRIG_EN_M \
- 0x0000001F // APPS GPIO Trigger EN control.
- // Bit 0: when '1' enable GPIO 0
- // trigger. This bit enables trigger
- // for all GPIO 0 pins (GPIO 0 to
- // GPIO7). Bit 1: when '1' enable
- // GPIO 1 trigger. This bit enables
- // trigger for all GPIO 1 pins (
- // GPIO8 to GPIO15). Bit 2: when '1'
- // enable GPIO 2 trigger. This bit
- // enables trigger for all GPIO 2
- // pins (GPIO16 to GPIO23). Bit 3:
- // when '1' enable GPIO 3 trigger.
- // This bit enables trigger for all
- // GPIO 3 pins (GPIO24 to GPIO31).
- // Bit 4: when '1' enable GPIO 4
- // trigger. This bit enables trigger
- // for all GPIO 4 pins.(GPIO32 to
- // GPIO39)
- #define COMMON_REG_APPS_GPIO_TRIG_EN_APPS_GPIO_TRIG_EN_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_EMU_DEBUG_REG register.
- //
- //******************************************************************************
- #define COMMON_REG_EMU_DEBUG_REG_EMU_DEBUG_REG_M \
- 0xFFFFFFFF // 0 th bit used for stalling APPS
- // DMA and 1st bit is used for
- // stalling NWP DMA for debug
- // purpose. Other bits are unused.
- #define COMMON_REG_EMU_DEBUG_REG_EMU_DEBUG_REG_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_SEMAPHORE_STATUS2 register.
- //
- //******************************************************************************
- #define COMMON_REG_SEMAPHORE_STATUS2_SEMPAPHORE_STATUS2_M \
- 0x00FFFFFF // SEMAPHORE STATUS 23:22
- // :semaphore status of
- // apps_nw_semaphore11 21:20
- // :semaphore status of
- // apps_nw_semaphore11 19:18
- // :semaphore status of
- // apps_nw_semaphore10 17:16
- // :semaphore status of
- // apps_nw_semaphore9 15:14
- // :semaphore status of
- // apps_nw_semaphore8 13:12
- // :semaphore status of
- // apps_nw_semaphore7 11:10
- // :semaphore status of
- // apps_nw_semaphore6 9:8 :semaphore
- // status of apps_nw_semaphore5 7:6
- // :semaphore status of
- // apps_nw_semaphore4 5:4 :semaphore
- // status of apps_nw_semaphore3 3:2
- // :semaphore status of
- // apps_nw_semaphore2 1:0 :semaphore
- // status of apps_nw_semaphore1
- #define COMMON_REG_SEMAPHORE_STATUS2_SEMPAPHORE_STATUS2_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_SEMAPHORE_PREV_OWNER1 register.
- //
- //******************************************************************************
- #define COMMON_REG_SEMAPHORE_PREV_OWNER1_SEMAPHORE_PREV_OWNER1_M \
- 0x0003FFFF // 1:0 : prvious owner of
- // i2c_properties_reg[1:0] 3:2 :
- // prvious owner of
- // spi_properties_reg[1:0] 5:4 :
- // prvious owner of
- // gpio_properties_reg[1:0] 9:8 :
- // prvious owner of
- // gpio_properties_reg[3:2] 11:10 :
- // prvious owner of
- // gpio_properties_reg[5:4] 13:12 :
- // prvious owner of
- // gpio_properties_reg[7:6] 15:14 :
- // prvious owner of
- // gpio_properties_reg[9:8] 17:16 :
- // prvious owner of
- // flash_control_reg[1:0]
- #define COMMON_REG_SEMAPHORE_PREV_OWNER1_SEMAPHORE_PREV_OWNER1_S 0
- //******************************************************************************
- //
- // The following are defines for the bit fields in the
- // COMMON_REG_O_SEMAPHORE_PREV_OWNER2 register.
- //
- //******************************************************************************
- #define COMMON_REG_SEMAPHORE_PREV_OWNER2_SEMAPHORE_PREV_OWNER2_M \
- 0x00FFFFFF // 1:0 : previous owner of
- // apps_nw_semaphore1_reg[1:0] 3:2 :
- // previous owner of
- // apps_nw_semaphore2_reg[1:0] 5:4 :
- // previous owner of
- // apps_nw_semaphore3_reg[1:0] 7:6 :
- // previous owner of
- // apps_nw_semaphore4_reg[1:0] 9:8 :
- // previous owner of
- // apps_nw_semaphore5_reg[1:0] 11:10
- // : previous owner of
- // apps_nw_semaphore6_reg[1:0] 13:12
- // : previous owner of
- // apps_nw_semaphore7_reg[1:0] 15:14
- // : previous owner of
- // apps_nw_semaphore8_reg[1:0] 17:16
- // : previous owner of
- // apps_nw_semaphore9_reg[1:0] 19:18
- // : previous owner of
- // apps_nw_semaphore10_reg[1:0]
- // 21:20 : previous owner of
- // apps_nw_semaphore11_reg[1:0]
- // 23:22 : previous owner of
- // apps_nw_semaphore12_reg[1:0]
- #define COMMON_REG_SEMAPHORE_PREV_OWNER2_SEMAPHORE_PREV_OWNER2_S 0
- #endif // __HW_COMMON_REG_H__
|