sunxi: set PIO voltage to hardware-detected value on startup on H6
authorIcenowy Zheng <icenowy@aosc.io>
Wed, 24 Apr 2019 05:44:12 +0000 (13:44 +0800)
committerJagan Teki <jagan@amarulasolutions.com>
Fri, 25 Oct 2019 09:10:34 +0000 (14:40 +0530)
commit5f19c9302133cda54d5d1a6b1caa400260de9192
tree76716ec425a71facdc1f4b84589e97ee457e16de
parentcf05b4b86c60b1083661d8eddb024172923479f1
sunxi: set PIO voltage to hardware-detected value on startup on H6

The Allwinner H6 SoC has a register to set the PIO banks' voltage. When
it mismatches the real voltage supplied to the VCC to the PIO supply,
the PIO will work improperly.

The PIO controller also has a register that contains the status of each
VCC rail of the PIO supplies, and it has the same definition with the
configuration register. so we can just copy the content of this register
to the configuration register at startup, to ensure the configuration is
correct at startup stage.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
[jagan: s/__maybe__unused/__maybe_unused]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Jagan Teki <jagan@amarulasolutions.com>
arch/arm/include/asm/arch-sunxi/gpio.h
arch/arm/mach-sunxi/board.c