SBAA415 April 2020 PCM6240-Q1 , PCM6260-Q1 , PCM6340-Q1 , PCM6360-Q1
To simplify board routing and TDM bus timing requirements, or to avoid high SDOUT line load capacitance, PCM6xx0 devices offer a daisy-chain mode that routes data output (SDOUT) of one device as input to the GPI1 pin (GPIO1) of another device. Each device internally combines the data into the appropriate slot in the TDM bus and passes it to the next device.
Setting the ASI_DAISY bit field of the ASI_CFG2 Register shown in Table 11 configures the devices for daisy chain configuration.
Setting the ASI_DAISY bit field of the ASI_CFG2 Register shown in Table 11 configures the devices for daisy chain configuration.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ASI_DAISY | Reserved | ASI_ERR | ASI_ERR_
RCOV |
Reserved | |||
R/W-0h | R-0h | R/W-0h | R/W-0h | R-0h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7 | ASI_DAISY | R/W | 0h | ASI daisy-chain connection
0d = All devices are connected in the common ASI bus 1d = All devices are daisy-chained for the ASI bus |
6 | Reserved | R | 0h | Reserved |
5 | ASI_ERR | R/W | 0h | ASI bus error detection
0d = Enable bus error detection 1d = Disable bus error detection |
4 | ASI_ERR_RCOV | R/W | 0h | ASI bus error auto resume
0d = Enable auto resume after bus error recovery 1d = Disable auto resume after bus error recovery and remains powered down until the host configures the device |
3-0 | Reserved | R | 0h | Reserved |
For all the devices that take the SDOUT as input from another device into the GPIO1 pin, the bit filed GPIO1_CFG of the GPIO_CFG0 register must be set to "ASI Input for daisy chain (SDIN)," as shown in Table 12.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
GPIO1_CFG[3:0] | Reserved | GPIO1_DRV[2:0] | |||||
R/W-2h | R-0h | R/W-2h |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
7-4 | GPIO1_CFG[3:0] | R/W | 2h | GPIO1 configuration
0d = GPIO1 is disabled 1d = GPIO1 is configured as a general-purpose output (GPO) 2d = GPIO1 is configured as a device interrupt output (IRQ) 3d = GPIO1 is configured as a secondary ASI output (SDOUT2) 4d to 7d = Reserved 8d = GPIO1 is configured as an input to control when MICBIAS turns on or off (MICBIAS_EN) 9d = GPIO1 is configured as a general-purpose input (GPI) 10d = GPIO1 is configured as a master clock input (MCLK) 11d = GPIO1 is configured as an ASI input for daisy-chain (SDIN) 12d to 15d = Reserved |
3 | Reserved | R | 0h | Reserved |
2-0 | GPIO1_DRV[2:0] | R/W | 2h | GPIO1 output drive configuration (not used when GPIO1 is configured as SDOUT2)
0d = Hi-Z output 1d = Drive active low and active high 2d = Drive active low and weak high 3d = Drive active low and Hi-Z 4d = Drive weak low and active high 5d = Drive Hi-Z and active high 6d to 7d = Reserved |
For the example of , the following I2C script configures U1, U2, and U3 for daisy chain, taking input from the next device in the SDOUT through GPIO1 of the chain. Note that channels of each device are mapped to slots 0-3. However, the SDOUT of U1 has slots 0-3 with the U1 channels, slots 4-7 with the U2 channels, slots 8-11 with the U3 channels, and slots 12-15 with the U4 channels. Note that the last device in the daisy chain does not need to be configured for daisy chain mode since it is not taking input on GPIO1 from another device.
w 90 0B 00 # Set U1 Ch1 mapped to slot 0 of SDOUT
w 90 0C 01 # Set U1 Ch2 mapped to slot 1 of SDOUT
w 90 0D 02 # Set U1 Ch3 mapped to slot 2 of SDOUT
w 90 0E 03 # Set U1 Ch4 mapped to slot 3 of SDOUT
w 91 0B 00 # Set U2 Ch1 mapped to slot 0 of SDOUT
w 91 0C 01 # Set U2 Ch2 mapped to slot 1 of SDOUT
w 91 0D 02 # Set U2 Ch3 mapped to slot 2 of SDOUT
w 91 0E 03 # Set U2 Ch4 mapped to slot 3 of SDOUT
w 92 0B 00 # Set U3 Ch1 mapped to slot 0 of SDOUT
w 92 0C 01 # Set U3 Ch2 mapped to slot 1 of SDOUT
w 92 0D 02 # Set U3 Ch3 mapped to slot 2 of SDOUT
w 92 0E 03 # Set U3 Ch4 mapped to slot 3 of SDOUT
w 93 0B 00 # Set U4 Ch1 mapped to slot 0 of SDOUT
w 93 0C 01 # Set U4 Ch1 mapped to slot 1 of SDOUT
w 93 0D 02 # Set U4 Ch1 mapped to slot 2 of SDOUT
w 93 0E 03 # Set U4 Ch1 mapped to slot 3 of SDOUT
w 90 09 80 # Set U1's ASI to daisy chain
w 90 21 B0 # Set U1's GPIO1 input as ASI input for daisy chain
w 91 09 80 # Set U2's ASI to daisy chain
w 91 21 B0 # Set U2's GPIO1 input as ASI input for daisy chain
w 92 09 80 # Set U3's ASI to daisy chain
w 92 21 B0 # Set U3's GPIO1 input as ASI input for daisy chain