Message ID | 20170404180145.12897-3-icenowy@aosc.io (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 5, 2017 at 2:01 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > Allwinner A64 SoC features a NMI controller, which is usually connected > to the AXP PMIC. > > Add support for it. > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> This might not be the best representation of the R_INTC block. Though we'd need to change it for all SoCs if we want to be accurate. For now, Acked-by: Chen-Yu Tsai <wens@csie.org>
On Wed, Apr 05, 2017 at 11:51:45AM +0800, Chen-Yu Tsai wrote: > On Wed, Apr 5, 2017 at 2:01 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > > Allwinner A64 SoC features a NMI controller, which is usually connected > > to the AXP PMIC. > > > > Add support for it. > > > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > > This might not be the best representation of the R_INTC block. Though > we'd need to change it for all SoCs if we want to be accurate. For now, What do you think would be a good representation? Maxime
On Wed, Apr 5, 2017 at 2:11 PM, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > On Wed, Apr 05, 2017 at 11:51:45AM +0800, Chen-Yu Tsai wrote: >> On Wed, Apr 5, 2017 at 2:01 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >> > Allwinner A64 SoC features a NMI controller, which is usually connected >> > to the AXP PMIC. >> > >> > Add support for it. >> > >> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >> >> This might not be the best representation of the R_INTC block. Though >> we'd need to change it for all SoCs if we want to be accurate. For now, > > What do you think would be a good representation? My gut feeling is that this is the old INTC from sun4/5i. It's supposed to be the interrupt controller for the embedded low power core. I've not done a thorough comparison though. ChenYu
On Wed, Apr 05, 2017 at 02:20:31PM +0800, Chen-Yu Tsai wrote: > On Wed, Apr 5, 2017 at 2:11 PM, Maxime Ripard > <maxime.ripard@free-electrons.com> wrote: > > On Wed, Apr 05, 2017 at 11:51:45AM +0800, Chen-Yu Tsai wrote: > >> On Wed, Apr 5, 2017 at 2:01 AM, Icenowy Zheng <icenowy@aosc.io> wrote: > >> > Allwinner A64 SoC features a NMI controller, which is usually connected > >> > to the AXP PMIC. > >> > > >> > Add support for it. > >> > > >> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> > >> > >> This might not be the best representation of the R_INTC block. Though > >> we'd need to change it for all SoCs if we want to be accurate. For now, > > > > What do you think would be a good representation? > > My gut feeling is that this is the old INTC from sun4/5i. Ah, that would make sense. > It's supposed to be the interrupt controller for the embedded low > power core. I've not done a thorough comparison though. Do we have some documentation / code for this one? Thanks, Maxime
On Wed, Apr 5, 2017 at 3:28 PM, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > On Wed, Apr 05, 2017 at 02:20:31PM +0800, Chen-Yu Tsai wrote: >> On Wed, Apr 5, 2017 at 2:11 PM, Maxime Ripard >> <maxime.ripard@free-electrons.com> wrote: >> > On Wed, Apr 05, 2017 at 11:51:45AM +0800, Chen-Yu Tsai wrote: >> >> On Wed, Apr 5, 2017 at 2:01 AM, Icenowy Zheng <icenowy@aosc.io> wrote: >> >> > Allwinner A64 SoC features a NMI controller, which is usually connected >> >> > to the AXP PMIC. >> >> > >> >> > Add support for it. >> >> > >> >> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io> >> >> >> >> This might not be the best representation of the R_INTC block. Though >> >> we'd need to change it for all SoCs if we want to be accurate. For now, >> > >> > What do you think would be a good representation? >> >> My gut feeling is that this is the old INTC from sun4/5i. > > Ah, that would make sense. > >> It's supposed to be the interrupt controller for the embedded low >> power core. I've not done a thorough comparison though. > > Do we have some documentation / code for this one? I can't remember where or if I saw any. If Allwinner ever released any source code for the OpenRISC core we could actually verify it. However the base address of this block, in addition to the register offsets found in the driver for "allwinner,sun6i-a31-sc-nmi" do match up with the sun4i irqchip. The question is if any of the other interrupt lines are hooked up, and if yes, to what. A possibility would be that it has all the interrupt lines in the SoC also hooked up, at the same numbers as the GIC (minus 32). It would feed both the GIC and CPUS. This is just an educated guess though. Regards ChenYu
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi index 9a75b1c7c91a..f907a64e6f0c 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi @@ -401,6 +401,14 @@ <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; }; + nmi_intc: interrupt-controller@01f00c0c { + compatible = "allwinner,sun6i-a31-sc-nmi"; + interrupt-controller; + #interrupt-cells = <2>; + reg = <0x01f00c0c 0x38>; + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; + }; + r_ccu: clock@1f01400 { compatible = "allwinner,sun50i-a64-r-ccu"; reg = <0x01f01400 0x100>;
Allwinner A64 SoC features a NMI controller, which is usually connected to the AXP PMIC. Add support for it. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> --- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+)