mb/starlabs/starbook/cml: Switch to the merlin EC

Change-Id: I27062c38c10df1d03f563b2f5391f79a3b6ee4fe
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81411
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Sean Rhodes 2024-02-19 14:11:11 +00:00 committed by Felix Held
parent ea96ed3c72
commit ee49088cc3
4 changed files with 2 additions and 337 deletions

View File

@ -1,28 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <assert.h>
#include <stdint.h>
/*
* EC communication interface for ITE Embedded Controller
*/
#ifndef _EC_STARLABS_CML_EC_DEFS_H
#define _EC_STARLABS_CML_EC_DEFS_H
/* IT8987 chip ID byte values */
#define ITE_CHIPID_VAL 0x8987
/* EC RAM offsets */
#define ECRAM_KBL_TIMEOUT 0x07
#define ECRAM_FN_CTRL_REVERSE 0x08
#define ECRAM_FAN_MODE 0x09
#define ECRAM_MAX_CHARGE 0x1a
#define ECRAM_TRACKPAD_STATE 0x14
#define ECRAM_KBL_STATE 0x18
#define ECRAM_KBL_BRIGHTNESS 0x19
#define ECRAM_FN_LOCK_STATE 0x2c
#define ECRAM_FAST_CHARGE dead_code_t(uint8_t)
#define ECRAM_MIRROR_FLAG 0x04
#endif

View File

