MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / Ft_setI2cMux

Function Ft_setI2cMux

bsp/ft2004/libraries/bsp/standlone/ft_mux.c:27–54  ·  view source on GitHub ↗

* Description: enable i2c 1 ~ 3 pin pad mux * Date: 2021-03-24 13:34:06 * Param: * return {*} * param {FT_IN u32} I2cId, i2c 0 ~ 3 */

Source from the content-addressed store, hash-verified

25 * param {FT_IN u32} I2cId, i2c 0 ~ 3
26 */
27void Ft_setI2cMux(FT_IN u32 I2cId)
28{
29 u32 RegValue;
30
31 switch (I2cId)
32 {
33 case I2C0_ID:
34 /* i2c0 is by default enabled */
35 break;
36 case I2C1_ID:
37 /* select i2c1 SCL, SDA mux */
38 RegValue = Ft_in32(FT_PIN_DEMUX_BASE + FT_PIN_DEMUX_REG200_OFFSET);
39 RegValue |= (I2C1_SCL_PIN_REG200_BIT | I2C1_SDA_PIN_REG200_BIT);
40 Ft_out32(FT_PIN_DEMUX_BASE + FT_PIN_DEMUX_REG200_OFFSET, RegValue);
41 break;
42 case I2C2_ID:
43 Ft_assertNoneReturn(0);
44 break;
45 case I2C3_ID:
46 Ft_assertNoneReturn(0);
47 break;
48 default:
49 Ft_assertNoneReturn(0);
50 break;
51 }
52
53 return;
54}
55
56void Ft_setSpiMux(FT_IN u32 SpiId)
57{

Callers 1

FI2C_initMasterFunction · 0.85

Calls 2

Ft_in32Function · 0.85
Ft_out32Function · 0.85

Tested by

no test coverage detected