[PATCH] ARM: dts: aspeed: Add a palmetto board (AST2400)

Cédric Le Goater clg at kaod.org
Wed Jun 8 16:46:23 AEST 2022


On 6/8/22 08:37, Joel Stanley wrote:
> On Wed, 8 Jun 2022 at 06:28, Cédric Le Goater <clg at kaod.org> wrote:
>>
>> Palmettos were the first OpenPOWER systems built by Tyan with the
>> product name: GN70-BP010. They contained an IBM POWER8 Turismo SCM
>> processor and an Aspeed AST2400 SoC.
> 
> Good idea.
> 
>>
>> Cc: Joel Stanley <joel at jms.id.au>
>> Signed-off-by: Cédric Le Goater <clg at kaod.org>
>> ---
>>   arch/arm/dts/Makefile              |   1 +
>>   arch/arm/dts/ast2400-palmetto.dts  | 102 +++++++++++++++++++++++++++++
>>   configs/ast2400-palmetto_defconfig |  74 +++++++++++++++++++++
>>   3 files changed, 177 insertions(+)
>>   create mode 100644 arch/arm/dts/ast2400-palmetto.dts
>>   create mode 100644 configs/ast2400-palmetto_defconfig
>>
>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>> index 3515100c65ce..4faf29d747bd 100755
>> --- a/arch/arm/dts/Makefile
>> +++ b/arch/arm/dts/Makefile
>> @@ -676,6 +676,7 @@ dtb-$(CONFIG_ARCH_BCM6858) += \
>>
>>   dtb-$(CONFIG_ARCH_ASPEED) += \
>>          ast2400-evb.dtb \
>> +       ast2400-palmetto.dtb \
>>          ast2400-ahe-50dc.dtb \
>>          ast2500-evb.dtb \
>>          ast2600a0-evb.dtb \
>> diff --git a/arch/arm/dts/ast2400-palmetto.dts b/arch/arm/dts/ast2400-palmetto.dts
>> new file mode 100644
>> index 000000000000..a512f602d2f1
>> --- /dev/null
>> +++ b/arch/arm/dts/ast2400-palmetto.dts
>> @@ -0,0 +1,102 @@
>> +// SPDX-License-Identifier: GPL-2.0+
>> +/dts-v1/;
>> +
>> +#include "ast2400-u-boot.dtsi"
>> +
>> +/ {
>> +       model = "Palmetto BMC";
>> +       compatible = "tyan,palmetto-bmc", "aspeed,ast2400";
>> +
>> +       memory at 40000000 {
>> +               device_type = "memory";
>> +               reg = <0x40000000 0x10000000>;
>> +       };
>> +
>> +       chosen {
>> +               stdout-path = &uart5;
>> +               bootargs = "console=ttyS4,115200 earlyprintk";
>> +       };
>> +
>> +       aliases {
>> +               spi0 = &fmc;
>> +               spi1 = &spi1;
>> +               ethernet0 = &mac0;
>> +               ethernet1 = &mac1;
> 
> They only had one ethernet connection.

ah yes.

> 
>> +       };
>> +};
>> +
>> +&uart5 {
>> +       u-boot,dm-pre-reloc;
>> +       status = "okay";
>> +};
>> +
>> +&sdrammc {
>> +       clock-frequency = <200000000>;
>> +};
>> +
>> +&wdt1 {
>> +       u-boot,dm-pre-reloc;
>> +       status = "okay";
>> +};
>> +
>> +&wdt2 {
>> +       u-boot,dm-pre-reloc;
>> +       status = "okay";
>> +};
>> +
>> +&mac0 {
>> +       status = "okay";
>> +       phy-mode = "rgmii";
>> +
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&pinctrl_mac1link_default &pinctrl_mdio1_default>;
>> +};
>> +
>> +&mac1 {
>> +       status = "okay";
>> +       phy-mode = "rgmii";
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&pinctrl_mac2link_default &pinctrl_mdio2_default>;
>> +};
>> +
>> +
>> +&fmc {
>> +       status = "okay";
>> +       flash at 0 {
>> +               compatible = "spi-flash", "sst,w25q256";
> 
> You just removed all of these :)

oops. I might have included the palmetto in the previous patch I sent :)
I shouldn't keep patches for so long.

> 
>> +               status = "okay";
>> +               spi-max-frequency = <50000000>;
>> +               spi-tx-bus-width = <2>;
>> +               spi-rx-bus-width = <2>;
>> +       };
>> +
>> +       flash at 1 {
>> +                compatible = "spi-flash", "sst,w25q256";
>> +                status = "okay";
>> +                spi-max-frequency = <50000000>;
>> +                spi-tx-bus-width = <2>;
>> +                spi-rx-bus-width = <2>;
>> +        };
>> +};
>> +
>> +&spi1 {
>> +       status = "okay";
>> +       flash at 0 {
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&pinctrl_spi1_default>;
>> +               compatible = "spi-flash", "sst,w25q256";
> 
> They only have one flash on each controller iirc.

yes.

> 
> 
>> +               status = "okay";
>> +               spi-max-frequency = <50000000>;
>> +               spi-tx-bus-width = <2>;
>> +               spi-rx-bus-width = <2>;
>> +       };
>> +       flash at 1 {
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&pinctrl_spi1_default &pinctrl_spi1cs1_default>;
>> +               compatible = "spi-flash", "sst,w25q256";
>> +               status = "okay";
>> +               spi-max-frequency = <50000000>;
>> +               spi-tx-bus-width = <2>;
>> +               spi-rx-bus-width = <2>;
>> +       };
>> +};
>> diff --git a/configs/ast2400-palmetto_defconfig b/configs/ast2400-palmetto_defconfig
>> new file mode 100644
>> index 000000000000..8802323b4db8
>> --- /dev/null
>> +++ b/configs/ast2400-palmetto_defconfig
> 
> Do we need a separate defconfig from the one for the evb? If not, can
> we adjust the evb defconfig to suit?
> 
> Hopefully we can just build it with DEVICE_TREE=ast2400-palmetto and
> an existing defconfig.