@ -1,169 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
OperationRegion (ECF2, EmbeddedControl, 0x00, 0x100)
Field (ECF2, ByteAcc, Lock, Preserve)
{
Offset(0x00),
ECMV, 8, // Major Version Number
ECSV, 8, // Minor Version Number
KBVS, 8, // Keyboard Controller Version
ECTV, 8, // Test Version Number
FRMF, 8, // Force Mirror Flag
TXEL, 8, // TXE Lock
SSIT, 8, // Show Setup Items
KLTE, 8, // Keyboard Backlight Timeout
FCLA, 8, // Fn Ctrl Reverse
FANM, 8, // Fan Mode
Offset(0x0a),
P0MV, 8, // PD Port 0 Major Version
P0SV, 8, // PD Port 0 Minor Version
P1MV, 8, // PD Port 1 Major Version
P1SV, 8, // PD Port 1 Minor Version
Offset(0x10),
PWCT, 8, // Power Control
CDEV, 8, // Control Device
OSFG, 8, // OS Flag
Offset(0x14),
TPLE, 8, // Trackpad State
AFG3, 8, // After G3
CLTP, 8, // Close Trackpad
WKOL, 8, // Wake on Lid
KLSE, 8, // Keyboard Backlight State
KLBE, 8, // Keyboard Backlight Brightness
Offset(0x1a),
BFCP, 8, // Battery Full Charge Percentage
Offset(0x1c),
WIFI, 8, // WiFi Enable
Offset(0x22),
ECT0, 8, // EC Build Time 0
ECT1, 8, // EC Build Time 1
ECT2, 8, // EC Build Time 2
ECT3, 8, // EC Build Time 3
ECT4, 8, // EC Build Time 4
ECT5, 8, // EC Build Time 5
ECT6, 8, // EC Build Time 6
ECT7, 8, // EC Build Time 7
ECT8, 8, // EC Build Time 8
ECT9, 8, // EC Build Time 9
FLKE, 8, // Function Lock State
MICF, 8, // Mic Flag
MUTF, 8, // Mute Flag
BC12, 8, // BC12 Flag
Offset(0x30),
STEF, 8, // Sensor T Error F
ECD0, 8, // EC Build Date 0
ECD1, 8, // EC Build Date 1
ECD2, 8, // EC Build Date 2
ECD3, 8, // EC Build Date 3
ECD4, 8, // EC Build Date 4
ECD5, 8, // EC Build Date 5
ECD6, 8, // EC Build Date 6
ECD7, 8, // EC Build Date 7
ECD8, 8, // EC Build Date 8
ECD9, 8, // EC Build Date 9
Offset(0x4c),
PJN0, 8, // Project Name 0
PJN1, 8, // Project Name 1
PJN2, 8, // Project Name 2
PJN3, 8, // Project Name 3
Offset(0x62),
TSE2, 8, // Sensor 2 Temperature
SENF, 8, // Sensor F
TSHT, 8, // Thermal Sensor High Trip Point
TSLT, 8, // Thermal Sensor Low Trip Point
THER, 8, // Thermal Source
Offset(0x70),
CPUT, 8, // PECI CPU Temperature
PMXT, 8, // PLMX Temperature
CHAR, 8, // Charger Temperature
Offset(0x7f),
LSTE, 1, // Lid Status
, 7, // Reserved
Offset(0x80),
ECPS, 8, // AC & Battery status
B1MN, 8, // Battery Model Number Code
B1SN, 16, // Battery Serial Number
B1DC, 16, // Battery Design Capacity
B1DV, 16, // Battery Design Voltage
B1FC, 16, // Battery Last Full Charge Capacity
B1TP, 16, // Battery Trip Point
B1ST, 8, // Battery State
B1PR, 16, // Battery Present Rate
B1RC, 16, // Battery Remaining Capacity
B1PV, 16, // Battery Present Voltage
BPRP, 8, // Battery Remaining percentage
BT1A, 8, // Bt1 ASOC
BT1T, 16, // Bt1 Temperature
BT1C, 8, // Bt1 Control
Offset(0x9d),
OPWE, 8, // OPM write to EC flag for UCSI
Offset(0xa0),
UCSV, 16, // UCSI DS Version
UCSD, 16, // UCSI DS Reserved
CCI0, 8, // UCSI DS CCI 0
CCI1, 8, // UCSI DS CCI 1
CCI2, 8, // UCSI DS CCI 2
CCI3, 8, // UCSI DS CCI 3
CTL0, 8, // UCSI DS Control 0
CTL1, 8, // UCSI DS Control 0
CTL2, 8, // UCSI DS Control 0
CTL3, 8, // UCSI DS Control 0
CTL4, 8, // UCSI DS Control 0
CTL5, 8, // UCSI DS Control 0
CTL6, 8, // UCSI DS Control 0
CTL7, 8, // UCSI DS Control 0
Offset(0xb0),
MGI0, 8, // UCSI DS MGI 0
MGI1, 8, // UCSI DS MGI 1
MGI2, 8, // UCSI DS MGI 2
MGI3, 8, // UCSI DS MGI 3
MGI4, 8, // UCSI DS MGI 4
MGI5, 8, // UCSI DS MGI 5
MGI6, 8, // UCSI DS MGI 6
MGI7, 8, // UCSI DS MGI 7
MGI8, 8, // UCSI DS MGI 8
MGI9, 8, // UCSI DS MGI 9
MGIA, 8, // UCSI DS MGI A
MGIB, 8, // UCSI DS MGI B
MGIC, 8, // UCSI DS MGI C
MGID, 8, // UCSI DS MGI D
MGIE, 8, // UCSI DS MGI E
MGIF, 8, // UCSI DS MGI F
Offset(0xc0),
MGO0, 8, // UCSI DS MGO 0
MGO1, 8, // UCSI DS MGO 1
MGO2, 8, // UCSI DS MGO 2
MGO3, 8, // UCSI DS MGO 3
MGO4, 8, // UCSI DS MGO 4
MGO5, 8, // UCSI DS MGO 5
MGO6, 8, // UCSI DS MGO 6
MGO7, 8, // UCSI DS MGO 7
MGO8, 8, // UCSI DS MGO 8
MGO9, 8, // UCSI DS MGO 9
MGOA, 8, // UCSI DS MGO A
MGOB, 8, // UCSI DS MGO B
MGOC, 8, // UCSI DS MGO C
MGOD, 8, // UCSI DS MGO D
MGOE, 8, // UCSI DS MGO E
MGOF, 8, // UCSI DS MGO F
Offset(0xe6),
ECWD, 16, // EC Wakeup Delay
ECWE, 8, // EC Wakeup Enable
}

