linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource
@ 2019-06-17 19:29 Loys Ollivier
  2019-06-17 19:29 ` [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource Loys Ollivier
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Loys Ollivier @ 2019-06-17 19:29 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Loys Ollivier, linux-riscv, linux-kernel, devicetree, Kevin Hilman

Hello,

Following is a patch series that adds a SOC_SIFIVE config.
The purpose of this config is to group all the code specific to the SiFive
architecture such as device tree and platform drivers.

The initial thought/discussion came from [0].

[0] https://lore.kernel.org/linux-riscv/20190602080500.31700-1-paul.walmsley@sifive.com/

Loys Ollivier (3):
  arch: riscv: add config option for building SiFive's SoC resource
  riscv: select SiFive platform drivers with SOC_SIFIVE
  riscv: defconfig: enable SOC_SIFIVE

 arch/riscv/Kconfig                  |  2 ++
 arch/riscv/Kconfig.socs             | 13 +++++++++++++
 arch/riscv/boot/dts/sifive/Makefile |  2 +-
 arch/riscv/configs/defconfig        |  6 +-----
 4 files changed, 17 insertions(+), 6 deletions(-)
 create mode 100644 arch/riscv/Kconfig.socs

-- 
2.7.4


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource
  2019-06-17 19:29 [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Loys Ollivier
@ 2019-06-17 19:29 ` Loys Ollivier
  2019-06-19  7:04   ` Palmer Dabbelt
  2019-06-17 19:29 ` [PATCH 2/3] riscv: select SiFive platform drivers with SOC_SIFIVE Loys Ollivier
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Loys Ollivier @ 2019-06-17 19:29 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Loys Ollivier, linux-riscv, linux-kernel, devicetree, Kevin Hilman

Create a config option for building SiFive SoC specific resources
e.g. SiFive device tree, platform drivers...

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@sifive.com>
---
 arch/riscv/Kconfig                  | 2 ++
 arch/riscv/Kconfig.socs             | 8 ++++++++
 arch/riscv/boot/dts/sifive/Makefile | 2 +-
 3 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 arch/riscv/Kconfig.socs

diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index ee32c66e1af3..eace5857c9e9 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -94,6 +94,8 @@ config PGTABLE_LEVELS
 	default 3 if 64BIT
 	default 2
 
