diff mbox series

[1/4] configs: at91: sam9x60_curiosity: Sync both defconfig variants

Message ID 20230809141622.231247-2-ada@thorsis.com
State Changes Requested
Delegated to: Eugen Hristev
Headers show
Series at91: sam9x60-curiosity: Misc improvements | expand

Commit Message

Alexander Dahl Aug. 9, 2023, 2:16 p.m. UTC
The board has two SD card slots and we have two defconfigs for booting
from either the first (micro SD) named 'sam9x60_curiosity_mmc_defconfig'
or the second (full size SD) named 'sam9x60_curiosity_mmc1_defconfig'.
For comparable Microchip boards (sama5d27-som1-ek, sama5d29-curiosity,
sama7g5ek) with two card slots the defconfigs only differ in BOOTARGS,
BOOTCOMMAND, and ENV_FAT_DEVICE_AND_PART and the same should be the case
for sam9x60_curiosity.

Here the 'mmc1' config has more options enabled to support the raw NAND
flash populated on the board, so the 'mmc' config (for mmc0) was adapted
by enabling additional options, instead of removing options from mmc1.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 configs/sam9x60_curiosity_mmc_defconfig | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

Comments

Eugen Hristev Aug. 16, 2023, 12:46 p.m. UTC | #1
Hi Alexander,

On 8/9/23 17:16, Alexander Dahl wrote:
> The board has two SD card slots and we have two defconfigs for booting
> from either the first (micro SD) named 'sam9x60_curiosity_mmc_defconfig'
> or the second (full size SD) named 'sam9x60_curiosity_mmc1_defconfig'.
> For comparable Microchip boards (sama5d27-som1-ek, sama5d29-curiosity,
> sama7g5ek) with two card slots the defconfigs only differ in BOOTARGS,
> BOOTCOMMAND, and ENV_FAT_DEVICE_AND_PART and the same should be the case
> for sam9x60_curiosity.

To shed some light on this: the defconfigs for different at91 boards 
should differ only in terms of *where the env is stored*, but all the 
drivers should be available in all defconfigs.
The `where it boots from` sometimes is not related to the name of the 
defconfig, because e.g. we have board_qspiflash_defconfigs, which store 
the env in the qspi flash, but do not boot Linux from it, main reason is 
that the QSPI flash is very small (8 Mbytes e.g.)
Most boards have a simple boot example from the same media as where the 
env is stored, but it's not always the case as seen above.

> 
> Here the 'mmc1' config has more options enabled to support the raw NAND
> flash populated on the board, so the 'mmc' config (for mmc0) was adapted
> by enabling additional options, instead of removing options from mmc1.
> 
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>   configs/sam9x60_curiosity_mmc_defconfig | 15 ++++++++++++++-
>   1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/configs/sam9x60_curiosity_mmc_defconfig b/configs/sam9x60_curiosity_mmc_defconfig
> index 10937d67d7..269f015989 100644
> --- a/configs/sam9x60_curiosity_mmc_defconfig
> +++ b/configs/sam9x60_curiosity_mmc_defconfig
> @@ -23,7 +23,7 @@ CONFIG_FIT=y
>   CONFIG_SD_BOOT=y
>   CONFIG_BOOTDELAY=3
>   CONFIG_USE_BOOTARGS=y
> -CONFIG_BOOTARGS="mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"
> +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait"

Have you checked the Linux DT if the memory is 128M hence the `mem=128M` 
is redundant ?

