reset: starfive: jh71x0: Use 32bit I/O on 32bit registers
authorEmil Renner Berthing <kernel@esmil.dk>
Sat, 1 Apr 2023 11:19:24 +0000 (19:19 +0800)
committerConor Dooley <conor.dooley@microchip.com>
Wed, 5 Apr 2023 14:44:07 +0000 (15:44 +0100)
commitb6d7406cd7a199fabf93008e9fc0aa0358695a79
treeac6fd89e8f91a5a38c1fcdaf5ba47110e3f61713
parent0333103ee96069a7a53d8f599e70d86d4c18a53c
reset: starfive: jh71x0: Use 32bit I/O on 32bit registers

We currently use 64bit I/O on the 32bit registers. This works because
there are an even number of assert and status registers, so they're only
ever accessed in pairs on 64bit boundaries.

There are however other reset controllers for audio and video on the
JH7100 SoC with only one status register that isn't 64bit aligned so
64bit I/O results in an unaligned access exception.

Switch to 32bit I/O in preparation for supporting these resets too.

Tested-by: Tommaso Merciai <tomm.merciai@gmail.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
drivers/reset/starfive/reset-starfive-jh7100.c
drivers/reset/starfive/reset-starfive-jh71x0.c
drivers/reset/starfive/reset-starfive-jh71x0.h