Data Sheet
ICM-20948
Document Number: DS-000189  Page 71 of 89 
Revision: 1.3 
11.9  I2C_SLV1_REG 
Name: I2C_SLV1_REG 
Address: 8 (08h) 
Type: USR3 
Bank: 3 
Serial IF: R/W 
Reset Value: 0x00 
BIT 
NAME 
FUNCTION 
7:0 
I2C_SLV1_REG[7:0] 
I
2
C slave 1 register address from where to begin data transfer. 
11.10 I2C_SLV1_CTRL 
Name: I2C_SLV1_CTRL 
Address: 9 (09h) 
Type: USR3 
Bank: 3 
Serial IF: R/W 
Reset Value: 0x00 
BIT  NAME  FUNCTION 
7 
I2C_SLV1_EN 
1 – Enable reading data from this slave at the sample rate and storing data at the first 
available EXT_SENS_DATA register as determined by I2C_SLV0_EN and 
I2C_SLV0_LENG. 
0 – Function is disabled for this slave. 
6 
I2C_SLV1_BYTE_SW 
1 – Swap bytes when reading both the low and high byte of a word. Note there is 
nothing to swap after reading the first byte if I2C_SLV1_REG[0] = 1, or if the last byte 
read has a register address lsb = 0.  
For example, if I2C_SLV0_EN = 0x1, and I2C_SLV0_LENG = 0x3 (to show swap has to 
do with I2C slave address not EXT_SENS_DATA address), and if I2C_SLV1_REG = 0x1, 
and I2C_SLV1_LENG = 0x4: 
1) The first byte read from address 0x1 will be stored at EXT_SENS_DATA_03 (slave 
0’s data will be in EXT_SENS_DATA_00, EXT_SENS_DATA_01, and 
EXT_SENS_DATA_02),  
2) the second and third bytes will be read and swapped, so the data read from 
address 0x2 will be stored at EXT_SENS_DATA_04, and the data read from address 
0x3 will be stored at EXT_SENS_DATA_05, 
3) The last byte read from address 0x4 will be stored at EXT_SENS_DATA_06. 
0 – No swapping occurs, bytes are written in order read. 
5 
I2C_SLV1_REG_DIS 
When set, the transaction does not write a register value, it will only read data, or 
write data. 
4 
I2C_SLV1_GRP 
External sensor data typically comes in as groups of two bytes. This bit is used to 
determine if the groups are from the slave’s register address 0 and 1, 2 and 3, etc.., 
or if the groups are address 1 and 2, 3 and 4, etc. 
0 indicates slave register addresses 0 and 1 are grouped together (odd numbered 
register ends the group). 1 indicates slave register addresses 1 and 2 are grouped 
together (even numbered register ends the group). This allows byte swapping of 
registers that are grouped starting at any address. 
3:0 
I2C_SLV1_LENG[3:0] 
Number of bytes to be read from I
2
C slave 1. 










