pnp: Match EC2I programming guide

Use the sequence specified by the flowcharts in the ITE manuals.

Ref: IT5570E V0.3.2 datasheet; 7.15.5 EC2I Programming Guide
Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
Tim Crawford
2024-05-06 15:57:54 -06:00
committed by Jeremy Soller
parent 8382c81b9d
commit fc3bad29a2

View File

@ -13,22 +13,29 @@ volatile uint8_t __xdata __at(0x1204) IBMAE;
volatile uint8_t __xdata __at(0x1205) IBCTL;
uint8_t ec2i_read(uint8_t port) {
uint8_t ihd;
while (IBCTL & (BIT(2) | BIT(1))) {}
IBCTL = 1;
IBMAE = 1;
IHIOA = port;
IBCTL |= BIT(1);
IBMAE = BIT(0);
IBCTL = BIT(1);
IBCTL |= BIT(0);
while (IBCTL & BIT(1)) {}
return IHD;
ihd = IHD;
IBMAE = 0;
IBCTL = 0;
return ihd;
}
void ec2i_write(uint8_t port, uint8_t data) {
while (IBCTL & (BIT(2) | BIT(1))) {}
IBCTL = 1;
IBMAE = 1;
IHIOA = port;
IHD = data;
IBMAE = BIT(0);
IBCTL = BIT(0);
while (IBCTL & BIT(2)) {}
IBMAE = 0;
IBCTL = 0;
}
uint8_t pnp_read(uint8_t reg) {