>   CONFIG_USE_BOOTCOMMAND=y
>   CONFIG_BOOTCOMMAND="fatload mmc 0:1 0x21000000 at91-sam9x60_curiosity.dtb; fatload mmc 0:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000"
>   CONFIG_SYS_CONSOLE_IS_IN_ENV=y
> @@ -38,6 +38,8 @@ CONFIG_CMD_DM=y
>   CONFIG_CMD_GPIO=y
>   CONFIG_CMD_I2C=y
>   CONFIG_CMD_MMC=y
> +CONFIG_CMD_NAND=y
> +CONFIG_CMD_NAND_TRIMFFS=y
>   # CONFIG_CMD_SETEXPR is not set
>   CONFIG_CMD_DHCP=y
>   CONFIG_BOOTP_BOOTFILESIZE=y
> @@ -50,6 +52,8 @@ CONFIG_OF_CONTROL=y
>   CONFIG_ENV_IS_IN_FAT=y
>   CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
>   CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> +CONFIG_REGMAP=y
> +CONFIG_SYSCON=y
>   CONFIG_CLK=y
>   CONFIG_CLK_CCF=y
>   CONFIG_CLK_AT91=y
> @@ -60,10 +64,17 @@ CONFIG_CPU=y
>   CONFIG_AT91_GPIO=y
>   CONFIG_DM_I2C=y
>   CONFIG_SYS_I2C_AT91=y
> +CONFIG_ATMEL_EBI=y
> +CONFIG_MFD_ATMEL_SMC=y
>   CONFIG_I2C_EEPROM=y
>   CONFIG_MICROCHIP_FLEXCOM=y
>   CONFIG_MMC_SDHCI=y
>   CONFIG_MMC_SDHCI_ATMEL=y
> +CONFIG_MTD=y
> +CONFIG_DM_MTD=y
> +CONFIG_MTD_RAW_NAND=y
> +CONFIG_DM_NAND_ATMEL=y
> +CONFIG_SYS_NAND_ONFI_DETECTION=y
>   CONFIG_PHY_MICREL=y
>   CONFIG_MACB=y
>   CONFIG_PINCTRL=y
> @@ -71,6 +82,8 @@ CONFIG_PINCTRL_AT91=y
>   CONFIG_DM_SERIAL=y
>   CONFIG_DEBUG_UART_ANNOUNCE=y
>   CONFIG_ATMEL_USART=y
> +CONFIG_SYSRESET=y
> +CONFIG_SYSRESET_AT91=y
>   CONFIG_TIMER=y
>   CONFIG_MCHP_PIT64B_TIMER=y
>   CONFIG_W1=y
Alexander Dahl Aug. 16, 2023, 12:59 p.m. UTC | #2
Hello Eugen,

thanks for your review, my comments below …

Am Wed, Aug 16, 2023 at 03:46:09PM +0300 schrieb Eugen Hristev:
> Hi Alexander,
> 
> On 8/9/23 17:16, Alexander Dahl wrote:
> > The board has two SD card slots and we have two defconfigs for booting
> > from either the first (micro SD) named 'sam9x60_curiosity_mmc_defconfig'
> > or the second (full size SD) named 'sam9x60_curiosity_mmc1_defconfig'.
> > For comparable Microchip boards (sama5d27-som1-ek, sama5d29-curiosity,
> > sama7g5ek) with two card slots the defconfigs only differ in BOOTARGS,
> > BOOTCOMMAND, and ENV_FAT_DEVICE_AND_PART and the same should be the case
> > for sam9x60_curiosity.
> 
> To shed some light on this: the defconfigs for different at91 boards should
> differ only in terms of *where the env is stored*, but all the drivers
> should be available in all defconfigs.
> The `where it boots from` sometimes is not related to the name of the
> defconfig, because e.g. we have board_qspiflash_defconfigs, which store the
> env in the qspi flash, but do not boot Linux from it, main reason is that
> the QSPI flash is very small (8 Mbytes e.g.)
> Most boards have a simple boot example from the same media as where the env
> is stored, but it's not always the case as seen above.

Nice to know.

> > Here the 'mmc1' config has more options enabled to support the raw NAND
> > flash populated on the board, so the 'mmc' config (for mmc0) was adapted
> > by enabling additional options, instead of removing options from mmc1.
> > 
> > Signed-off-by: Alexander Dahl <ada@thorsis.com>
> > ---
> >   configs/sam9x60_curiosity_mmc_defconfig | 15 ++++++++++++++-
> >   1 file changed, 14 insertions(+), 1 deletion(-)
> > 
> > diff --git a/configs/sam9x60_curiosity_mmc_defconfig b/configs/sam9x60_curiosity_mmc_defconfig
> > index 10937d67d7..269f015989 100644
> > --- a/configs/sam9x60_curiosity_mmc_defconfig
> > +++ b/configs/sam9x60_curiosity_mmc_defconfig
> > @@ -23,7 +23,7 @@ CONFIG_FIT=y
> >   CONFIG_SD_BOOT=y
> >   CONFIG_BOOTDELAY=3
> >   CONFIG_USE_BOOTARGS=y
> > -CONFIG_BOOTARGS="mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"
> > +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait"
> 
> Have you checked the Linux DT if the memory is 128M hence the `mem=128M` is
> redundant ?

In Linux v6.4 the node looks like this:

 27     memory@20000000 {
 28         reg = <0x20000000 0x8000000>;
 29     };

The 0x8000000 are equal to 134217728 aka 128M, so that cmdline arg is
redundant.  The sam9x60_curiosity_mmc1_defconfig also does not have
it.  I'll add a note on this to the commit message in v2 of the
series.

Greets
Alex

