| /****************************************************************************** |
| * Filename: hw_adi.h |
| * Revised: 2015-01-13 16:59:55 +0100 (Tue, 13 Jan 2015) |
| * Revision: 42365 |
| * |
| * Copyright (c) 2015 - 2016, Texas Instruments Incorporated |
| * All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are met: |
| * |
| * 1) Redistributions of source code must retain the above copyright notice, |
| * this list of conditions and the following disclaimer. |
| * |
| * 2) 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. |
| * |
| * 3) Neither the name of the ORGANIZATION 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 HOLDER 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_ADI_H__ |
| #define __HW_ADI_H__ |
| |
| //***************************************************************************** |
| // |
| // This file contains macros for controlling the ADI master and |
| // accessing ADI slave registers via the ADI Master. |
| // There are 3 categories of macros in this file: |
| // - macros that provide an offset to a register |
| // located within the DDI Master itself. |
| // - macros that define bits or bitfields |
| // within the DDI Master Registers. |
| // - macros that provide an "instruction offset" |
| // that are used when accessing a ADI Slave. |
| // |
| // The macros that that provide ADI Master register offsets and |
| // define bits and bitfields for those registers are the typical |
| // macros that appear in most hw_<module>.h header files. In |
| // the following example ADI_O_SLAVECONF is a macro for a |
| // register offset and ADI_SLAVECONF_WAITFORACK is a macro for |
| // a bit in that register. This example code will set the WAITFORACK |
| // bit in register ADI_O_SLAVECONF of the ADI Master. (Note: this |
| // access the Master not the Slave). |
| // |
| // HWREG(ADI3_BASE + ADI_O_SLAVECONF) |= ADI_SLAVECONF_WAITFORACK; |
| // |
| // The "instruction offset" macros are used to pass an instruction to |
| // the ADI Master when accessing ADI slave registers. These macros are |
| // only used when accessing ADI Slave Registers. (Remember ADI |
| // Master Registers are accessed normally). |
| // |
| // The instructions supported when accessing an ADI Slave Register follow: |
| // - Direct Access to an ADI Slave register. I.e. read or |
| // write the register. |
| // - Set the specified bits in a ADI Slave register. |
| // - Clear the specified bits in a ADI Slave register. |
| // - Mask write of 4 bits to the a ADI Slave register. |
| // - Mask write of 8 bits to the a ADI Slave register. |
| // - Mask write of 16 bits to the a ADI Slave register. |
| // |
| // Note: only the "Direct Access" offset should be used when reading |
| // a ADI Slave register. Only 4-bit reads are supported and 8 bits write are |
| // supported natively. If accessing wider bitfields, the read/write operation |
| // will be spread out over a number of transactions. This is hidden for the |
| // user, but can potentially be very timeconsuming. Especially of running |
| // on a slow clock. |
| // |
| // The generic format of using these macros for a read follows: |
| // // Read low 8-bits in ADI_SLAVE_OFF |
| // myushortvar = HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR); |
| // |
| // // Read high 8-bits in ADI_SLAVE_OFF (data[31:16]) |
| // myushortvar = HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR); |
| // |
| // Notes: In the above example: |
| // - ADI_MASTER_BASE is the base address of the ADI Master defined |
| // in the hw_memmap.h header file. |
| // - ADI_SLAVE_OFF is the ADI Slave offset defined in the |
| // hw_<adi_slave>.h header file (e.g. hw_adi_3_refsys_top.h for the refsys |
| // module). |
| // - ADI_O_DIR is the "instruction offset" macro defined in this |
| // file that specifies the Direct Access instruction. |
| // |
| // Writes can use any of the "instruction macros". |
| // The following examples do a "direct write" to an ADI Slave register |
| // ADI_SLAVE_OFF using different size operands: |
| // |
| // // ---------- DIRECT WRITES ---------- |
| // // Write 32-bits aligned |
| // HWREG(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR) = 0x12345678; |
| // |
| // // Write 16-bits aligned to high 16-bits then low 16-bits |
| // // Add 2 to get to high 16-bits. |
| // HWREGH(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR + 2) = 0xabcd; |
| // HWREGH(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR) = 0xef01; |
| // |
| // // Write each byte at ADI_SLAVE_OFF, one at a time. |
| // // Add 1,2,or 3 to get to bytes 1,2, or 3. |
| // HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR) = 0x33; |
| // HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR + 1) = 0x44; |
| // HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR + 2) = 0x55; |
| // HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_DIR + 3) = 0x66; |
| // |
| // // ---------- SET/CLR ---------- |
| // The set and clear functions behave similarly to eachother. Each |
| // can be performed on an 8-, 16-, or 32-bit operand. |
| // Examples follow: |
| // // Set all odd bits in a 32-bit words |
| // HWREG(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_SET) = 0xaaaaaaaa; |
| // |
| // // Clear all bits in byte 2 (data[23:16]) using 32-bit operand |
| // HWREG(DDI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_CLR) = 0x00ff0000; |
| // |
| // // Set even bits in byte 2 (data[23:16]) using 8-bit operand |
| // HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + 2 + ADI_O_CLR) = 0x55; |
| // |
| // // ---------- MASKED WRITES ---------- |
| // The mask writes are a bit different. They operate on nibbles, |
| // bytes, and 16-bit elements. Two operands are required; a 'mask' |
| // and 'data'; The operands are concatenated and written to the master. |
| // e.g. the mask and data are combined as follows for a 16 bit masked |
| // write: |
| // (mask << 16) | data; |
| // Examples follow: |
| // |
| // // Do an 4 bit masked write (Nibble) of 7 to data[3:0]). |
| // // Byte write is needed. |
| // HWREGB(ADI_MASTER_BASE + ADI_SLAVE_OFF + ADI_O_MASK4B01) = 0xf7; |
| // |
| // // Do an 4 bit masked write of 4 to data[7:4]). |
| // // Add 1 for next nibble |
| // HWREGB(DDI_MASTER_BASE + DDI_SLAVE_OFF + ADI_O_MASK4B01 + 1) = 0xf4; |
| // |
| //***************************************************************************** |
| |
| //***************************************************************************** |
| // |
| // The following are defines for the ADI master instruction offsets. |
| // |
| //***************************************************************************** |
| #define ADI_O_DIR 0x00000000 // Offset for the direct access |
| // instruction |
| #define ADI_O_SET 0x00000010 // Offset for 'Set' instruction. |
| #define ADI_O_CLR 0x00000020 // Offset for 'Clear' instruction. |
| #define ADI_O_MASK4B 0x00000040 // Offset for 4-bit masked access. |
| // Data bit[n] is written if mask |
| // bit[n] is set ('1'). |
| // Bits 7:4 are mask. Bits 3:0 are data. |
| // Requires 'byte' write. |
| #define ADI_O_MASK8B 0x00000060 // Offset for 8-bit masked access. |
| // Data bit[n] is written if mask |
| // bit[n] is set ('1'). Bits 15:8 are |
| // mask. Bits 7:0 are data. Requires |
| // 'short' write. |
| #define ADI_O_MASK16B 0x00000080 // Offset for 16-bit masked access. |
| // Data bit[n] is written if mask |
| // bit[n] is set ('1'). Bits 31:16 |
| // are mask. Bits 15:0 are data. |
| // Requires 'long' write. |
| |
| //***************************************************************************** |
| // |
| // The following are defines for the ADI register offsets. |
| // |
| //***************************************************************************** |
| #define ADI_O_SLAVESTAT 0x00000030 // ADI Slave status register |
| #define ADI_O_SLAVECONF 0x00000038 // ADI Master configuration |
| |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_SLAVESTAT register. |
| // |
| //***************************************************************************** |
| #define ADI_SLAVESTAT_DI_REQ 0x00000002 // Read current value of DI_REQ |
| // signal. Writing 0 to this bit |
| // forces a sync with slave, |
| // ensuring that req will be 0. It |
| // is recommended to write 0 to |
| // this register before power down |
| // of the master. |
| #define ADI_SLAVESTAT_DI_REQ_M 0x00000002 |
| #define ADI_SLAVESTAT_DI_REQ_S 1 |
| #define ADI_SLAVESTAT_DI_ACK 0x00000001 // Read current value of DI_ACK |
| // signal |
| #define ADI_SLAVESTAT_DI_ACK_M 0x00000001 |
| #define ADI_SLAVESTAT_DI_ACK_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_SLAVECONF register. |
| // |
| //***************************************************************************** |
| #define ADI_SLAVECONF_CONFLOCK 0x00000080 // This register is no longer |
| // accessible when this bit is set. |
| // (unless sticky_bit_overwrite is |
| // asserted on top module) |
| #define ADI_SLAVECONF_CONFLOCK_M \ |
| 0x00000080 |
| #define ADI_SLAVECONF_CONFLOCK_S 7 |
| #define ADI_SLAVECONF_WAITFORACK \ |
| 0x00000004 // A transaction on the ADI |
| // interface does not end until ack |
| // has been received from the slave |
| // when this bit is set. |
| |
| #define ADI_SLAVECONF_WAITFORACK_M \ |
| 0x00000004 |
| #define ADI_SLAVECONF_WAITFORACK_S 2 |
| #define ADI_SLAVECONF_ADICLKSPEED_M \ |
| 0x00000003 // Sets the period of an ADI |
| // transactions. All transactions |
| // takes an even number of clock |
| // cycles,- ADI clock rising edge |
| // occurs in the middle of the |
| // period. Data and ctrl to slave |
| // is set up in beginning of cycle, |
| // and data from slave is read in |
| // after the transaction 00: An ADI |
| // transaction takes 2 master clock |
| // cyclkes 01: An ADI transaction |
| // takes 4 master clock cycles 10: |
| // And ADI Transaction takes 8 |
| // master clock cycles 11: An ADI |
| // transaction takes 16 master |
| // clock cycles |
| |
| #define ADI_SLAVECONF_ADICLKSPEED_S 0 |
| |
| //***************************************************************************** |
| // |
| // The following are defines pseudo-magic numbers that should go away. |
| // New code should not use these registers and old code should be ported |
| // to not use these. |
| // |
| //***************************************************************************** |
| #define ADI_O_DIR03 0x00000000 // Direct access for adi byte |
| // offsets 0 to 3 |
| #define ADI_O_DIR47 0x00000004 // Direct access for adi byte |
| // offsets 4 to 7 |
| #define ADI_O_DIR811 0x00000008 // Direct access for adi byte |
| // offsets 8 to 11 |
| #define ADI_O_DIR1215 0x0000000C // Direct access for adi byte |
| // offsets 12 to 15 |
| #define ADI_O_SET03 0x00000010 // Set register for ADI byte |
| // offsets 0 to 3 |
| #define ADI_O_SET47 0x00000014 // Set register for ADI byte |
| // offsets 4 to 7 |
| #define ADI_O_SET811 0x00000018 // Set register for ADI byte |
| // offsets 8 to 11 |
| #define ADI_O_SET1215 0x0000001C // Set register for ADI byte |
| // offsets 12 to 15 |
| #define ADI_O_CLR03 0x00000020 // Clear register for ADI byte |
| // offsets 0 to 3 |
| #define ADI_O_CLR47 0x00000024 // Clear register for ADI byte |
| // offsets 4 to 7 |
| #define ADI_O_CLR811 0x00000028 // Clear register for ADI byte |
| // offsets 8 to 11 |
| #define ADI_O_CLR1215 0x0000002C // Clear register for ADI byte |
| // offsets 12 to 15 |
| #define ADI_O_SLAVESTAT 0x00000030 // ADI Slave status register |
| #define ADI_O_SLAVECONF 0x00000038 // ADI Master configuration |
| // register |
| #define ADI_O_MASK4B01 0x00000040 // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 0 and |
| // 1 |
| #define ADI_O_MASK4B23 0x00000044 // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 2 and |
| // 3 |
| #define ADI_O_MASK4B45 0x00000048 // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 4 and |
| // 5 |
| #define ADI_O_MASK4B67 0x0000004C // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 6 and |
| // 7 |
| #define ADI_O_MASK4B89 0x00000050 // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 8 and |
| // 9 |
| #define ADI_O_MASK4B1011 0x00000054 // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 10 and |
| // 11 |
| #define ADI_O_MASK4B1213 0x00000058 // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 12 and |
| // 13 |
| #define ADI_O_MASK4B1415 0x0000005C // Masked access (4m/4d) for ADI |
| // Registers at byte offsets 14 and |
| // 15 |
| #define ADI_O_MASK8B01 0x00000060 // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 0 and |
| // 1 |
| #define ADI_O_MASK8B23 0x00000064 // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 2 and |
| // 3 |
| #define ADI_O_MASK8B45 0x00000068 // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 4 and |
| // 5 |
| #define ADI_O_MASK8B67 0x0000006C // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 6 and |
| // 7 |
| #define ADI_O_MASK8B89 0x00000070 // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 8 and |
| // 9 |
| #define ADI_O_MASK8B1011 0x00000074 // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 10 and |
| // 11 |
| #define ADI_O_MASK8B1213 0x00000078 // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 12 and |
| // 13 |
| #define ADI_O_MASK8B1415 0x0000007C // Masked access (8m/8d) for ADI |
| // Registers at byte offsets 14 and |
| // 15 |
| #define ADI_O_MASK16B01 0x00000080 // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 0 and |
| // 1 |
| #define ADI_O_MASK16B23 0x00000084 // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 2 and |
| // 3 |
| #define ADI_O_MASK16B45 0x00000088 // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 4 and |
| // 5 |
| #define ADI_O_MASK16B67 0x0000008C // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 6 and |
| // 7 |
| #define ADI_O_MASK16B89 0x00000090 // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 8 and |
| // 9 |
| #define ADI_O_MASK16B1011 0x00000094 // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 10 and |
| // 11 |
| #define ADI_O_MASK16B1213 0x00000098 // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 12 and |
| // 13 |
| #define ADI_O_MASK16B1415 0x0000009C // Masked access (16m/16d) for ADI |
| // Registers at byte offsets 14 and |
| // 15 |
| |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_DIR03 register. |
| // |
| //***************************************************************************** |
| #define ADI_DIR03_B3_M 0xFF000000 // Direct access to ADI register 3 |
| #define ADI_DIR03_B3_S 24 |
| #define ADI_DIR03_B2_M 0x00FF0000 // Direct access to ADI register 2 |
| #define ADI_DIR03_B2_S 16 |
| #define ADI_DIR03_B1_M 0x0000FF00 // Direct access to ADI register 1 |
| #define ADI_DIR03_B1_S 8 |
| #define ADI_DIR03_B0_M 0x000000FF // Direct access to ADI register 0 |
| #define ADI_DIR03_B0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_DIR47 register. |
| // |
| //***************************************************************************** |
| #define ADI_DIR47_B3_M 0xFF000000 // Direct access to ADI register 7 |
| #define ADI_DIR47_B3_S 24 |
| #define ADI_DIR47_B2_M 0x00FF0000 // Direct access to ADI register 6 |
| #define ADI_DIR47_B2_S 16 |
| #define ADI_DIR47_B1_M 0x0000FF00 // Direct access to ADI register 5 |
| #define ADI_DIR47_B1_S 8 |
| #define ADI_DIR47_B0_M 0x000000FF // Direct access to ADI register 4 |
| #define ADI_DIR47_B0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_DIR811 register. |
| // |
| //***************************************************************************** |
| #define ADI_DIR811_B3_M 0xFF000000 // Direct access to ADI register |
| // 11 |
| #define ADI_DIR811_B3_S 24 |
| #define ADI_DIR811_B2_M 0x00FF0000 // Direct access to ADI register |
| // 10 |
| #define ADI_DIR811_B2_S 16 |
| #define ADI_DIR811_B1_M 0x0000FF00 // Direct access to ADI register 9 |
| #define ADI_DIR811_B1_S 8 |
| #define ADI_DIR811_B0_M 0x000000FF // Direct access to ADI register 8 |
| #define ADI_DIR811_B0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_DIR1215 register. |
| // |
| //***************************************************************************** |
| #define ADI_DIR1215_B3_M 0xFF000000 // Direct access to ADI register |
| // 15 |
| #define ADI_DIR1215_B3_S 24 |
| #define ADI_DIR1215_B2_M 0x00FF0000 // Direct access to ADI register |
| // 14 |
| #define ADI_DIR1215_B2_S 16 |
| #define ADI_DIR1215_B1_M 0x0000FF00 // Direct access to ADI register |
| // 13 |
| #define ADI_DIR1215_B1_S 8 |
| #define ADI_DIR1215_B0_M 0x000000FF // Direct access to ADI register |
| // 12 |
| #define ADI_DIR1215_B0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_SET03 register. |
| // |
| //***************************************************************************** |
| #define ADI_SET03_S3_M 0xFF000000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 3. Read returns 0. |
| #define ADI_SET03_S3_S 24 |
| #define ADI_SET03_S2_M 0x00FF0000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 2. Read returns 0. |
| #define ADI_SET03_S2_S 16 |
| #define ADI_SET03_S1_M 0x0000FF00 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 1. Read returns 0. |
| #define ADI_SET03_S1_S 8 |
| #define ADI_SET03_S0_M 0x000000FF // A high bit value will set the |
| // corresponding bit in ADI |
| // register 0. Read returns 0. |
| #define ADI_SET03_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_SET47 register. |
| // |
| //***************************************************************************** |
| #define ADI_SET47_S3_M 0xFF000000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 7. Read returns 0. |
| #define ADI_SET47_S3_S 24 |
| #define ADI_SET47_S2_M 0x00FF0000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 6. Read returns 0. |
| #define ADI_SET47_S2_S 16 |
| #define ADI_SET47_S1_M 0x0000FF00 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 5. Read returns 0. |
| #define ADI_SET47_S1_S 8 |
| #define ADI_SET47_S0_M 0x000000FF // A high bit value will set the |
| // corresponding bit in ADI |
| // register 4. Read returns 0. |
| #define ADI_SET47_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_SET811 register. |
| // |
| //***************************************************************************** |
| #define ADI_SET811_S3_M 0xFF000000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 11. Read returns 0. |
| #define ADI_SET811_S3_S 24 |
| #define ADI_SET811_S2_M 0x00FF0000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 10. Read returns 0. |
| #define ADI_SET811_S2_S 16 |
| #define ADI_SET811_S1_M 0x0000FF00 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 9. Read returns 0. |
| #define ADI_SET811_S1_S 8 |
| #define ADI_SET811_S0_M 0x000000FF // A high bit value will set the |
| // corresponding bit in ADI |
| // register 8. Read returns 0. |
| #define ADI_SET811_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_SET1215 register. |
| // |
| //***************************************************************************** |
| #define ADI_SET1215_S3_M 0xFF000000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 15. Read returns 0. |
| #define ADI_SET1215_S3_S 24 |
| #define ADI_SET1215_S2_M 0x00FF0000 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 14. Read returns 0. |
| #define ADI_SET1215_S2_S 16 |
| #define ADI_SET1215_S1_M 0x0000FF00 // A high bit value will set the |
| // corresponding bit in ADI |
| // register 13. Read returns 0. |
| #define ADI_SET1215_S1_S 8 |
| #define ADI_SET1215_S0_M 0x000000FF // A high bit value will set the |
| // corresponding bit in ADI |
| // register 12. Read returns 0. |
| #define ADI_SET1215_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_CLR03 register. |
| // |
| //***************************************************************************** |
| #define ADI_CLR03_S3_M 0xFF000000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 3 |
| #define ADI_CLR03_S3_S 24 |
| #define ADI_CLR03_S2_M 0x00FF0000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 2 |
| #define ADI_CLR03_S2_S 16 |
| #define ADI_CLR03_S1_M 0x0000FF00 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 1 |
| #define ADI_CLR03_S1_S 8 |
| #define ADI_CLR03_S0_M 0x000000FF // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 0 |
| #define ADI_CLR03_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_CLR47 register. |
| // |
| //***************************************************************************** |
| #define ADI_CLR47_S3_M 0xFF000000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 7 |
| #define ADI_CLR47_S3_S 24 |
| #define ADI_CLR47_S2_M 0x00FF0000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 6 |
| #define ADI_CLR47_S2_S 16 |
| #define ADI_CLR47_S1_M 0x0000FF00 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 5 |
| #define ADI_CLR47_S1_S 8 |
| #define ADI_CLR47_S0_M 0x000000FF // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 4 |
| #define ADI_CLR47_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_CLR811 register. |
| // |
| //***************************************************************************** |
| #define ADI_CLR811_S3_M 0xFF000000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 11 |
| #define ADI_CLR811_S3_S 24 |
| #define ADI_CLR811_S2_M 0x00FF0000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 10 |
| #define ADI_CLR811_S2_S 16 |
| #define ADI_CLR811_S1_M 0x0000FF00 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 9 |
| #define ADI_CLR811_S1_S 8 |
| #define ADI_CLR811_S0_M 0x000000FF // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 8 |
| #define ADI_CLR811_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_CLR1215 register. |
| // |
| //***************************************************************************** |
| #define ADI_CLR1215_S3_M 0xFF000000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 15 |
| #define ADI_CLR1215_S3_S 24 |
| #define ADI_CLR1215_S2_M 0x00FF0000 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 14 |
| #define ADI_CLR1215_S2_S 16 |
| #define ADI_CLR1215_S1_M 0x0000FF00 // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 13 |
| #define ADI_CLR1215_S1_S 8 |
| #define ADI_CLR1215_S0_M 0x000000FF // A high bit value will clear the |
| // corresponding bit in ADI |
| // register 12 |
| #define ADI_CLR1215_S0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_SLAVESTAT register. |
| // |
| //***************************************************************************** |
| #define ADI_SLAVESTAT_DI_REQ 0x00000002 // Read current value of DI_REQ |
| // signal. Writing 0 to this bit |
| // forces a sync with slave, |
| // ensuring that req will be 0. It |
| // is recommended to write 0 to |
| // this register before power down |
| // of the master. |
| #define ADI_SLAVESTAT_DI_REQ_M 0x00000002 |
| #define ADI_SLAVESTAT_DI_REQ_S 1 |
| #define ADI_SLAVESTAT_DI_ACK 0x00000001 // Read current value of DI_ACK |
| // signal |
| #define ADI_SLAVESTAT_DI_ACK_M 0x00000001 |
| #define ADI_SLAVESTAT_DI_ACK_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_SLAVECONF register. |
| // |
| //***************************************************************************** |
| #define ADI_SLAVECONF_CONFLOCK 0x00000080 // This register is no longer |
| // accessible when this bit is set. |
| // (unless sticky_bit_overwrite is |
| // asserted on top module) |
| #define ADI_SLAVECONF_CONFLOCK_M \ |
| 0x00000080 |
| #define ADI_SLAVECONF_CONFLOCK_S 7 |
| #define ADI_SLAVECONF_WAITFORACK \ |
| 0x00000004 // A transaction on the ADI |
| // interface does not end until ack |
| // has been received from the slave |
| // when this bit is set. |
| |
| #define ADI_SLAVECONF_WAITFORACK_M \ |
| 0x00000004 |
| #define ADI_SLAVECONF_WAITFORACK_S 2 |
| #define ADI_SLAVECONF_ADICLKSPEED_M \ |
| 0x00000003 // Sets the period of an ADI |
| // transactions. All transactions |
| // takes an even number of clock |
| // cycles,- ADI clock rising edge |
| // occurs in the middle of the |
| // period. Data and ctrl to slave |
| // is set up in beginning of cycle, |
| // and data from slave is read in |
| // after the transaction 00: An ADI |
| // transaction takes 2 master clock |
| // cyclkes 01: An ADI transaction |
| // takes 4 master clock cycles 10: |
| // And ADI Transaction takes 8 |
| // master clock cycles 11: An ADI |
| // transaction takes 16 master |
| // clock cycles |
| |
| #define ADI_SLAVECONF_ADICLKSPEED_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK4B01 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B01_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 1 |
| #define ADI_MASK4B01_M1H_S 28 |
| #define ADI_MASK4B01_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 1, - only bits selected |
| // by mask M1H will be affected by |
| // access |
| #define ADI_MASK4B01_D1H_S 24 |
| #define ADI_MASK4B01_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 1 |
| #define ADI_MASK4B01_M1L_S 20 |
| #define ADI_MASK4B01_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 1, - only bits selected |
| // by mask M1L will be affected by |
| // access |
| #define ADI_MASK4B01_D1L_S 16 |
| #define ADI_MASK4B01_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 0 |
| #define ADI_MASK4B01_M0H_S 12 |
| #define ADI_MASK4B01_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 0, - only bits selected |
| // by mask M0H will be affected by |
| // access |
| #define ADI_MASK4B01_D0H_S 8 |
| #define ADI_MASK4B01_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 0 |
| #define ADI_MASK4B01_M0L_S 4 |
| #define ADI_MASK4B01_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 0, - only bits selected |
| // by mask M0L will be affected by |
| // access |
| #define ADI_MASK4B01_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK4B23 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B23_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 3 |
| #define ADI_MASK4B23_M1H_S 28 |
| #define ADI_MASK4B23_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 3, - only bits selected |
| // by mask M1H will be affected by |
| // access |
| #define ADI_MASK4B23_D1H_S 24 |
| #define ADI_MASK4B23_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 3 |
| #define ADI_MASK4B23_M1L_S 20 |
| #define ADI_MASK4B23_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 3, - only bits selected |
| // by mask M1L will be affected by |
| // access |
| #define ADI_MASK4B23_D1L_S 16 |
| #define ADI_MASK4B23_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 2 |
| #define ADI_MASK4B23_M0H_S 12 |
| #define ADI_MASK4B23_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 2, - only bits selected |
| // by mask M0H will be affected by |
| // access |
| #define ADI_MASK4B23_D0H_S 8 |
| #define ADI_MASK4B23_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 2 |
| #define ADI_MASK4B23_M0L_S 4 |
| #define ADI_MASK4B23_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 2, - only bits selected |
| // by mask M0L will be affected by |
| // access |
| #define ADI_MASK4B23_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK4B45 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B45_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 5 |
| #define ADI_MASK4B45_M1H_S 28 |
| #define ADI_MASK4B45_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 5, - only bits selected |
| // by mask M1H will be affected by |
| // access |
| #define ADI_MASK4B45_D1H_S 24 |
| #define ADI_MASK4B45_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 5 |
| #define ADI_MASK4B45_M1L_S 20 |
| #define ADI_MASK4B45_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 5, - only bits selected |
| // by mask M1L will be affected by |
| // access |
| #define ADI_MASK4B45_D1L_S 16 |
| #define ADI_MASK4B45_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 4 |
| #define ADI_MASK4B45_M0H_S 12 |
| #define ADI_MASK4B45_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 4, - only bits selected |
| // by mask M0H will be affected by |
| // access |
| #define ADI_MASK4B45_D0H_S 8 |
| #define ADI_MASK4B45_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 4 |
| #define ADI_MASK4B45_M0L_S 4 |
| #define ADI_MASK4B45_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 4, - only bits selected |
| // by mask M0L will be affected by |
| // access |
| #define ADI_MASK4B45_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK4B67 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B67_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 7 |
| #define ADI_MASK4B67_M1H_S 28 |
| #define ADI_MASK4B67_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 7, - only bits selected |
| // by mask M1H will be affected by |
| // access |
| #define ADI_MASK4B67_D1H_S 24 |
| #define ADI_MASK4B67_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 7 |
| #define ADI_MASK4B67_M1L_S 20 |
| #define ADI_MASK4B67_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 7, - only bits selected |
| // by mask M1L will be affected by |
| // access |
| #define ADI_MASK4B67_D1L_S 16 |
| #define ADI_MASK4B67_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 6 |
| #define ADI_MASK4B67_M0H_S 12 |
| #define ADI_MASK4B67_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 6, - only bits selected |
| // by mask M0H will be affected by |
| // access |
| #define ADI_MASK4B67_D0H_S 8 |
| #define ADI_MASK4B67_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 6 |
| #define ADI_MASK4B67_M0L_S 4 |
| #define ADI_MASK4B67_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 6, - only bits selected |
| // by mask M0L will be affected by |
| // access |
| #define ADI_MASK4B67_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK4B89 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B89_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 9 |
| #define ADI_MASK4B89_M1H_S 28 |
| #define ADI_MASK4B89_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 9, - only bits selected |
| // by mask M1H will be affected by |
| // access |
| #define ADI_MASK4B89_D1H_S 24 |
| #define ADI_MASK4B89_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 9 |
| #define ADI_MASK4B89_M1L_S 20 |
| #define ADI_MASK4B89_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 9, - only bits selected |
| // by mask M1L will be affected by |
| // access |
| #define ADI_MASK4B89_D1L_S 16 |
| #define ADI_MASK4B89_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 8 |
| #define ADI_MASK4B89_M0H_S 12 |
| #define ADI_MASK4B89_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 8, - only bits selected |
| // by mask M0H will be affected by |
| // access |
| #define ADI_MASK4B89_D0H_S 8 |
| #define ADI_MASK4B89_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 8 |
| #define ADI_MASK4B89_M0L_S 4 |
| #define ADI_MASK4B89_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 8, - only bits selected |
| // by mask M0L will be affected by |
| // access |
| #define ADI_MASK4B89_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK4B1011 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B1011_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 11 |
| #define ADI_MASK4B1011_M1H_S 28 |
| #define ADI_MASK4B1011_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 11, - only bits |
| // selected by mask M1H will be |
| // affected by access |
| #define ADI_MASK4B1011_D1H_S 24 |
| #define ADI_MASK4B1011_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 11 |
| #define ADI_MASK4B1011_M1L_S 20 |
| #define ADI_MASK4B1011_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 11, - only bits |
| // selected by mask M1L will be |
| // affected by access |
| #define ADI_MASK4B1011_D1L_S 16 |
| #define ADI_MASK4B1011_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 10 |
| #define ADI_MASK4B1011_M0H_S 12 |
| #define ADI_MASK4B1011_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 10, - only bits |
| // selected by mask M0H will be |
| // affected by access |
| #define ADI_MASK4B1011_D0H_S 8 |
| #define ADI_MASK4B1011_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 10 |
| #define ADI_MASK4B1011_M0L_S 4 |
| #define ADI_MASK4B1011_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 10, - only bits |
| // selected by mask M0L will be |
| // affected by access |
| #define ADI_MASK4B1011_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK4B1213 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B1213_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 13 |
| #define ADI_MASK4B1213_M1H_S 28 |
| #define ADI_MASK4B1213_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 13, - only bits |
| // selected by mask M1H will be |
| // affected by access |
| #define ADI_MASK4B1213_D1H_S 24 |
| #define ADI_MASK4B1213_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 13 |
| #define ADI_MASK4B1213_M1L_S 20 |
| #define ADI_MASK4B1213_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 13, - only bits |
| // selected by mask M1L will be |
| // affected by access |
| #define ADI_MASK4B1213_D1L_S 16 |
| #define ADI_MASK4B1213_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 12 |
| #define ADI_MASK4B1213_M0H_S 12 |
| #define ADI_MASK4B1213_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 12, - only bits |
| // selected by mask M0H will be |
| // affected by access |
| #define ADI_MASK4B1213_D0H_S 8 |
| #define ADI_MASK4B1213_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 12 |
| #define ADI_MASK4B1213_M0L_S 4 |
| #define ADI_MASK4B1213_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 12, - only bits |
| // selected by mask M0L will be |
| // affected by access |
| #define ADI_MASK4B1213_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK4B1415 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK4B1415_M1H_M 0xF0000000 // Mask for bits [7:4] in ADI |
| // register 15 |
| #define ADI_MASK4B1415_M1H_S 28 |
| #define ADI_MASK4B1415_D1H_M 0x0F000000 // Data for bits [7:4] in ADI |
| // register 15, - only bits |
| // selected by mask M1H will be |
| // affected by access |
| #define ADI_MASK4B1415_D1H_S 24 |
| #define ADI_MASK4B1415_M1L_M 0x00F00000 // Mask for bits [3:0] in ADI |
| // register 15 |
| #define ADI_MASK4B1415_M1L_S 20 |
| #define ADI_MASK4B1415_D1L_M 0x000F0000 // Data for bits [3:0] in ADI |
| // register 15, - only bits |
| // selected by mask M1L will be |
| // affected by access |
| #define ADI_MASK4B1415_D1L_S 16 |
| #define ADI_MASK4B1415_M0H_M 0x0000F000 // Mask for bits [7:4] in ADI |
| // register 14 |
| #define ADI_MASK4B1415_M0H_S 12 |
| #define ADI_MASK4B1415_D0H_M 0x00000F00 // Data for bits [7:4] in ADI |
| // register 14, - only bits |
| // selected by mask M0H will be |
| // affected by access |
| #define ADI_MASK4B1415_D0H_S 8 |
| #define ADI_MASK4B1415_M0L_M 0x000000F0 // Mask for bits [3:0] in ADI |
| // register 14 |
| #define ADI_MASK4B1415_M0L_S 4 |
| #define ADI_MASK4B1415_D0L_M 0x0000000F // Data for bits [3:0] in ADI |
| // register 14, - only bits |
| // selected by mask M0L will be |
| // affected by access |
| #define ADI_MASK4B1415_D0L_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK8B01 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B01_M1_M 0xFF000000 // Mask for ADI register 1 |
| #define ADI_MASK8B01_M1_S 24 |
| #define ADI_MASK8B01_D1_M 0x00FF0000 // Data for ADI register 1, - only |
| // bits selected by mask M1 will be |
| // affected by access |
| #define ADI_MASK8B01_D1_S 16 |
| #define ADI_MASK8B01_M0_M 0x0000FF00 // Mask for ADI register 0 |
| #define ADI_MASK8B01_M0_S 8 |
| #define ADI_MASK8B01_D0_M 0x000000FF // Data for ADI register 0, - only |
| // bits selected by mask M0 will be |
| // affected by access |
| #define ADI_MASK8B01_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK8B23 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B23_M1_M 0xFF000000 // Mask for ADI register 3 |
| #define ADI_MASK8B23_M1_S 24 |
| #define ADI_MASK8B23_D1_M 0x00FF0000 // Data for ADI register 3, - only |
| // bits selected by mask M1 will be |
| // affected by access |
| #define ADI_MASK8B23_D1_S 16 |
| #define ADI_MASK8B23_M0_M 0x0000FF00 // Mask for ADI register 2 |
| #define ADI_MASK8B23_M0_S 8 |
| #define ADI_MASK8B23_D0_M 0x000000FF // Data for ADI register 2, - only |
| // bits selected by mask M0 will be |
| // affected by access |
| #define ADI_MASK8B23_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK8B45 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B45_M1_M 0xFF000000 // Mask for ADI register 5 |
| #define ADI_MASK8B45_M1_S 24 |
| #define ADI_MASK8B45_D1_M 0x00FF0000 // Data for ADI register 5, - only |
| // bits selected by mask M1 will be |
| // affected by access |
| #define ADI_MASK8B45_D1_S 16 |
| #define ADI_MASK8B45_M0_M 0x0000FF00 // Mask for ADI register 4 |
| #define ADI_MASK8B45_M0_S 8 |
| #define ADI_MASK8B45_D0_M 0x000000FF // Data for ADI register 4, - only |
| // bits selected by mask M0 will be |
| // affected by access |
| #define ADI_MASK8B45_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK8B67 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B67_M1_M 0xFF000000 // Mask for ADI register 7 |
| #define ADI_MASK8B67_M1_S 24 |
| #define ADI_MASK8B67_D1_M 0x00FF0000 // Data for ADI register 7, - only |
| // bits selected by mask M1 will be |
| // affected by access |
| #define ADI_MASK8B67_D1_S 16 |
| #define ADI_MASK8B67_M0_M 0x0000FF00 // Mask for ADI register 6 |
| #define ADI_MASK8B67_M0_S 8 |
| #define ADI_MASK8B67_D0_M 0x000000FF // Data for ADI register 6, - only |
| // bits selected by mask M0 will be |
| // affected by access |
| #define ADI_MASK8B67_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the ADI_O_MASK8B89 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B89_M1_M 0xFF000000 // Mask for ADI register 9 |
| #define ADI_MASK8B89_M1_S 24 |
| #define ADI_MASK8B89_D1_M 0x00FF0000 // Data for ADI register 9, - only |
| // bits selected by mask M1 will be |
| // affected by access |
| #define ADI_MASK8B89_D1_S 16 |
| #define ADI_MASK8B89_M0_M 0x0000FF00 // Mask for ADI register 8 |
| #define ADI_MASK8B89_M0_S 8 |
| #define ADI_MASK8B89_D0_M 0x000000FF // Data for ADI register 8, - only |
| // bits selected by mask M0 will be |
| // affected by access |
| #define ADI_MASK8B89_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK8B1011 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B1011_M1_M 0xFF000000 // Mask for ADI register 11 |
| #define ADI_MASK8B1011_M1_S 24 |
| #define ADI_MASK8B1011_D1_M 0x00FF0000 // Data for ADI register 11, - |
| // only bits selected by mask M1 |
| // will be affected by access |
| #define ADI_MASK8B1011_D1_S 16 |
| #define ADI_MASK8B1011_M0_M 0x0000FF00 // Mask for ADI register 10 |
| #define ADI_MASK8B1011_M0_S 8 |
| #define ADI_MASK8B1011_D0_M 0x000000FF // Data for ADI register 10, - |
| // only bits selected by mask M0 |
| // will be affected by access |
| #define ADI_MASK8B1011_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK8B1213 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B1213_M1_M 0xFF000000 // Mask for ADI register 13 |
| #define ADI_MASK8B1213_M1_S 24 |
| #define ADI_MASK8B1213_D1_M 0x00FF0000 // Data for ADI register 13, - |
| // only bits selected by mask M1 |
| // will be affected by access |
| #define ADI_MASK8B1213_D1_S 16 |
| #define ADI_MASK8B1213_M0_M 0x0000FF00 // Mask for ADI register 12 |
| #define ADI_MASK8B1213_M0_S 8 |
| #define ADI_MASK8B1213_D0_M 0x000000FF // Data for ADI register 12, - |
| // only bits selected by mask M0 |
| // will be affected by access |
| #define ADI_MASK8B1213_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK8B1415 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK8B1415_M1_M 0xFF000000 // Mask for ADI register 15 |
| #define ADI_MASK8B1415_M1_S 24 |
| #define ADI_MASK8B1415_D1_M 0x00FF0000 // Data for ADI register 15, - |
| // only bits selected by mask M1 |
| // will be affected by access |
| #define ADI_MASK8B1415_D1_S 16 |
| #define ADI_MASK8B1415_M0_M 0x0000FF00 // Mask for ADI register 14 |
| #define ADI_MASK8B1415_M0_S 8 |
| #define ADI_MASK8B1415_D0_M 0x000000FF // Data for ADI register 14, - |
| // only bits selected by mask M0 |
| // will be affected by access |
| #define ADI_MASK8B1415_D0_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B01 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B01_M_M 0xFFFF0000 // Mask for ADI register 0 and 1 |
| #define ADI_MASK16B01_M_S 16 |
| #define ADI_MASK16B01_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 0 and 1, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B01_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B23 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B23_M_M 0xFFFF0000 // Mask for ADI register 2 and 3 |
| #define ADI_MASK16B23_M_S 16 |
| #define ADI_MASK16B23_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 2 and 3, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B23_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B45 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B45_M_M 0xFFFF0000 // Mask for ADI register 4 and 5 |
| #define ADI_MASK16B45_M_S 16 |
| #define ADI_MASK16B45_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 4 and 5, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B45_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B67 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B67_M_M 0xFFFF0000 // Mask for ADI register 6 and 7 |
| #define ADI_MASK16B67_M_S 16 |
| #define ADI_MASK16B67_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 6 and 7, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B67_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B89 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B89_M_M 0xFFFF0000 // Mask for ADI register 8 and 9 |
| #define ADI_MASK16B89_M_S 16 |
| #define ADI_MASK16B89_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 8 and 9, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B89_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B1011 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B1011_M_M 0xFFFF0000 // Mask for ADI register 10 and 11 |
| #define ADI_MASK16B1011_M_S 16 |
| #define ADI_MASK16B1011_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 10 and 11, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B1011_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B1213 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B1213_M_M 0xFFFF0000 // Mask for ADI register 12 and 13 |
| #define ADI_MASK16B1213_M_S 16 |
| #define ADI_MASK16B1213_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 12 and 13, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B1213_D_S 0 |
| //***************************************************************************** |
| // |
| // The following are defines for the bit fields in the |
| // ADI_O_MASK16B1415 register. |
| // |
| //***************************************************************************** |
| #define ADI_MASK16B1415_M_M 0xFFFF0000 // Mask for ADI register 14 and 15 |
| #define ADI_MASK16B1415_M_S 16 |
| #define ADI_MASK16B1415_D_M 0x0000FFFF // Data for ADI register at |
| // offsets 14 and 15, - only bits |
| // selected by mask M will be |
| // affected by access |
| #define ADI_MASK16B1415_D_S 0 |
| |
| #endif // __HW_ADI_H__ |