drivers: pinctrl: ra: fix write-protect register access

The write protect register (PWPR) found on RA Microcontrollers is an 8-bit
register at an odd address. It was being accessed using a pointer to a
uint32_t which causes a fault on some devices in the series.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
This commit is contained in:
Ian Morris 2023-12-15 13:47:33 -08:00 committed by Anas Nashif
commit 923201abc5

View file

@ -28,14 +28,14 @@ static inline void pinctrl_ra_write_PmnFPS(size_t port, size_t pin, uint32_t val
sys_write32(value, DT_INST_REG_ADDR_BY_NAME(0, pfs) + (port * PIN_NUM + pin) * 4); sys_write32(value, DT_INST_REG_ADDR_BY_NAME(0, pfs) + (port * PIN_NUM + pin) * 4);
} }
static inline uint32_t pinctrl_ra_read_PMISC_PWPR(size_t port, size_t pin) static inline uint8_t pinctrl_ra_read_PMISC_PWPR(size_t port, size_t pin)
{ {
return sys_read32(DT_INST_REG_ADDR_BY_NAME(0, pmisc_pwpr)); return sys_read8(DT_INST_REG_ADDR_BY_NAME(0, pmisc_pwpr));
} }
static inline void pinctrl_ra_write_PMISC_PWPR(uint32_t value) static inline void pinctrl_ra_write_PMISC_PWPR(uint8_t value)
{ {
sys_write32(value, DT_INST_REG_ADDR_BY_NAME(0, pmisc_pwpr)); sys_write8(value, DT_INST_REG_ADDR_BY_NAME(0, pmisc_pwpr));
} }
static void pinctrl_ra_configure_pfs(const pinctrl_soc_pin_t *pinc) static void pinctrl_ra_configure_pfs(const pinctrl_soc_pin_t *pinc)