> >   CONFIG_USE_BOOTCOMMAND=y
> >   CONFIG_BOOTCOMMAND="fatload mmc 0:1 0x21000000 at91-sam9x60_curiosity.dtb; fatload mmc 0:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000"
> >   CONFIG_SYS_CONSOLE_IS_IN_ENV=y
> > @@ -38,6 +38,8 @@ CONFIG_CMD_DM=y
> >   CONFIG_CMD_GPIO=y
> >   CONFIG_CMD_I2C=y
> >   CONFIG_CMD_MMC=y
> > +CONFIG_CMD_NAND=y
> > +CONFIG_CMD_NAND_TRIMFFS=y
> >   # CONFIG_CMD_SETEXPR is not set
> >   CONFIG_CMD_DHCP=y
> >   CONFIG_BOOTP_BOOTFILESIZE=y
> > @@ -50,6 +52,8 @@ CONFIG_OF_CONTROL=y
> >   CONFIG_ENV_IS_IN_FAT=y
> >   CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
> >   CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> > +CONFIG_REGMAP=y
> > +CONFIG_SYSCON=y
> >   CONFIG_CLK=y
> >   CONFIG_CLK_CCF=y
> >   CONFIG_CLK_AT91=y
> > @@ -60,10 +64,17 @@ CONFIG_CPU=y
> >   CONFIG_AT91_GPIO=y
> >   CONFIG_DM_I2C=y
> >   CONFIG_SYS_I2C_AT91=y
> > +CONFIG_ATMEL_EBI=y
> > +CONFIG_MFD_ATMEL_SMC=y
> >   CONFIG_I2C_EEPROM=y
> >   CONFIG_MICROCHIP_FLEXCOM=y
> >   CONFIG_MMC_SDHCI=y
> >   CONFIG_MMC_SDHCI_ATMEL=y
> > +CONFIG_MTD=y
> > +CONFIG_DM_MTD=y
> > +CONFIG_MTD_RAW_NAND=y
> > +CONFIG_DM_NAND_ATMEL=y
> > +CONFIG_SYS_NAND_ONFI_DETECTION=y
> >   CONFIG_PHY_MICREL=y
> >   CONFIG_MACB=y
> >   CONFIG_PINCTRL=y
> > @@ -71,6 +82,8 @@ CONFIG_PINCTRL_AT91=y
> >   CONFIG_DM_SERIAL=y
> >   CONFIG_DEBUG_UART_ANNOUNCE=y
> >   CONFIG_ATMEL_USART=y
> > +CONFIG_SYSRESET=y
> > +CONFIG_SYSRESET_AT91=y
> >   CONFIG_TIMER=y
> >   CONFIG_MCHP_PIT64B_TIMER=y
> >   CONFIG_W1=y
>
diff mbox series

Patch

diff --git a/configs/sam9x60_curiosity_mmc_defconfig b/configs/sam9x60_curiosity_mmc_defconfig
index 10937d67d7..269f015989 100644
--- a/configs/sam9x60_curiosity_mmc_defconfig
+++ b/configs/sam9x60_curiosity_mmc_defconfig
@@ -23,7 +23,7 @@  CONFIG_FIT=y
 CONFIG_SD_BOOT=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTARGS=y
-CONFIG_BOOTARGS="mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait"
+CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait"
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="fatload mmc 0:1 0x21000000 at91-sam9x60_curiosity.dtb; fatload mmc 0:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
@@ -38,6 +38,8 @@  CONFIG_CMD_DM=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_NAND=y
+CONFIG_CMD_NAND_TRIMFFS=y
 # CONFIG_CMD_SETEXPR is not set
 CONFIG_CMD_DHCP=y
 CONFIG_BOOTP_BOOTFILESIZE=y
@@ -50,6 +52,8 @@  CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_FAT=y
 CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
 CONFIG_CLK=y
 CONFIG_CLK_CCF=y
 CONFIG_CLK_AT91=y
@@ -60,10 +64,17 @@  CONFIG_CPU=y
 CONFIG_AT91_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_AT91=y
+CONFIG_ATMEL_EBI=y
+CONFIG_MFD_ATMEL_SMC=y
 CONFIG_I2C_EEPROM=y
 CONFIG_MICROCHIP_FLEXCOM=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ATMEL=y
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_DM_NAND_ATMEL=y
+CONFIG_SYS_NAND_ONFI_DETECTION=y
 CONFIG_PHY_MICREL=y
 CONFIG_MACB=y
 CONFIG_PINCTRL=y
@@ -71,6 +82,8 @@  CONFIG_PINCTRL_AT91=y
 CONFIG_DM_SERIAL=y
 CONFIG_DEBUG_UART_ANNOUNCE=y
 CONFIG_ATMEL_USART=y
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_AT91=y
 CONFIG_TIMER=y
 CONFIG_MCHP_PIT64B_TIMER=y
 CONFIG_W1=y