diff mbox series

[03/10] arm: mvebu: clearfog: initial ClearFog Base variant

Message ID 20200111193639.19022-3-mrjoel@lixil.net
State New
Headers show
Series [01/10] arm: mvebu: fix SerDes table alignment | expand

Commit Message

Joel Johnson Jan. 11, 2020, 7:36 p.m. UTC
Add a unique entry for ClearFog Base variant, reflected
in the board name and adjusted SerDes topology.

Signed-off-by: Joel Johnson <mrjoel at lixil.net>
---

 arch/arm/mach-mvebu/Kconfig        |  2 ++
 board/solidrun/clearfog/Kconfig    | 10 ++++++++++
 board/solidrun/clearfog/clearfog.c | 10 +++++++++-
 3 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 board/solidrun/clearfog/Kconfig

Comments

Baruch Siach Jan. 12, 2020, 10:14 a.m. UTC | #1
Hi Joel,

Thanks for working on Clearfog hardware support improvements.

On Sat, Jan 11 2020, Joel Johnson wrote:
> Add a unique entry for ClearFog Base variant, reflected
> in the board name and adjusted SerDes topology.
>
> Signed-off-by: Joel Johnson <mrjoel at lixil.net>
> ---
>
>  arch/arm/mach-mvebu/Kconfig        |  2 ++
>  board/solidrun/clearfog/Kconfig    | 10 ++++++++++
>  board/solidrun/clearfog/clearfog.c | 10 +++++++++-
>  3 files changed, 21 insertions(+), 1 deletion(-)
>  create mode 100644 board/solidrun/clearfog/Kconfig
>
> diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
> index fdd39685b7..c6a1a0a944 100644
> --- a/arch/arm/mach-mvebu/Kconfig
> +++ b/arch/arm/mach-mvebu/Kconfig
> @@ -279,4 +279,6 @@ config SECURED_MODE_CSK_INDEX
>  	default 0
>  	depends on SECURED_MODE_IMAGE
>
> +source "board/solidrun/clearfog/Kconfig"
> +
>  endif
> diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
> new file mode 100644
> index 0000000000..d122be9196
> --- /dev/null
> +++ b/board/solidrun/clearfog/Kconfig
> @@ -0,0 +1,10 @@
> +menu "ClearFog configuration"
> +	depends on TARGET_CLEARFOG
> +
> +config TARGET_CLEARFOG_BASE
> +	bool "Configure for the ClearFog Base variant"
> +	help
> +	 Configure for the ClearFog Base board variant. By default the ClearFog
> +	 Pro variant will be configured.

This conflicts with the series I posted adding support for A388 SOM and
Clearfog Base/Pro carriers EEPROM TLV:

  https://patchwork.ozlabs.org/cover/1200324/

The EEPROM TLV is meant to allow run-time detection of the hardware on
newer hardware revisions that populate the EEPROM. This patch is still
useful for older SOM and carrier revisions but it might cause confusion
for users.

Would you mind to rebase your patches on top of my code?

Nit: help text indentation should be "tab + 2 spaces".

Thanks,
baruch

