[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1] nrf51: Fix last GPIO CNF address
From: |
Cédric Le Goater |
Subject: |
Re: [PATCH v1] nrf51: Fix last GPIO CNF address |
Date: |
Tue, 7 Apr 2020 08:49:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
On 4/7/20 12:55 AM, Cameron Esfahani wrote:
> NRF51_GPIO_REG_CNF_END doesn't actually refer to the start of the last
> valid CNF register: it's referring to the last byte of the last valid
> CNF register.
>
> This hasn't been a problem up to now, as current implementation in
> memory.c turns an unaligned 4-byte read from 0x77f to a single byte read
> and the qtest only looks at the least-significant byte of the register.
>
> But, when running with Cedric Le Goater's <address@hidden> pending fix for
> unaligned accesses in memory.c, the qtest breaks.
>
> Considering NRF51 doesn't support unaligned accesses, the simplest fix
> is to actually set NRF51_GPIO_REG_CNF_END to the start of the last valid
> CNF register: 0x77c.
>
> Now, qtests work with or without Cedric's patch.
>
> Signed-off-by: Cameron Esfahani <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Tested-by: Cédric Le Goater <address@hidden>
Thanks,
C.
> ---
> include/hw/gpio/nrf51_gpio.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/hw/gpio/nrf51_gpio.h b/include/hw/gpio/nrf51_gpio.h
> index 337ee534bb..1d62bbc928 100644
> --- a/include/hw/gpio/nrf51_gpio.h
> +++ b/include/hw/gpio/nrf51_gpio.h
> @@ -42,7 +42,7 @@
> #define NRF51_GPIO_REG_DIRSET 0x518
> #define NRF51_GPIO_REG_DIRCLR 0x51C
> #define NRF51_GPIO_REG_CNF_START 0x700
> -#define NRF51_GPIO_REG_CNF_END 0x77F
> +#define NRF51_GPIO_REG_CNF_END 0x77C
>
> #define NRF51_GPIO_PULLDOWN 1
> #define NRF51_GPIO_PULLUP 3
>
Re: [PATCH v1] nrf51: Fix last GPIO CNF address, Philippe Mathieu-Daudé, 2020/04/07