1root { 2 platform { 3 i2c_config { 4 match_attr = "st_stm32mp1_i2c"; 5 6 template i2c_controller { 7 bus = 1; 8 reg_pbase = 0x40012000; 9 reg_size = 0x400; 10 timing = 0x10909CEC; 11 own_address1 = 0; 12 addressing_mode = 0x00000001; 13 dual_address_mode = 0x00000000; 14 own_address2 = 0; 15 own_address_2_masks = 0x00; 16 general_call_mode = 0x00000000; 17 no_stretch_mode = 0x00000000; 18 } 19 20 controller_0x40012000 :: i2c_controller { 21 bus = 1; 22 reg_pbase = 0x40012000; 23 24 /* [port,pin] 25 <port> 0:GPIOA 1:GPIOB 3:GPIOC ...... 26 <pin> 0:PIN0 1:PIN1 2:PIN2 ...... 27 */ 28 i2cClkIomux = [3, 12]; //PD12 29 i2cDataIomux = [5, 15]; //PF15 30 } 31 controller_0x40013000 :: i2c_controller { 32 bus = 2; 33 reg_pbase = 0x40013000; 34 35 i2cClkIomux = [7, 4]; //PH4 36 i2cDataIomux = [7, 5]; //PH5 37 } 38 controller_0x40015000 :: i2c_controller { 39 bus = 5; 40 reg_pbase = 0x40015000; 41 42 i2cClkIomux = [0, 11]; //PA11 43 i2cDataIomux = [0, 12]; //PA12 44 } 45 } 46 } 47} 48