diff mbox series

[v4,04/12] configs: aspeed: Enable SPI flash features

Message ID 20220524055650.1115899-5-chin-ting_kuo@aspeedtech.com
State Changes Requested
Delegated to: Jagannadha Sutradharudu Teki
Headers show
Series Add ASPEED SPI controller driver | expand

Commit Message

Chin-Ting Kuo May 24, 2022, 5:56 a.m. UTC
- Enable ASPEED SPI controller driver.
- Enable SPI flash memory configurations.
- Enable configurations for SPI flash manufacturers
  supported on both ASPEED AST2500 and AST2600 AVL.

Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
---
 configs/evb-ast2500_defconfig | 13 +++++++++++++
 configs/evb-ast2600_defconfig | 13 +++++++++++++
 2 files changed, 26 insertions(+)

Comments

Cédric Le Goater July 1, 2022, 9:28 a.m. UTC | #1
On 5/24/22 07:56, Chin-Ting Kuo wrote:
> - Enable ASPEED SPI controller driver.
> - Enable SPI flash memory configurations.
> - Enable configurations for SPI flash manufacturers
>    supported on both ASPEED AST2500 and AST2600 AVL.
> 
> Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
> ---
>   configs/evb-ast2500_defconfig | 13 +++++++++++++
>   configs/evb-ast2600_defconfig | 13 +++++++++++++
>   2 files changed, 26 insertions(+)
> 
> diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig
> index 2371cc2742..fd04fe5a60 100644
> --- a/configs/evb-ast2500_defconfig
> +++ b/configs/evb-ast2500_defconfig
> @@ -35,6 +35,16 @@ CONFIG_DM_I2C=y
>   CONFIG_SYS_I2C_ASPEED=y
>   CONFIG_MMC_SDHCI=y
>   CONFIG_MMC_SDHCI_ASPEED=y
> +CONFIG_DM_SPI_FLASH=y
> +CONFIG_SPI_FLASH_SFDP_SUPPORT=y
> +CONFIG_SPI_FLASH_GIGADEVICE=y
> +CONFIG_SPI_FLASH_ISSI=y
> +CONFIG_SPI_FLASH_MACRONIX=y
> +CONFIG_SPI_FLASH_SPANSION=y
> +CONFIG_SPI_FLASH_STMICRO=y
> +CONFIG_SPI_FLASH_SST=y
> +CONFIG_SPI_FLASH_WINBOND=y
> +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
>   CONFIG_PHY_REALTEK=y
>   CONFIG_DM_ETH=y
>   CONFIG_FTGMAC100=y
> @@ -44,6 +54,9 @@ CONFIG_RAM=y
>   CONFIG_DM_RESET=y
>   CONFIG_DM_SERIAL=y
>   CONFIG_SYS_NS16550=y
> +CONFIG_SPI=y
> +CONFIG_DM_SPI=y
> +CONFIG_SPI_ASPEED=y
>   CONFIG_SYSRESET=y
>   CONFIG_TIMER=y
>   CONFIG_WDT=y

This is breaking boot on the AST2500 evb (QEMU) . I haven't found why
yet. You might want to take a look.

Thanks,

C.


> diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
> index f84b723bbb..ccf63ec6d0 100644
> --- a/configs/evb-ast2600_defconfig
> +++ b/configs/evb-ast2600_defconfig
> @@ -65,6 +65,16 @@ CONFIG_DM_I2C=y
>   CONFIG_MISC=y
>   CONFIG_MMC_SDHCI=y
>   CONFIG_MMC_SDHCI_ASPEED=y
> +CONFIG_DM_SPI_FLASH=y
> +CONFIG_SPI_FLASH_SFDP_SUPPORT=y
> +CONFIG_SPI_FLASH_GIGADEVICE=y
> +CONFIG_SPI_FLASH_ISSI=y
> +CONFIG_SPI_FLASH_MACRONIX=y
> +CONFIG_SPI_FLASH_SPANSION=y
> +CONFIG_SPI_FLASH_STMICRO=y
> +CONFIG_SPI_FLASH_SST=y
> +CONFIG_SPI_FLASH_WINBOND=y
> +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
>   CONFIG_PHY_REALTEK=y
>   CONFIG_DM_ETH=y
>   CONFIG_DM_MDIO=y
> @@ -77,6 +87,9 @@ CONFIG_SPL_RAM=y
>   CONFIG_DM_RESET=y
>   CONFIG_DM_SERIAL=y
>   CONFIG_SYS_NS16550=y
> +CONFIG_SPI=y
> +CONFIG_DM_SPI=y
> +CONFIG_SPI_ASPEED=y
>   CONFIG_SYSRESET=y
>   CONFIG_SPL_SYSRESET=y
>   CONFIG_WDT=y
Cédric Le Goater July 1, 2022, 11:50 a.m. UTC | #2
On 7/1/22 11:28, Cédric Le Goater wrote:
> On 5/24/22 07:56, Chin-Ting Kuo wrote:
>> - Enable ASPEED SPI controller driver.
>> - Enable SPI flash memory configurations.
>> - Enable configurations for SPI flash manufacturers
>>    supported on both ASPEED AST2500 and AST2600 AVL.
>>
>> Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
>> ---
>>   configs/evb-ast2500_defconfig | 13 +++++++++++++
>>   configs/evb-ast2600_defconfig | 13 +++++++++++++
>>   2 files changed, 26 insertions(+)
>>
>> diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig
>> index 2371cc2742..fd04fe5a60 100644
>> --- a/configs/evb-ast2500_defconfig
>> +++ b/configs/evb-ast2500_defconfig
>> @@ -35,6 +35,16 @@ CONFIG_DM_I2C=y
>>   CONFIG_SYS_I2C_ASPEED=y
>>   CONFIG_MMC_SDHCI=y
>>   CONFIG_MMC_SDHCI_ASPEED=y
>> +CONFIG_DM_SPI_FLASH=y
>> +CONFIG_SPI_FLASH_SFDP_SUPPORT=y
>> +CONFIG_SPI_FLASH_GIGADEVICE=y
>> +CONFIG_SPI_FLASH_ISSI=y
>> +CONFIG_SPI_FLASH_MACRONIX=y
>> +CONFIG_SPI_FLASH_SPANSION=y
>> +CONFIG_SPI_FLASH_STMICRO=y
>> +CONFIG_SPI_FLASH_SST=y
>> +CONFIG_SPI_FLASH_WINBOND=y
>> +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
>>   CONFIG_PHY_REALTEK=y
>>   CONFIG_DM_ETH=y
>>   CONFIG_FTGMAC100=y
>> @@ -44,6 +54,9 @@ CONFIG_RAM=y
>>   CONFIG_DM_RESET=y
>>   CONFIG_DM_SERIAL=y
>>   CONFIG_SYS_NS16550=y
>> +CONFIG_SPI=y
>> +CONFIG_DM_SPI=y
>> +CONFIG_SPI_ASPEED=y
>>   CONFIG_SYSRESET=y
>>   CONFIG_TIMER=y
>>   CONFIG_WDT=y
> 
> This is breaking boot on the AST2500 evb (QEMU) . I haven't found why
> yet. You might want to take a look.

The resulting binary is too big for the flash layout we use on OpenBMC.

C.
Chin-Ting Kuo July 3, 2022, 9 a.m. UTC | #3
Hi Cédric,

