• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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