diff --git a/board/yorp/board.c b/board/yorp/board.c index c1b1a9ac27..20859d25c1 100644 --- a/board/yorp/board.c +++ b/board/yorp/board.c @@ -89,12 +89,6 @@ const struct adc_t adc_channels[] = { /* Vbus C1 sensing (10x voltage divider). PPVAR_USB_C1_VBUS */ [ADC_VBUS_C1] = { "VBUS_C1", NPCX_ADC_CH9, ADC_MAX_VOLT*10, ADC_READ_MAX+1, 0}, - /* Board ID 1. Least Significant nibble */ - [ADC_BRD_ID1] = { - "BRD_ID1", NPCX_ADC_CH6, ADC_MAX_VOLT, ADC_READ_MAX+1, 0}, - /* Board ID 2. Most Significant nibble */ - [ADC_BRD_ID2] = { - "BRD_ID2", NPCX_ADC_CH7, ADC_MAX_VOLT, ADC_READ_MAX+1, 0}, }; BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); @@ -327,82 +321,6 @@ uint16_t tcpc_get_alert_status(void) return status; } -static const int UNKNOWN_BRD_ID = -1; -static const int board_id_thresh_mv[] = { - /* Vin = 3.3V, Ideal voltage, R2 values listed below */ - /* R1 = 51.1 kOhm */ - 200, /* 124 mV, 2.0 Kohm */ - 366, /* 278 mV, 4.7 Kohm */ - 550, /* 456 mV, 8.2 Kohm */ - 752, /* 644 mV, 12.4 Kohm */ - 927, /* 860 mV, 18.0 Kohm */ - 1073, /* 993 mV, 22.0 Kohm */ - 1235, /* 1152 mV, 27.4 Kohm */ - 1386, /* 1318 mV, 34.0 Kohm */ - 1552, /* 1453 mV, 40.2 Kohm */ - /* R1 = 10.0 kOhm */ - 1739, /* 1650 mV, 10.0 Kohm */ - 1976, /* 1827 mV, 12.4 Kohm */ - 2197, /* 2121 mV, 18.0 Kohm */ - 2344, /* 2269 mV, 22.0 Kohm */ - 2484, /* 2418 mV, 27.4 Kohm */ - 2636, /* 2550 mV, 34.0 Kohm */ - 2823, /* 2721 mV, 47.0 Kohm */ -}; - -static int read_board_id_adc(enum adc_channel chan) -{ - int mv; - int i; - - mv = adc_read_channel(chan); - cprints(CC_SYSTEM, "BOARD ID ADC %d = %d mV", - chan == ADC_BRD_ID1 ? 1 : 2, mv); - - if (mv == ADC_READ_ERROR) - return UNKNOWN_BRD_ID; - - for (i = 0; i < ARRAY_SIZE(board_id_thresh_mv); i++) - if (mv < board_id_thresh_mv[i]) - return i; - - return UNKNOWN_BRD_ID; -} - - -int board_get_version(void) -{ - static int version = UNKNOWN_BRD_ID; - int level; - - if (version != UNKNOWN_BRD_ID) - return version; - - /* Enabled Board ID circuit and wait for it to stabilize. */ - gpio_set_level(GPIO_EC_BRD_ID_EN, 1); - msleep(1); - - level = read_board_id_adc(ADC_BRD_ID1); - if (level == UNKNOWN_BRD_ID) - goto error; - version = level & 0x0F; - - level = read_board_id_adc(ADC_BRD_ID2); - if (level == UNKNOWN_BRD_ID) - goto error; - version = version | ((level & 0x0F) << 4); - - gpio_set_level(GPIO_EC_BRD_ID_EN, 0); - cprints(CC_SYSTEM, "Board version: %d", version); - return version; - -error: - gpio_set_level(GPIO_EC_BRD_ID_EN, 0); - cprints(CC_SYSTEM, "Board version unknown!"); - version = UNKNOWN_BRD_ID; - return version; -} - /* Keyboard scan setting */ struct keyboard_scan_config keyscan_config = { /* diff --git a/board/yorp/board.h b/board/yorp/board.h index f9d8a9fb93..ba862b49e9 100644 --- a/board/yorp/board.h +++ b/board/yorp/board.h @@ -32,6 +32,8 @@ #define CONFIG_VSTORE_SLOT_COUNT 1 #define CONFIG_BOARD_VERSION #define CONFIG_BOARD_SPECIFIC_VERSION +#define CONFIG_CRC8 +#define CONFIG_CROS_BOARD_INFO /* Keyboard */ #define CONFIG_CMD_KEYBOARD #define CONFIG_KEYBOARD_BOARD_CONFIG @@ -120,6 +122,7 @@ #define I2C_PORT_EEPROM NPCX_I2C_PORT3_0 #define I2C_PORT_CHARGER NPCX_I2C_PORT4_1 #define I2C_PORT_SENSOR NPCX_I2C_PORT7_0 +#define I2C_ADDR_EEPROM 0xA0 /* Sensors */ #define CONFIG_ACCEL_KX022 /* Lid accel */ @@ -160,8 +163,6 @@ enum adc_channel { ADC_VBUS_C0, ADC_VBUS_C1, - ADC_BRD_ID1, - ADC_BRD_ID2, ADC_CH_COUNT }; diff --git a/board/yorp/gpio.inc b/board/yorp/gpio.inc index ab28e42d5d..7834a60638 100644 --- a/board/yorp/gpio.inc +++ b/board/yorp/gpio.inc @@ -106,9 +106,6 @@ GPIO(USB_C1_HPD_1V8_ODL, PIN(C, 6), GPIO_INPUT | /* C1 DP Hotplug Detect */ GPIO(BAT_LED_ORANGE_L, PIN(C, 3), GPIO_OUT_HIGH) /* LED_1_L */ GPIO(BAT_LED_BLUE_L, PIN(C, 4), GPIO_OUT_HIGH) /* LED_2_L */ -/* Board IDs */ -GPIO(EC_BRD_ID_EN, PIN(9, 6), GPIO_OUT_LOW) - /* Keyboard pins */ ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_INPUT) /* KSI_00-01 */ ALTERNATE(PIN_MASK(2, 0xFC), 0, MODULE_KEYBOARD_SCAN, GPIO_INPUT) /* KSI_02-07 */