From 65e12a2b7b930fd18481e1967794d728aecdb155 Mon Sep 17 00:00:00 2001 From: meepingsnesroms Date: Thu, 15 Aug 2019 17:20:47 -0700 Subject: [PATCH] Some I2C fixes --- src/pxa260/pxa260I2c.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pxa260/pxa260I2c.c b/src/pxa260/pxa260I2c.c index 6c6c5fd..cc085d6 100644 --- a/src/pxa260/pxa260I2c.c +++ b/src/pxa260/pxa260I2c.c @@ -79,7 +79,7 @@ void pxa260I2cWriteWord(uint32_t address, uint32_t value){ case ICR: //TODO: this is incomplete - pxa260I2cIcr = value & 0xFFFF;//this is wrong + pxa260I2cIcr = value & 0xFFFF; if(value & 0x0001) tps65010I2cExchange(I2C_START); @@ -149,6 +149,7 @@ void pxa260I2cWriteWord(uint32_t address, uint32_t value){ } void pxa260I2cTransmitEmpty(void){ + pxa260I2cIcr &= 0xFFF7; pxa260I2cIsr |= 0x0040; pxa260I2cUnitBusy = false; pxa260I2cUpdateInterrupt(); @@ -156,6 +157,7 @@ void pxa260I2cTransmitEmpty(void){ } void pxa260I2cReceiveFull(void){ + pxa260I2cIcr &= 0xFFF7; pxa260I2cIsr |= 0x0080; pxa260I2cUnitBusy = false; pxa260I2cUpdateInterrupt();