mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-03-13 21:36:57 +00:00
arm64: zynqmp: Use zynqmp_mmio_read/write functions
Changed the return type of reset_reason() to int from u32, because zynqmp_mmio_read/write() returns signed value on error. Replaced readl and writel functions with zynqmp_mmio_read & zynqmp_mmio_write functions to access RESET_REASON(CRL_APB) registers. Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
1a474381b6
commit
be52372ff1
1 changed files with 10 additions and 6 deletions
|
@ -482,18 +482,20 @@ static const struct {
|
|||
{}
|
||||
};
|
||||
|
||||
static u32 reset_reason(void)
|
||||
static int reset_reason(void)
|
||||
{
|
||||
u32 ret;
|
||||
int i;
|
||||
u32 reg;
|
||||
int i, ret;
|
||||
const char *reason = NULL;
|
||||
|
||||
ret = readl(&crlapb_base->reset_reason);
|
||||
ret = zynqmp_mmio_read((ulong)&crlapb_base->reset_reason, ®);
|
||||
if (ret)
|
||||
return -EINVAL;
|
||||
|
||||
puts("Reset reason:\t");
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(reset_reasons); i++) {
|
||||
if (ret & reset_reasons[i].bit) {
|
||||
if (reg & reset_reasons[i].bit) {
|
||||
reason = reset_reasons[i].name;
|
||||
printf("%s ", reset_reasons[i].name);
|
||||
break;
|
||||
|
@ -504,7 +506,9 @@ static u32 reset_reason(void)
|
|||
|
||||
env_set("reset_reason", reason);
|
||||
|
||||
writel(~0, &crlapb_base->reset_reason);
|
||||
ret = zynqmp_mmio_write(~0, ~0, (ulong)&crlapb_base->reset_reason);
|
||||
if (ret)
|
||||
return -EINVAL;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue