Message ID | 20191111133421.14390-1-anup.patel@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RISC-V: Enable SYSCON reboot and poweroff drivers | expand |
Correct Palmer's email address > -----Original Message----- > From: Anup Patel > Sent: Monday, November 11, 2019 7:05 PM > To: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley > <paul.walmsley@sifive.com> > Cc: Atish Patra <Atish.Patra@wdc.com>; Alistair Francis > <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup Patel > <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- > kernel@vger.kernel.org; Anup Patel <Anup.Patel@wdc.com> > Subject: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers > > We can use SYSCON reboot and poweroff drivers for the SiFive test device > found on QEMU virt machine and SiFive SOCs. > > This patch enables SYSCON reboot and poweroff drivers in RV64 and RV32 > defconfigs. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > --- > arch/riscv/configs/defconfig | 4 ++++ > arch/riscv/configs/rv32_defconfig | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig > index 420a0dbef386..73a6ee31a7d2 100644 > --- a/arch/riscv/configs/defconfig > +++ b/arch/riscv/configs/defconfig > @@ -63,6 +63,10 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_SPI=y > CONFIG_SPI_SIFIVE=y # CONFIG_PTP_1588_CLOCK is not set > +CONFIG_POWER_RESET=y > +CONFIG_POWER_RESET_SYSCON=y > +CONFIG_POWER_RESET_SYSCON_POWEROFF=y > +CONFIG_SYSCON_REBOOT_MODE=y > CONFIG_DRM=y > CONFIG_DRM_RADEON=y > CONFIG_DRM_VIRTIO_GPU=y > diff --git a/arch/riscv/configs/rv32_defconfig > b/arch/riscv/configs/rv32_defconfig > index 87ee6e62b64b..1429e1254295 100644 > --- a/arch/riscv/configs/rv32_defconfig > +++ b/arch/riscv/configs/rv32_defconfig > @@ -61,6 +61,10 @@ CONFIG_VIRTIO_CONSOLE=y > CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y # > CONFIG_PTP_1588_CLOCK is not set > +CONFIG_POWER_RESET=y > +CONFIG_POWER_RESET_SYSCON=y > +CONFIG_POWER_RESET_SYSCON_POWEROFF=y > +CONFIG_SYSCON_REBOOT_MODE=y > CONFIG_DRM=y > CONFIG_DRM_RADEON=y > CONFIG_DRM_VIRTIO_GPU=y > -- > 2.17.1
On Mon, Nov 11, 2019 at 3:43 PM Anup Patel <Anup.Patel@wdc.com> wrote: > > Correct Palmer's email address > > > -----Original Message----- > > From: Anup Patel > > Sent: Monday, November 11, 2019 7:05 PM > > To: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley > > <paul.walmsley@sifive.com> > > Cc: Atish Patra <Atish.Patra@wdc.com>; Alistair Francis > > <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup Patel > > <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- > > kernel@vger.kernel.org; Anup Patel <Anup.Patel@wdc.com> > > Subject: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers > > > > We can use SYSCON reboot and poweroff drivers for the SiFive test device > > found on QEMU virt machine and SiFive SOCs. > > > > This patch enables SYSCON reboot and poweroff drivers in RV64 and RV32 > > defconfigs. > > > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > > --- > > arch/riscv/configs/defconfig | 4 ++++ > > arch/riscv/configs/rv32_defconfig | 4 ++++ > > 2 files changed, 8 insertions(+) > > > > diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig > > index 420a0dbef386..73a6ee31a7d2 100644 > > --- a/arch/riscv/configs/defconfig > > +++ b/arch/riscv/configs/defconfig > > @@ -63,6 +63,10 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_SPI=y > > CONFIG_SPI_SIFIVE=y # CONFIG_PTP_1588_CLOCK is not set > > +CONFIG_POWER_RESET=y Why not to add select POWER_RESET to arch/riscv/Kconfig ? This seems to be a popular choice (?). I went this path recently while enabling gpio-restart on SiFive Unleashed on a private branch. [..] arch/arm/mach-exynos/Kconfig: select POWER_RESET arch/arm/mach-exynos/Kconfig: select POWER_RESET_SYSCON arch/arm/mach-exynos/Kconfig: select POWER_RESET_SYSCON_POWEROFF arch/arm/mach-gemini/Kconfig: select POWER_RESET arch/arm/mach-gemini/Kconfig: select POWER_RESET_GEMINI_POWEROFF arch/arm/mach-gemini/Kconfig: select POWER_RESET_SYSCON arch/arm/mach-hisi/Kconfig: select POWER_RESET arch/arm/mach-hisi/Kconfig: select POWER_RESET_HISI arch/arm/mach-integrator/Kconfig: select POWER_RESET arch/arm/mach-integrator/Kconfig: select POWER_RESET_VERSATILE arch/arm/mach-realview/Kconfig: select POWER_RESET arch/arm/mach-realview/Kconfig: select POWER_RESET_VERSATILE arch/arm/mach-versatile/Kconfig: select POWER_RESET arch/arm/mach-versatile/Kconfig: select POWER_RESET_VERSATILE arch/arm/mach-vexpress/Kconfig: select POWER_RESET arch/arm/mach-vexpress/Kconfig: select POWER_RESET_VEXPRESS arch/arm64/Kconfig: select POWER_RESET [..] > > +CONFIG_POWER_RESET_SYSCON=y > > +CONFIG_POWER_RESET_SYSCON_POWEROFF=y > > +CONFIG_SYSCON_REBOOT_MODE=y > > CONFIG_DRM=y > > CONFIG_DRM_RADEON=y > > CONFIG_DRM_VIRTIO_GPU=y > > diff --git a/arch/riscv/configs/rv32_defconfig > > b/arch/riscv/configs/rv32_defconfig > > index 87ee6e62b64b..1429e1254295 100644 > > --- a/arch/riscv/configs/rv32_defconfig > > +++ b/arch/riscv/configs/rv32_defconfig > > @@ -61,6 +61,10 @@ CONFIG_VIRTIO_CONSOLE=y > > CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y # > > CONFIG_PTP_1588_CLOCK is not set > > +CONFIG_POWER_RESET=y > > +CONFIG_POWER_RESET_SYSCON=y > > +CONFIG_POWER_RESET_SYSCON_POWEROFF=y > > +CONFIG_SYSCON_REBOOT_MODE=y > > CONFIG_DRM=y > > CONFIG_DRM_RADEON=y > > CONFIG_DRM_VIRTIO_GPU=y > > -- > > 2.17.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
On Nov 11 2019, Anup Patel wrote: > We can use SYSCON reboot and poweroff drivers for the > SiFive test device found on QEMU virt machine and SiFive > SOCs. I don't see any syscon-reboot compatible in the device tree. Andreas.
> -----Original Message----- > From: Andreas Schwab <schwab@suse.de> > Sent: Monday, November 11, 2019 7:38 PM > To: Anup Patel <Anup.Patel@wdc.com> > Cc: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley > <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; Alistair > Francis <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup > Patel <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- > kernel@vger.kernel.org > Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers > > On Nov 11 2019, Anup Patel wrote: > > > We can use SYSCON reboot and poweroff drivers for the SiFive test > > device found on QEMU virt machine and SiFive SOCs. > > I don't see any syscon-reboot compatible in the device tree. I have sent patch to QEMU as well for generating SYSCON DT nodes. Regards, Anup > > Andreas. > > -- > Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 > BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something > completely different."
On Nov 11 2019, Anup Patel wrote: >> -----Original Message----- >> From: Andreas Schwab <schwab@suse.de> >> Sent: Monday, November 11, 2019 7:38 PM >> To: Anup Patel <Anup.Patel@wdc.com> >> Cc: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; Alistair >> Francis <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup >> Patel <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- >> kernel@vger.kernel.org >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers >> >> On Nov 11 2019, Anup Patel wrote: >> >> > We can use SYSCON reboot and poweroff drivers for the SiFive test >> > device found on QEMU virt machine and SiFive SOCs. >> >> I don't see any syscon-reboot compatible in the device tree. > > I have sent patch to QEMU as well for generating SYSCON DT nodes. What about the kernel DT? Andreas.
> -----Original Message----- > From: Andreas Schwab <schwab@suse.de> > Sent: Monday, November 11, 2019 8:02 PM > To: Anup Patel <Anup.Patel@wdc.com> > Cc: Palmer Dabbelt <palmer@dabbelt.com>; Paul Walmsley > <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; Alistair > Francis <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup > Patel <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- > kernel@vger.kernel.org > Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers > > On Nov 11 2019, Anup Patel wrote: > > >> -----Original Message----- > >> From: Andreas Schwab <schwab@suse.de> > >> Sent: Monday, November 11, 2019 7:38 PM > >> To: Anup Patel <Anup.Patel@wdc.com> > >> Cc: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley > >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; > >> Alistair Francis <Alistair.Francis@wdc.com>; Christoph Hellwig > >> <hch@lst.de>; Anup Patel <anup@brainfault.org>; > >> linux-riscv@lists.infradead.org; linux- kernel@vger.kernel.org > >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff > >> drivers > >> > >> On Nov 11 2019, Anup Patel wrote: > >> > >> > We can use SYSCON reboot and poweroff drivers for the SiFive test > >> > device found on QEMU virt machine and SiFive SOCs. > >> > >> I don't see any syscon-reboot compatible in the device tree. > > > > I have sent patch to QEMU as well for generating SYSCON DT nodes. > > What about the kernel DT? For QEMU virt machine, the DT is generated by QEMU at runtime so we don't need an explicit DT file in Linux sources. Regards, Anup
On Nov 11 2019, Anup Patel wrote: >> -----Original Message----- >> From: Andreas Schwab <schwab@suse.de> >> Sent: Monday, November 11, 2019 8:02 PM >> To: Anup Patel <Anup.Patel@wdc.com> >> Cc: Palmer Dabbelt <palmer@dabbelt.com>; Paul Walmsley >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; Alistair >> Francis <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup >> Patel <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- >> kernel@vger.kernel.org >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers >> >> On Nov 11 2019, Anup Patel wrote: >> >> >> -----Original Message----- >> >> From: Andreas Schwab <schwab@suse.de> >> >> Sent: Monday, November 11, 2019 7:38 PM >> >> To: Anup Patel <Anup.Patel@wdc.com> >> >> Cc: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley >> >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; >> >> Alistair Francis <Alistair.Francis@wdc.com>; Christoph Hellwig >> >> <hch@lst.de>; Anup Patel <anup@brainfault.org>; >> >> linux-riscv@lists.infradead.org; linux- kernel@vger.kernel.org >> >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff >> >> drivers >> >> >> >> On Nov 11 2019, Anup Patel wrote: >> >> >> >> > We can use SYSCON reboot and poweroff drivers for the SiFive test >> >> > device found on QEMU virt machine and SiFive SOCs. >> >> >> >> I don't see any syscon-reboot compatible in the device tree. >> > >> > I have sent patch to QEMU as well for generating SYSCON DT nodes. >> >> What about the kernel DT? > > For QEMU virt machine, the DT is generated by QEMU at runtime > so we don't need an explicit DT file in Linux sources. What about the HiFiveU? Andreas.
On Mon, Nov 11, 2019 at 05:55:36PM +0100, Andreas Schwab wrote: > > For QEMU virt machine, the DT is generated by QEMU at runtime > > so we don't need an explicit DT file in Linux sources. > > What about the HiFiveU? According to Palmer the IP block exists there, but isn't actually wired up to reset or reboot the board. So adding the DT entries is rather pointless.
On Mon, Nov 11, 2019 at 6:55 PM Andreas Schwab <schwab@suse.de> wrote: > > On Nov 11 2019, Anup Patel wrote: > > >> -----Original Message----- > >> From: Andreas Schwab <schwab@suse.de> > >> Sent: Monday, November 11, 2019 8:02 PM > >> To: Anup Patel <Anup.Patel@wdc.com> > >> Cc: Palmer Dabbelt <palmer@dabbelt.com>; Paul Walmsley > >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; Alistair > >> Francis <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup > >> Patel <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- > >> kernel@vger.kernel.org > >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers > >> > >> On Nov 11 2019, Anup Patel wrote: > >> > >> >> -----Original Message----- > >> >> From: Andreas Schwab <schwab@suse.de> > >> >> Sent: Monday, November 11, 2019 7:38 PM > >> >> To: Anup Patel <Anup.Patel@wdc.com> > >> >> Cc: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley > >> >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; > >> >> Alistair Francis <Alistair.Francis@wdc.com>; Christoph Hellwig > >> >> <hch@lst.de>; Anup Patel <anup@brainfault.org>; > >> >> linux-riscv@lists.infradead.org; linux- kernel@vger.kernel.org > >> >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff > >> >> drivers > >> >> > >> >> On Nov 11 2019, Anup Patel wrote: > >> >> > >> >> > We can use SYSCON reboot and poweroff drivers for the SiFive test > >> >> > device found on QEMU virt machine and SiFive SOCs. > >> >> > >> >> I don't see any syscon-reboot compatible in the device tree. > >> > > >> > I have sent patch to QEMU as well for generating SYSCON DT nodes. > >> > >> What about the kernel DT? > > > > For QEMU virt machine, the DT is generated by QEMU at runtime > > so we don't need an explicit DT file in Linux sources. > > What about the HiFiveU? Unleashed uses gpio-restart which depends on gpio driver (not upstreamed and not posted for review on mailing list). I have that working on my build. david > > Andreas. > > -- > Andreas Schwab, SUSE Labs, schwab@suse.de > GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 > "And now for something completely different." > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
On Nov 11 2019, David Abdurachmanov wrote: > On Mon, Nov 11, 2019 at 6:55 PM Andreas Schwab <schwab@suse.de> wrote: >> >> On Nov 11 2019, Anup Patel wrote: >> >> >> -----Original Message----- >> >> From: Andreas Schwab <schwab@suse.de> >> >> Sent: Monday, November 11, 2019 8:02 PM >> >> To: Anup Patel <Anup.Patel@wdc.com> >> >> Cc: Palmer Dabbelt <palmer@dabbelt.com>; Paul Walmsley >> >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; Alistair >> >> Francis <Alistair.Francis@wdc.com>; Christoph Hellwig <hch@lst.de>; Anup >> >> Patel <anup@brainfault.org>; linux-riscv@lists.infradead.org; linux- >> >> kernel@vger.kernel.org >> >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff drivers >> >> >> >> On Nov 11 2019, Anup Patel wrote: >> >> >> >> >> -----Original Message----- >> >> >> From: Andreas Schwab <schwab@suse.de> >> >> >> Sent: Monday, November 11, 2019 7:38 PM >> >> >> To: Anup Patel <Anup.Patel@wdc.com> >> >> >> Cc: Palmer Dabbelt <palmer@sifive.com>; Paul Walmsley >> >> >> <paul.walmsley@sifive.com>; Atish Patra <Atish.Patra@wdc.com>; >> >> >> Alistair Francis <Alistair.Francis@wdc.com>; Christoph Hellwig >> >> >> <hch@lst.de>; Anup Patel <anup@brainfault.org>; >> >> >> linux-riscv@lists.infradead.org; linux- kernel@vger.kernel.org >> >> >> Subject: Re: [PATCH] RISC-V: Enable SYSCON reboot and poweroff >> >> >> drivers >> >> >> >> >> >> On Nov 11 2019, Anup Patel wrote: >> >> >> >> >> >> > We can use SYSCON reboot and poweroff drivers for the SiFive test >> >> >> > device found on QEMU virt machine and SiFive SOCs. >> >> >> >> >> >> I don't see any syscon-reboot compatible in the device tree. >> >> > >> >> > I have sent patch to QEMU as well for generating SYSCON DT nodes. >> >> >> >> What about the kernel DT? >> > >> > For QEMU virt machine, the DT is generated by QEMU at runtime >> > so we don't need an explicit DT file in Linux sources. >> >> What about the HiFiveU? > > Unleashed uses gpio-restart which depends on gpio driver (not upstreamed and > not posted for review on mailing list). I have that working on my build. I do have that, too. But I wonder about the "SiFive SOCs" reference above. Andreas.
On Mon, 11 Nov 2019, Anup Patel wrote: > We can use SYSCON reboot and poweroff drivers for the > SiFive test device found on QEMU virt machine and SiFive > SOCs. > > This patch enables SYSCON reboot and poweroff drivers > in RV64 and RV32 defconfigs. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> I'd much prefer Christoph's driver, once it's fixed up per my earlier comments. This business with writing random registers based on what's in the DT data has always been a bad idea. - Paul
On Mon, Nov 11, 2019 at 10:36 PM Paul Walmsley <paul@pwsan.com> wrote: > > On Mon, 11 Nov 2019, Anup Patel wrote: > > > We can use SYSCON reboot and poweroff drivers for the > > SiFive test device found on QEMU virt machine and SiFive > > SOCs. > > > > This patch enables SYSCON reboot and poweroff drivers > > in RV64 and RV32 defconfigs. > > > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > > I'd much prefer Christoph's driver, once it's fixed up per my earlier > comments. This business with writing random registers based on what's in > the DT data has always been a bad idea. Like mentioned in other email thread, we are not writing random date to registers. In fact, we are describing Reboot and Poweroff mechanism in DT using SYSCON Reboot and Poweroff DT nodes. This is not a new approach. It has been used by a variety of SOCs in past. Regards, Anup
On Mon, 11 Nov 2019, Anup Patel wrote: > We can use SYSCON reboot and poweroff drivers for the > SiFive test device found on QEMU virt machine and SiFive > SOCs. > > This patch enables SYSCON reboot and poweroff drivers > in RV64 and RV32 defconfigs. > > Signed-off-by: Anup Patel <anup.patel@wdc.com> Sounds like Christoph isn't planning to follow up on his reset driver. So this patch looks OK to me, as far as QEMU is concerned. Still it seems best to avoid SYSCON for real hardware as much as possible, so, will plan to apply this after CONFIG_SOC_VIRT support lands. thanks, - Paul
diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index 420a0dbef386..73a6ee31a7d2 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -63,6 +63,10 @@ CONFIG_HW_RANDOM_VIRTIO=y CONFIG_SPI=y CONFIG_SPI_SIFIVE=y # CONFIG_PTP_1588_CLOCK is not set +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y CONFIG_DRM=y CONFIG_DRM_RADEON=y CONFIG_DRM_VIRTIO_GPU=y diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig index 87ee6e62b64b..1429e1254295 100644 --- a/arch/riscv/configs/rv32_defconfig +++ b/arch/riscv/configs/rv32_defconfig @@ -61,6 +61,10 @@ CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_VIRTIO=y # CONFIG_PTP_1588_CLOCK is not set +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_SYSCON_REBOOT_MODE=y CONFIG_DRM=y CONFIG_DRM_RADEON=y CONFIG_DRM_VIRTIO_GPU=y
We can use SYSCON reboot and poweroff drivers for the SiFive test device found on QEMU virt machine and SiFive SOCs. This patch enables SYSCON reboot and poweroff drivers in RV64 and RV32 defconfigs. Signed-off-by: Anup Patel <anup.patel@wdc.com> --- arch/riscv/configs/defconfig | 4 ++++ arch/riscv/configs/rv32_defconfig | 4 ++++ 2 files changed, 8 insertions(+)