coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
i2c.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <soc/addressmap.h>
4 #include <soc/clock.h>
5 #include <soc/nvidia/tegra/i2c.h>
6 
8  {
9  .base = (void *)TEGRA_I2C_BASE,
12  },
13  {
14  .base = (void *)TEGRA_I2C2_BASE,
17  },
18  {
19  .base = (void *)TEGRA_I2C3_BASE,
22  },
23  {
24  .base = (void *)TEGRA_I2C4_BASE,
27  },
28  {
29  .base = (void *)TEGRA_I2C5_BASE,
32  },
33  {
34  .base = (void *)TEGRA_I2C6_BASE,
37  }
38 };
39 
40 const unsigned int num_i2c_buses = ARRAY_SIZE(tegra_i2c_info);
#define ARRAY_SIZE(a)
Definition: helpers.h:12
void clock_reset_l(u32 bit)
Definition: clock.c:620
void clock_reset_x(u32 bit)
Definition: clock.c:655
void clock_reset_u(u32 bit)
Definition: clock.c:634
void clock_reset_v(u32 bit)
Definition: clock.c:641
void clock_reset_h(u32 bit)
Definition: clock.c:627
struct tegra_i2c_bus_info tegra_i2c_info[]
Definition: i2c.c:7
const unsigned int num_i2c_buses
Definition: i2c.c:40
@ TEGRA_I2C6_BASE
Definition: addressmap.h:43
@ TEGRA_I2C2_BASE
Definition: addressmap.h:39
@ TEGRA_I2C3_BASE
Definition: addressmap.h:40
@ TEGRA_I2C4_BASE
Definition: addressmap.h:41
@ TEGRA_I2C5_BASE
Definition: addressmap.h:42
@ TEGRA_I2C_BASE
Definition: addressmap.h:37
@ CLK_H_I2C2
Definition: clock.h:61
@ CLK_H_I2C5
Definition: clock.h:56
@ CLK_U_I2C3
Definition: clock.h:74
@ CLK_L_I2C1
Definition: clock.h:24
@ CLK_V_I2C4
Definition: clock.h:113
@ CLK_X_I2C6
Definition: clock.h:156
uint32_t reset_bit
Definition: i2c.h:113
void(* reset_func)(u32 bit)
Definition: i2c.h:114
void * base
Definition: i2c.h:112