> +
> +endmenu
> diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
> index 03724fee10..44aac907fd 100644
> --- a/board/solidrun/clearfog/clearfog.c
> +++ b/board/solidrun/clearfog/clearfog.c
> @@ -33,7 +33,11 @@ static struct serdes_map board_serdes_map[] = {
>  	{SGMII1, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
>  	{PEX1, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
>  	{USB3_HOST1, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
> +#if defined (CONFIG_TARGET_CLEARFOG_BASE)
> +	{USB3_HOST0, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
> +#else
>  	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
> +#endif
>  	{SGMII2, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
>  };
>
> @@ -125,7 +129,11 @@ int board_init(void)
>
>  int checkboard(void)
>  {
> -	puts("Board: SolidRun ClearFog\n");
> +#if defined (CONFIG_TARGET_CLEARFOG_BASE)
> +	puts("Board: SolidRun ClearFog Base\n");
> +#else
> +	puts("Board: SolidRun ClearFog Pro\n");
> +#endif
>
>  	return 0;
>  }

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
Joel Johnson Jan. 12, 2020, 3:16 p.m. UTC | #2
On January 12, 2020 10:14:35 AM UTC, Baruch Siach <baruch at tkos.co.il> wrote:
>Hi Joel,
>
>Thanks for working on Clearfog hardware support improvements.

Sure - I finally just got tired of not being able to easily use mainline builds, sat down and figured out the gaps and missing dependencies in order to support at least my use cases and flexibility in general.

>
>On Sat, Jan 11 2020, Joel Johnson wrote:
>> Add a unique entry for ClearFog Base variant, reflected
>> in the board name and adjusted SerDes topology.
>
>This conflicts with the series I posted adding support for A388 SOM and
>Clearfog Base/Pro carriers EEPROM TLV:
>
>  https://patchwork.ozlabs.org/cover/1200324/
>
>The EEPROM TLV is meant to allow run-time detection of the hardware on
>newer hardware revisions that populate the EEPROM. This patch is still
>useful for older SOM and carrier revisions but it might cause confusion
>for users.
>
>Would you mind to rebase your patches on top of my code?

Sure, I hadn't seen this in flight patch series, I'll take a look and adjust/adapt/drop as needed. I believe that most of my units are older non-EEPROM variants, but will test with your patches and at least make the manual vs. dynamic detected config interoperable.

>Nit: help text indentation should be "tab + 2 spaces".

Thanks, I'll update accordingly.

Joel
Stefan Roese Jan. 13, 2020, 8:19 a.m. UTC | #3
On 12.01.20 16:16, Joel Johnson wrote:
> 
> 
> On January 12, 2020 10:14:35 AM UTC, Baruch Siach <baruch at tkos.co.il> wrote:
>> Hi Joel,
>>
>> Thanks for working on Clearfog hardware support improvements.
> 
> Sure - I finally just got tired of not being able to easily use mainline builds, sat down and figured out the gaps and missing dependencies in order to support at least my use cases and flexibility in general.
> 
>>
>> On Sat, Jan 11 2020, Joel Johnson wrote:
>>> Add a unique entry for ClearFog Base variant, reflected
>>> in the board name and adjusted SerDes topology.
>>
>> This conflicts with the series I posted adding support for A388 SOM and
>> Clearfog Base/Pro carriers EEPROM TLV:
>>
>>   https://patchwork.ozlabs.org/cover/1200324/
>>
>> The EEPROM TLV is meant to allow run-time detection of the hardware on
>> newer hardware revisions that populate the EEPROM. This patch is still
>> useful for older SOM and carrier revisions but it might cause confusion
>> for users.
>>
>> Would you mind to rebase your patches on top of my code?
> 
> Sure, I hadn't seen this in flight patch series, I'll take a look and adjust/adapt/drop as needed. I believe that most of my units are older non-EEPROM variants, but will test with your patches and at least make the manual vs. dynamic detected config interoperable.

Okay, let's wait for Baruch to update his patchset and yours rebased
on top of that one.

Thanks,
Stefan
diff mbox series

Patch

diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index fdd39685b7..c6a1a0a944 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -279,4 +279,6 @@  config SECURED_MODE_CSK_INDEX
 	default 0
 	depends on SECURED_MODE_IMAGE
 
+source "board/solidrun/clearfog/Kconfig"
+
 endif
diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
new file mode 100644
index 0000000000..d122be9196
--- /dev/null
+++ b/board/solidrun/clearfog/Kconfig
@@ -0,0 +1,10 @@ 
+menu "ClearFog configuration"
+	depends on TARGET_CLEARFOG
+
+config TARGET_CLEARFOG_BASE
+	bool "Configure for the ClearFog Base variant"
+	help
+	 Configure for the ClearFog Base board variant. By default the ClearFog
+	 Pro variant will be configured.
+
+endmenu
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 03724fee10..44aac907fd 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -33,7 +33,11 @@  static struct serdes_map board_serdes_map[] = {
 	{SGMII1, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 	{PEX1, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
 	{USB3_HOST1, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#if defined (CONFIG_TARGET_CLEARFOG_BASE)
+	{USB3_HOST0, SERDES_SPEED_5_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#else
 	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
+#endif
 	{SGMII2, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
 };
 
@@ -125,7 +129,11 @@  int board_init(void)
 
 int checkboard(void)
 {
-	puts("Board: SolidRun ClearFog\n");
+#if defined (CONFIG_TARGET_CLEARFOG_BASE)
+	puts("Board: SolidRun ClearFog Base\n");
+#else
+	puts("Board: SolidRun ClearFog Pro\n");
+#endif
 
 	return 0;
 }