> -----Original Message-----
> From: Cédric Le Goater <clg@kaod.org>
> Sent: Friday, July 1, 2022 7:51 PM
> Subject: Re: [v4 04/12] configs: aspeed: Enable SPI flash features
> 
> On 7/1/22 11:28, Cédric Le Goater wrote:
> > On 5/24/22 07:56, Chin-Ting Kuo wrote:
> >> - Enable ASPEED SPI controller driver.
> >> - Enable SPI flash memory configurations.
> >> - Enable configurations for SPI flash manufacturers
> >>    supported on both ASPEED AST2500 and AST2600 AVL.
> >>
> >> Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
> >> ---
> >>   configs/evb-ast2500_defconfig | 13 +++++++++++++
> >>   configs/evb-ast2600_defconfig | 13 +++++++++++++
> >>   2 files changed, 26 insertions(+)
> >>
> >> diff --git a/configs/evb-ast2500_defconfig
> >> b/configs/evb-ast2500_defconfig index 2371cc2742..fd04fe5a60 100644
> >> --- a/configs/evb-ast2500_defconfig
> >> +++ b/configs/evb-ast2500_defconfig
> >> @@ -35,6 +35,16 @@ CONFIG_DM_I2C=y
> >>   CONFIG_SYS_I2C_ASPEED=y
> >>   CONFIG_MMC_SDHCI=y
> >>   CONFIG_MMC_SDHCI_ASPEED=y
> >> +CONFIG_DM_SPI_FLASH=y
> >> +CONFIG_SPI_FLASH_SFDP_SUPPORT=y
> >> +CONFIG_SPI_FLASH_GIGADEVICE=y
> >> +CONFIG_SPI_FLASH_ISSI=y
> >> +CONFIG_SPI_FLASH_MACRONIX=y
> >> +CONFIG_SPI_FLASH_SPANSION=y
> >> +CONFIG_SPI_FLASH_STMICRO=y
> >> +CONFIG_SPI_FLASH_SST=y
> >> +CONFIG_SPI_FLASH_WINBOND=y
> >> +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
> >>   CONFIG_PHY_REALTEK=y
> >>   CONFIG_DM_ETH=y
> >>   CONFIG_FTGMAC100=y
> >> @@ -44,6 +54,9 @@ CONFIG_RAM=y
> >>   CONFIG_DM_RESET=y
> >>   CONFIG_DM_SERIAL=y
> >>   CONFIG_SYS_NS16550=y
> >> +CONFIG_SPI=y
> >> +CONFIG_DM_SPI=y
> >> +CONFIG_SPI_ASPEED=y
> >>   CONFIG_SYSRESET=y
> >>   CONFIG_TIMER=y
> >>   CONFIG_WDT=y
> >
> > This is breaking boot on the AST2500 evb (QEMU) . I haven't found why
> > yet. You might want to take a look.
> 
> The resulting binary is too big for the flash layout we use on OpenBMC.

What’s the flash layout used by you? I tested this patch series on AST2500 EVB, and it was okay before.


Chin-Ting

> 
> C.
Cédric Le Goater July 4, 2022, 8:01 a.m. UTC | #4
[ Adding Joel ]

On 7/3/22 11:00, Chin-Ting Kuo wrote:
> Hi Cédric,
> 
>> -----Original Message-----
>> From: Cédric Le Goater <clg@kaod.org>
>> Sent: Friday, July 1, 2022 7:51 PM
>> Subject: Re: [v4 04/12] configs: aspeed: Enable SPI flash features
>>
>> On 7/1/22 11:28, Cédric Le Goater wrote:
>>> On 5/24/22 07:56, Chin-Ting Kuo wrote:
>>>> - Enable ASPEED SPI controller driver.
>>>> - Enable SPI flash memory configurations.
>>>> - Enable configurations for SPI flash manufacturers
>>>>     supported on both ASPEED AST2500 and AST2600 AVL.
>>>>
>>>> Signed-off-by: Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>
>>>> ---
>>>>    configs/evb-ast2500_defconfig | 13 +++++++++++++
>>>>    configs/evb-ast2600_defconfig | 13 +++++++++++++
>>>>    2 files changed, 26 insertions(+)
>>>>
>>>> diff --git a/configs/evb-ast2500_defconfig
>>>> b/configs/evb-ast2500_defconfig index 2371cc2742..fd04fe5a60 100644
>>>> --- a/configs/evb-ast2500_defconfig
>>>> +++ b/configs/evb-ast2500_defconfig
>>>> @@ -35,6 +35,16 @@ CONFIG_DM_I2C=y
>>>>    CONFIG_SYS_I2C_ASPEED=y
>>>>    CONFIG_MMC_SDHCI=y
>>>>    CONFIG_MMC_SDHCI_ASPEED=y
>>>> +CONFIG_DM_SPI_FLASH=y
>>>> +CONFIG_SPI_FLASH_SFDP_SUPPORT=y
>>>> +CONFIG_SPI_FLASH_GIGADEVICE=y
>>>> +CONFIG_SPI_FLASH_ISSI=y
>>>> +CONFIG_SPI_FLASH_MACRONIX=y
>>>> +CONFIG_SPI_FLASH_SPANSION=y
>>>> +CONFIG_SPI_FLASH_STMICRO=y
>>>> +CONFIG_SPI_FLASH_SST=y
>>>> +CONFIG_SPI_FLASH_WINBOND=y
>>>> +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
>>>>    CONFIG_PHY_REALTEK=y
>>>>    CONFIG_DM_ETH=y
>>>>    CONFIG_FTGMAC100=y
>>>> @@ -44,6 +54,9 @@ CONFIG_RAM=y
>>>>    CONFIG_DM_RESET=y
>>>>    CONFIG_DM_SERIAL=y
>>>>    CONFIG_SYS_NS16550=y
>>>> +CONFIG_SPI=y
>>>> +CONFIG_DM_SPI=y
>>>> +CONFIG_SPI_ASPEED=y
>>>>    CONFIG_SYSRESET=y
>>>>    CONFIG_TIMER=y
>>>>    CONFIG_WDT=y
>>>
>>> This is breaking boot on the AST2500 evb (QEMU) . I haven't found why
>>> yet. You might want to take a look.
>>
>> The resulting binary is too big for the flash layout we use on OpenBMC.
> 
> What’s the flash layout used by you? I tested this patch series on AST2500 EVB, and it was okay before.