View File

@ -1,140 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-only */
Method (_Q0D, 0, NotSerialized) // Event: Lid Opened
{
\LIDS = LSTE
Notify (LID0, 0x80)
}
Method (_Q0C, 0, NotSerialized) // Event: Lid Closed
{
\LIDS = LSTE
Notify (LID0, 0x80)
}
Method (_QA0, 0, NotSerialized) // Event: AC Power Connected
{
Notify (BAT0, 0x81)
Notify (ADP1, 0x80)
}
Method (_Q0B, 0, NotSerialized) // Event: AC Power Disconnected
{
Notify (BAT0, 0x81)
Notify (BAT0, 0x80)
}
Method (_Q06, 0, NotSerialized) // Event: Backlight Brightness Down
{
^^^^HIDD.HPEM (20)
}
Method (_Q07, 0, NotSerialized) // Event: Backlight Brightness Up
{
^^^^HIDD.HPEM (19)
}
Method (_Q08, 0, NotSerialized) // Event: Function Lock
{
Printf ("EC: Function Lock")
}
Method (_Q04, 0, NotSerialized) // Event: Trackpad Lock
{
Printf ("EC: Trackpad Lock")
}
Method (_Q11, 0, NotSerialized) // Event: Keyboard Backlight Brightness
{
Printf ("EC: Keyboard Brightness")
}
Method (_Q99, 0, NotSerialized) // Event: Airplane Mode
{
^^^^HIDD.HPEM (8)
}
Method (_QD5, 0, NotSerialized) // Event: 10 Second Power Button Pressed
{
Notify (HIDD, 0xCE)
}
Method (_QD6, 0, NotSerialized) // Event: 10 Second Power Button Released
{
Notify (HIDD, 0xCF)
}
Method (_Q22, 0, NotSerialized) // Event: CHARGER_T
{
Printf ("EC: CHARGER_T")
}
Method (_Q40, 0, NotSerialized) // Event: AC and DC Power
{
SMB2 = 0xC6
}
Method (_Q41, 0, NotSerialized) // Event: Battery Charge between 0% and 20%
{
SMB2 = 0xC7
}
Method (_Q42, 0, NotSerialized) // Event: Battery Charge between 20% and 60%
{
SMB2 = 0xC8
}
Method (_Q43, 0, NotSerialized) // Event: Battery Charge between 60% and 100%
{
SMB2 = 0xC9
}
Method (_Q44, 0, NotSerialized) // Event: AC Power Only
{
SMB2 = 0xCA
}
Method (_Q80, 0, NotSerialized) // Event: Volume Up
{
Printf ("EC: VOLUME_UP")
}
Method (_Q81, 0, NotSerialized) // Event: Volume Down
{
Printf ("EC: VOLUME_DOWN")
}
Method (_Q54, 0, NotSerialized) // Event: Power Button Press
{
Printf ("EC: PWRBTN")
}
Method (_QF0, 0, NotSerialized) // Event: Temperature Report
{
Printf ("EC: Temperature Report")
}
Method (_QF1, 0, NotSerialized) // Event: Temperature Trigger
{
// Notify (SEN3, 0x90)
}
/*
* The below events are unique to this platform.
*/
Method (_Q02, 0, NotSerialized) // Event: APP
{
Printf ("EC: APP")
}
Method (_Q82, 0, NotSerialized) // Event: MIC
{
Printf ("EC: MIC")
}
Method (_Q83, 0, NotSerialized) // Event: MUTE
{
Printf ("EC: MUTE")
}

View File

@ -30,7 +30,9 @@ config BOARD_STARLABS_LABTOP_KBL
config BOARD_STARLABS_LABTOP_CML
select BOARD_ROMSIZE_KB_16384
select BOARD_STARLABS_STARBOOK_SERIES
select EC_STARLABS_KBL_LEVELS
select EC_STARLABS_MAX_CHARGE
select EC_STARLABS_MERLIN
select EC_STARLABS_NEED_ITE_BIN
select HAVE_INTEL_PTT
select HAVE_SPD_IN_CBFS