+source "arch/riscv/Kconfig.socs"
+
 menu "Platform type"
 
 choice
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
new file mode 100644
index 000000000000..60dae1b5f276
--- /dev/null
+++ b/arch/riscv/Kconfig.socs
@@ -0,0 +1,8 @@
+menu "SoC selection"
+
+config SOC_SIFIVE
+       bool "SiFive SoCs"
+       help
+         This enables support for SiFive SoC platform hardware.
+
+endmenu
diff --git a/arch/riscv/boot/dts/sifive/Makefile b/arch/riscv/boot/dts/sifive/Makefile
index baaeef9efdcb..6d6189e6e4af 100644
--- a/arch/riscv/boot/dts/sifive/Makefile
+++ b/arch/riscv/boot/dts/sifive/Makefile
@@ -1,2 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0
-dtb-y += hifive-unleashed-a00.dtb
+dtb-$(CONFIG_SOC_SIFIVE) += hifive-unleashed-a00.dtb
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] riscv: select SiFive platform drivers with SOC_SIFIVE
  2019-06-17 19:29 [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Loys Ollivier
  2019-06-17 19:29 ` [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource Loys Ollivier
@ 2019-06-17 19:29 ` Loys Ollivier
  2019-06-19  7:04   ` Palmer Dabbelt
  2019-06-17 19:29 ` [PATCH 3/3] riscv: defconfig: enable SOC_SIFIVE Loys Ollivier
  2019-06-28  3:10 ` [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Paul Walmsley
  3 siblings, 1 reply; 8+ messages in thread
From: Loys Ollivier @ 2019-06-17 19:29 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Loys Ollivier, linux-riscv, linux-kernel, devicetree, Kevin Hilman

On selection of SOC_SIFIVE select the corresponding platform drivers.

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
---
 arch/riscv/Kconfig.socs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index 60dae1b5f276..536c0ef4aee8 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -2,6 +2,11 @@ menu "SoC selection"
 
 config SOC_SIFIVE
        bool "SiFive SoCs"
+       select SERIAL_SIFIVE
+       select SERIAL_SIFIVE_CONSOLE
+       select CLK_SIFIVE
+       select CLK_SIFIVE_FU540_PRCI
+       select SIFIVE_PLIC
        help
          This enables support for SiFive SoC platform hardware.
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/3] riscv: defconfig: enable SOC_SIFIVE
  2019-06-17 19:29 [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Loys Ollivier
  2019-06-17 19:29 ` [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource Loys Ollivier
  2019-06-17 19:29 ` [PATCH 2/3] riscv: select SiFive platform drivers with SOC_SIFIVE Loys Ollivier
@ 2019-06-17 19:29 ` Loys Ollivier
  2019-06-19  7:04   ` Palmer Dabbelt
  2019-06-28  3:10 ` [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Paul Walmsley
  3 siblings, 1 reply; 8+ messages in thread
From: Loys Ollivier @ 2019-06-17 19:29 UTC (permalink / raw)
  To: Palmer Dabbelt, Paul Walmsley
  Cc: Loys Ollivier, linux-riscv, linux-kernel, devicetree, Kevin Hilman

Enable SOC_SIFIVE so the default upstream config is bootable on the SiFive
Unleashed Board.
And have basic support for future boards based on the same SoC.

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
---
 arch/riscv/configs/defconfig | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
index 4f02967e55de..6e3e37aa8fd1 100644
--- a/arch/riscv/configs/defconfig
+++ b/arch/riscv/configs/defconfig
@@ -12,6 +12,7 @@ CONFIG_CHECKPOINT_RESTORE=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_EXPERT=y
 CONFIG_BPF_SYSCALL=y
+CONFIG_SOC_SIFIVE=y
 CONFIG_SMP=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
@@ -49,8 +50,6 @@ CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
-CONFIG_SERIAL_SIFIVE=y
-CONFIG_SERIAL_SIFIVE_CONSOLE=y
 CONFIG_HVC_RISCV_SBI=y
 # CONFIG_PTP_1588_CLOCK is not set
 CONFIG_DRM=y
@@ -66,9 +65,6 @@ CONFIG_USB_OHCI_HCD_PLATFORM=y
 CONFIG_USB_STORAGE=y
 CONFIG_USB_UAS=y
 CONFIG_VIRTIO_MMIO=y
-CONFIG_CLK_SIFIVE=y
-CONFIG_CLK_SIFIVE_FU540_PRCI=y
-CONFIG_SIFIVE_PLIC=y
 CONFIG_EXT4_FS=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_AUTOFS4_FS=y
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource
  2019-06-17 19:29 ` [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource Loys Ollivier
@ 2019-06-19  7:04   ` Palmer Dabbelt
  0 siblings, 0 replies; 8+ messages in thread
From: Palmer Dabbelt @ 2019-06-19  7:04 UTC (permalink / raw)
  To: lollivier
  Cc: Paul Walmsley, lollivier, linux-riscv, linux-kernel, devicetree, khilman

On Mon, 17 Jun 2019 12:29:48 PDT (-0700), lollivier@baylibre.com wrote:
> Create a config option for building SiFive SoC specific resources
> e.g. SiFive device tree, platform drivers...
>
> Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
> Cc: Paul Walmsley <paul.walmsley@sifive.com>
> Cc: Palmer Dabbelt <palmer@sifive.com>
> ---
>  arch/riscv/Kconfig                  | 2 ++
>  arch/riscv/Kconfig.socs             | 8 ++++++++
>  arch/riscv/boot/dts/sifive/Makefile | 2 +-
>  3 files changed, 11 insertions(+), 1 deletion(-)
>  create mode 100644 arch/riscv/Kconfig.socs
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index ee32c66e1af3..eace5857c9e9 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -94,6 +94,8 @@ config PGTABLE_LEVELS
>  	default 3 if 64BIT
>  	default 2
>
> +source "arch/riscv/Kconfig.socs"
> +
>  menu "Platform type"
>
>  choice
> diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
> new file mode 100644
> index 000000000000..60dae1b5f276
> --- /dev/null
> +++ b/arch/riscv/Kconfig.socs
> @@ -0,0 +1,8 @@
> +menu "SoC selection"
> +
> +config SOC_SIFIVE
> +       bool "SiFive SoCs"
> +       help
> +         This enables support for SiFive SoC platform hardware.
> +
> +endmenu
> diff --git a/arch/riscv/boot/dts/sifive/Makefile b/arch/riscv/boot/dts/sifive/Makefile
> index baaeef9efdcb..6d6189e6e4af 100644
> --- a/arch/riscv/boot/dts/sifive/Makefile
> +++ b/arch/riscv/boot/dts/sifive/Makefile
> @@ -1,2 +1,2 @@
>  # SPDX-License-Identifier: GPL-2.0
> -dtb-y += hifive-unleashed-a00.dtb
> +dtb-$(CONFIG_SOC_SIFIVE) += hifive-unleashed-a00.dtb

Reviewed-by: Palmer Dabbelt <palmer@sifive.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 3/3] riscv: defconfig: enable SOC_SIFIVE
  2019-06-17 19:29 ` [PATCH 3/3] riscv: defconfig: enable SOC_SIFIVE Loys Ollivier
@ 2019-06-19  7:04   ` Palmer Dabbelt
  0 siblings, 0 replies; 8+ messages in thread
From: Palmer Dabbelt @ 2019-06-19  7:04 UTC (permalink / raw)
  To: lollivier
  Cc: Paul Walmsley, lollivier, linux-riscv, linux-kernel, devicetree, khilman

On Mon, 17 Jun 2019 12:29:50 PDT (-0700), lollivier@baylibre.com wrote:
> Enable SOC_SIFIVE so the default upstream config is bootable on the SiFive
> Unleashed Board.
> And have basic support for future boards based on the same SoC.
>
> Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
> ---
>  arch/riscv/configs/defconfig | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
> index 4f02967e55de..6e3e37aa8fd1 100644
> --- a/arch/riscv/configs/defconfig
> +++ b/arch/riscv/configs/defconfig
> @@ -12,6 +12,7 @@ CONFIG_CHECKPOINT_RESTORE=y
>  CONFIG_BLK_DEV_INITRD=y
>  CONFIG_EXPERT=y
>  CONFIG_BPF_SYSCALL=y
> +CONFIG_SOC_SIFIVE=y
>  CONFIG_SMP=y
>  CONFIG_MODULES=y
>  CONFIG_MODULE_UNLOAD=y
> @@ -49,8 +50,6 @@ CONFIG_SERIAL_8250=y
>  CONFIG_SERIAL_8250_CONSOLE=y
>  CONFIG_SERIAL_OF_PLATFORM=y
>  CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
> -CONFIG_SERIAL_SIFIVE=y
> -CONFIG_SERIAL_SIFIVE_CONSOLE=y
>  CONFIG_HVC_RISCV_SBI=y
>  # CONFIG_PTP_1588_CLOCK is not set
>  CONFIG_DRM=y
> @@ -66,9 +65,6 @@ CONFIG_USB_OHCI_HCD_PLATFORM=y
>  CONFIG_USB_STORAGE=y
>  CONFIG_USB_UAS=y
>  CONFIG_VIRTIO_MMIO=y
> -CONFIG_CLK_SIFIVE=y
> -CONFIG_CLK_SIFIVE_FU540_PRCI=y
> -CONFIG_SIFIVE_PLIC=y
>  CONFIG_EXT4_FS=y
>  CONFIG_EXT4_FS_POSIX_ACL=y
>  CONFIG_AUTOFS4_FS=y

Reviewed-by: Palmer Dabbelt <palmer@sifive.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] riscv: select SiFive platform drivers with SOC_SIFIVE
  2019-06-17 19:29 ` [PATCH 2/3] riscv: select SiFive platform drivers with SOC_SIFIVE Loys Ollivier
@ 2019-06-19  7:04   ` Palmer Dabbelt
  0 siblings, 0 replies; 8+ messages in thread
From: Palmer Dabbelt @ 2019-06-19  7:04 UTC (permalink / raw)
  To: lollivier
  Cc: Paul Walmsley, lollivier, linux-riscv, linux-kernel, devicetree, khilman

On Mon, 17 Jun 2019 12:29:49 PDT (-0700), lollivier@baylibre.com wrote:
> On selection of SOC_SIFIVE select the corresponding platform drivers.
>
> Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
> ---
>  arch/riscv/Kconfig.socs | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
> index 60dae1b5f276..536c0ef4aee8 100644
> --- a/arch/riscv/Kconfig.socs
> +++ b/arch/riscv/Kconfig.socs
> @@ -2,6 +2,11 @@ menu "SoC selection"
>
>  config SOC_SIFIVE
>         bool "SiFive SoCs"
> +       select SERIAL_SIFIVE
> +       select SERIAL_SIFIVE_CONSOLE
> +       select CLK_SIFIVE
> +       select CLK_SIFIVE_FU540_PRCI
> +       select SIFIVE_PLIC
>         help
>           This enables support for SiFive SoC platform hardware.

Reviewed-by: Palmer Dabbelt <palmer@sifive.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource
  2019-06-17 19:29 [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Loys Ollivier
                   ` (2 preceding siblings ...)
  2019-06-17 19:29 ` [PATCH 3/3] riscv: defconfig: enable SOC_SIFIVE Loys Ollivier
@ 2019-06-28  3:10 ` Paul Walmsley
  3 siblings, 0 replies; 8+ messages in thread
From: Paul Walmsley @ 2019-06-28  3:10 UTC (permalink / raw)
  To: Loys Ollivier
  Cc: Palmer Dabbelt, linux-riscv, linux-kernel, devicetree, Kevin Hilman

Hi Loys,

On Mon, 17 Jun 2019, Loys Ollivier wrote:

> Following is a patch series that adds a SOC_SIFIVE config.
> The purpose of this config is to group all the code specific to the SiFive
> architecture such as device tree and platform drivers.
> 
> The initial thought/discussion came from [0].
> 
> [0] https://lore.kernel.org/linux-riscv/20190602080500.31700-1-paul.walmsley@sifive.com/

Thanks for giving us a good start here.  Queued for v5.3 with Palmer's 
Reviewed-by:s.


- Paul

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-06-28  3:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-17 19:29 [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Loys Ollivier
2019-06-17 19:29 ` [PATCH 1/3] arch: riscv: add config option for building SiFive's SoC resource Loys Ollivier
2019-06-19  7:04   ` Palmer Dabbelt
2019-06-17 19:29 ` [PATCH 2/3] riscv: select SiFive platform drivers with SOC_SIFIVE Loys Ollivier
2019-06-19  7:04   ` Palmer Dabbelt
2019-06-17 19:29 ` [PATCH 3/3] riscv: defconfig: enable SOC_SIFIVE Loys Ollivier
2019-06-19  7:04   ` Palmer Dabbelt
2019-06-28  3:10 ` [PATCH 0/3] riscv: add SOC_SIFIVE config for SiFive specific resource Paul Walmsley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).