ok. I will give it a try on QEMU.

Thanks,

C.

> 
>> @@ -0,0 +1,74 @@
>> +CONFIG_ARM=y
>> +CONFIG_ARCH_ASPEED=y
>> +CONFIG_SYS_TEXT_BASE=0x0
>> +CONFIG_ASPEED_AST2400=y
>> +CONFIG_SYS_MALLOC_F_LEN=0x800
>> +CONFIG_ENV_SIZE=0x10000
>> +CONFIG_ENV_OFFSET=0xF0000
>> +CONFIG_NR_DRAM_BANKS=1
>> +CONFIG_FIT=y
>> +CONFIG_USE_BOOTARGS=y
>> +CONFIG_BOOTARGS="console=ttyS4,115200n8 root=/dev/ram rw"
>> +CONFIG_USE_BOOTCOMMAND=y
>> +CONFIG_BOOTCOMMAND="bootm 20080000"
>> +CONFIG_PRE_CONSOLE_BUFFER=y
>> +CONFIG_PRE_CON_BUF_ADDR=0x1e720000
>> +CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y
>> +CONFIG_HUSH_PARSER=y
>> +# CONFIG_AUTO_COMPLETE is not set
>> +CONFIG_SYS_PROMPT="ast# "
>> +CONFIG_CMD_MEMTEST=y
>> +CONFIG_SYS_ALT_MEMTEST=y
>> +CONFIG_CMD_CLK=y
>> +CONFIG_CMD_GPIO=y
>> +CONFIG_CMD_I2C=y
>> +CONFIG_CMD_MMC=y
>> +CONFIG_CMD_SF=y
>> +CONFIG_CMD_DHCP=y
>> +CONFIG_CMD_MII=y
>> +CONFIG_CMD_PING=y
>> +CONFIG_DEFAULT_DEVICE_TREE="ast2400-palmetto"
>> +CONFIG_ENV_IS_IN_SPI_FLASH=y
>> +CONFIG_USE_ENV_SPI_BUS=y
>> +CONFIG_ENV_SPI_BUS=0
>> +CONFIG_USE_ENV_SPI_CS=y
>> +CONFIG_ENV_SPI_CS=0
>> +CONFIG_USE_ENV_SPI_MAX_HZ=y
>> +CONFIG_ENV_SPI_MAX_HZ=100000000
>> +CONFIG_NET_RANDOM_ETHADDR=y
>> +CONFIG_REGMAP=y
>> +CONFIG_CLK=y
>> +CONFIG_DM_GPIO=y
>> +CONFIG_ASPEED_GPIO=y
>> +CONFIG_DM_I2C=y
>> +CONFIG_SYS_I2C_ASPEED=y
>> +CONFIG_MISC=y
>> +CONFIG_DM_MMC=y
>> +# CONFIG_MMC_HW_PARTITIONING is not set
>> +CONFIG_MMC_SDHCI=y
>> +CONFIG_MMC_SDHCI_ASPEED=y
>> +CONFIG_DM_SPI_FLASH=y
>> +CONFIG_SPI_FLASH=y
>> +CONFIG_SPI_FLASH_GIGADEVICE=y
>> +CONFIG_SPI_FLASH_MACRONIX=y
>> +CONFIG_SPI_FLASH_SPANSION=y
>> +CONFIG_SPI_FLASH_STMICRO=y
>> +CONFIG_SPI_FLASH_WINBOND=y
>> +CONFIG_PHY_REALTEK=y
>> +CONFIG_PHY_NCSI=y
>> +CONFIG_DM_ETH=y
>> +CONFIG_PHY_GIGE=y
>> +CONFIG_FTGMAC100=y
>> +CONFIG_PHY=y
>> +CONFIG_PINCTRL=y
>> +CONFIG_RAM=y
>> +CONFIG_DM_SERIAL=y
>> +CONFIG_SYS_NS16550=y
>> +CONFIG_SPI=y
>> +CONFIG_DM_SPI=y
>> +CONFIG_SYSRESET=y
>> +CONFIG_TIMER=y
>> +CONFIG_WDT=y
>> +CONFIG_DM_RESET=y
>> +# CONFIG_CMD_BOOTEFI is not set
>> +# CONFIG_EFI_LOADER is not set
>> --
>> 2.35.3
>>



More information about the openbmc mailing list