summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam McNally <sammc@chromium.org>2023-02-15 19:39:09 +1100
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-02-15 23:08:51 +0000
commit0dcea8f91170ff88b9f3b9a501e354e3a5b33454 (patch)
treecc080000ec38500021570d335efb1f6711c8f679
parent9892a4554fb0aec2bec03b44b75ec65e97044260 (diff)
downloadchrome-ec-0dcea8f91170ff88b9f3b9a501e354e3a5b33454.tar.gz
dibbi: Split I2C configuration from baseboard and add HDMI-related buses
BUG=b:269367960 TEST=i2cscan can scan all buses BRANCH=none Change-Id: Iccb3a28a24de4e82119d50a1f581162ac58913cf Signed-off-by: Sam McNally <sammc@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4252439 Reviewed-by: Peter Marheine <pmarheine@chromium.org>
-rw-r--r--baseboard/dedede/variant_ec_it8320.c4
-rw-r--r--board/dibbi/board.c41
-rw-r--r--board/dibbi/board.h10
3 files changed, 51 insertions, 4 deletions
diff --git a/baseboard/dedede/variant_ec_it8320.c b/baseboard/dedede/variant_ec_it8320.c
index 7025bba896..5e5590d60c 100644
--- a/baseboard/dedede/variant_ec_it8320.c
+++ b/baseboard/dedede/variant_ec_it8320.c
@@ -73,6 +73,7 @@ const struct vcmp_t vcmp_list[] = {
BUILD_ASSERT(ARRAY_SIZE(vcmp_list) <= CHIP_VCMP_COUNT);
BUILD_ASSERT(ARRAY_SIZE(vcmp_list) == VCMP_COUNT);
+#ifndef BOARD_DIBBI
/* I2C Ports */
const struct i2c_port_t i2c_ports[] = {
{ .name = "eeprom",
@@ -81,13 +82,11 @@ const struct i2c_port_t i2c_ports[] = {
.scl = GPIO_EC_I2C_EEPROM_SCL,
.sda = GPIO_EC_I2C_EEPROM_SDA },
-#ifndef BOARD_DIBBI
{ .name = "battery",
.port = I2C_PORT_BATTERY,
.kbps = 100,
.scl = GPIO_EC_I2C_BATTERY_SCL,
.sda = GPIO_EC_I2C_BATTERY_SDA },
-#endif
#if defined(HAS_TASK_MOTIONSENSE) || defined(BOARD_SHOTZO)
{ .name = "sensor",
@@ -112,3 +111,4 @@ const struct i2c_port_t i2c_ports[] = {
.sda = GPIO_EC_I2C_USB_C0_SDA },
};
const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
+#endif
diff --git a/board/dibbi/board.c b/board/dibbi/board.c
index a7d7767341..d3358eb2ff 100644
--- a/board/dibbi/board.c
+++ b/board/dibbi/board.c
@@ -6,6 +6,7 @@
/* Dibbi board-specific configuration */
#include "adc_chip.h"
+#include "board.h"
#include "button.h"
#include "charge_manager.h"
#include "charge_state_v2.h"
@@ -380,5 +381,45 @@ void ppc_interrupt(enum gpio_signal signal)
syv682x_interrupt(USBC_PORT_C0);
}
+/* I2C Ports */
+const struct i2c_port_t i2c_ports[] = {
+ { .name = "eeprom",
+ .port = I2C_PORT_EEPROM,
+ .kbps = 400,
+ .scl = GPIO_EC_I2C_EEPROM_SCL,
+ .sda = GPIO_EC_I2C_EEPROM_SDA },
+
+ { .name = "hdmi2_edid",
+ .port = I2C_PORT_HDMI2_EDID,
+ .kbps = 100,
+ .scl = GPIO_EC_I2C_HDMI2_EDID_SCL,
+ .sda = GPIO_EC_I2C_HDMI2_EDID_SDA },
+
+ { .name = "usbc0",
+ .port = I2C_PORT_USB_C0,
+ .kbps = 1000,
+ .scl = GPIO_EC_I2C_USB_C0_SCL,
+ .sda = GPIO_EC_I2C_USB_C0_SDA },
+
+ { .name = "hdmi2_src_ddc",
+ .port = I2C_PORT_HDMI2_SRC_DDC,
+ .kbps = 100,
+ .scl = GPIO_EC_I2C_HDMI2_SRC_DDC_SCL,
+ .sda = GPIO_EC_I2C_HDMI2_SRC_DDC_SDA },
+
+ { .name = "hdmi1_edid",
+ .port = I2C_PORT_HDMI1_EDID,
+ .kbps = 100,
+ .scl = GPIO_EC_I2C_HDMI1_EDID_SCL,
+ .sda = GPIO_EC_I2C_HDMI1_EDID_SDA },
+
+ { .name = "hdmi1_src_ddc",
+ .port = I2C_PORT_HDMI1_SRC_DDC,
+ .kbps = 100,
+ .scl = GPIO_EC_I2C_HDMI1_SRC_DDC_SCL,
+ .sda = GPIO_EC_I2C_HDMI1_SRC_DDC_SDA },
+};
+
+const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
/* Must come after other header files and interrupt handler declarations */
#include "gpio_list.h"
diff --git a/board/dibbi/board.h b/board/dibbi/board.h
index 797c253226..e3d0b0925b 100644
--- a/board/dibbi/board.h
+++ b/board/dibbi/board.h
@@ -17,6 +17,14 @@
#define CONFIG_CMD_CHARGER_DUMP
+/* I2C Bus Configuration */
+#define I2C_PORT_HDMI2_EDID IT83XX_I2C_CH_B
+#undef I2C_PORT_USB_C0
+#define I2C_PORT_USB_C0 IT83XX_I2C_CH_C
+#define I2C_PORT_HDMI2_SRC_DDC IT83XX_I2C_CH_D
+#define I2C_PORT_HDMI1_EDID IT83XX_I2C_CH_E
+#define I2C_PORT_HDMI1_SRC_DDC IT83XX_I2C_CH_F
+
/* Power */
#undef CONFIG_CHARGER
#undef CONFIG_CHARGER_DISCHARGE_ON_AC
@@ -52,8 +60,6 @@
/* USB Mux and Retimer */
#define CONFIG_USB_MUX_IT5205 /* C0: ITE Mux */
-#undef I2C_PORT_USB_C0
-#define I2C_PORT_USB_C0 IT83XX_I2C_CH_C
#define I2C_PORT_USB_MUX I2C_PORT_USB_C0 /* Required for ITE Mux */
/* USB Type A Features */