This is the OpenBMC 32M flash layout  :

[    1.389291] Creating 5 MTD partitions on "bmc":
[    1.389710] 0x000000000000-0x000000060000 : "u-boot"
[    1.391281] 0x000000060000-0x000000080000 : "u-boot-env"
[    1.392391] 0x000000080000-0x0000004c0000 : "kernel"
[    1.393434] 0x0000004c0000-0x000001c00000 : "rofs"
[    1.394467] 0x000001c00000-0x000002000000 : "rwfs"

When using mainline u-boot, these extra configs are needed to boot
the OpenBMC image :
  
  CONFIG_FIT=y
  CONFIG_BOOTCOMMAND="bootm 20080000"

The SPI driver is adding quite a lot of .text so I removed MMC support to
keep uboot.bin below 384KB


Thanks,

C.
diff mbox series

Patch

diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig
index 2371cc2742..fd04fe5a60 100644
--- a/configs/evb-ast2500_defconfig
+++ b/configs/evb-ast2500_defconfig
@@ -35,6 +35,16 @@  CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_ASPEED=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ASPEED=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_ISSI=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
+# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_PHY_REALTEK=y
 CONFIG_DM_ETH=y
 CONFIG_FTGMAC100=y
@@ -44,6 +54,9 @@  CONFIG_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_SPI_ASPEED=y
 CONFIG_SYSRESET=y
 CONFIG_TIMER=y
 CONFIG_WDT=y
diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
index f84b723bbb..ccf63ec6d0 100644
--- a/configs/evb-ast2600_defconfig
+++ b/configs/evb-ast2600_defconfig
@@ -65,6 +65,16 @@  CONFIG_DM_I2C=y
 CONFIG_MISC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ASPEED=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
+CONFIG_SPI_FLASH_GIGADEVICE=y
+CONFIG_SPI_FLASH_ISSI=y
+CONFIG_SPI_FLASH_MACRONIX=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_SST=y
+CONFIG_SPI_FLASH_WINBOND=y
+# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
 CONFIG_PHY_REALTEK=y
 CONFIG_DM_ETH=y
 CONFIG_DM_MDIO=y
@@ -77,6 +87,9 @@  CONFIG_SPL_RAM=y
 CONFIG_DM_RESET=y
 CONFIG_DM_SERIAL=y
 CONFIG_SYS_NS16550=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_SPI_ASPEED=y
 CONFIG_SYSRESET=y
 CONFIG_SPL_SYSRESET=y
 CONFIG_WDT=y