mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
b6d7406cd7
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>
15 lines
443 B
C
15 lines
443 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
|
|
*/
|
|
|
|
#ifndef __RESET_STARFIVE_JH71X0_H
|
|
#define __RESET_STARFIVE_JH71X0_H
|
|
|
|
int reset_starfive_jh71x0_register(struct device *dev, struct device_node *of_node,
|
|
void __iomem *assert, void __iomem *status,
|
|
const u32 *asserted, unsigned int nr_resets,
|
|
struct module *owner);
|
|
|
|
#endif /* __RESET_STARFIVE_JH71X0_H */
|