[PATCH u-boot v2019.04-aspeed-openbmc v2] board: ast2600: Add Inspur SCM V1 board
John Wang
wangzq.jn at gmail.com
Tue Apr 18 17:31:38 AEST 2023
<lintao1890 at 163.com> 于2023年4月18日周二 14:17写道:
>
> From: LinTao <lintao.lc at inspur.com>
>
> AST2600-INSPUR is an Inspur SCM V1 board which is
> equipped with AST2600
>
> Signed-off-by: LinTao <lintao.lc at inspur.com>
Reviewed-by: John Wang <wangzhiqiang02 at inspur.com>
> ---
> V1 -> V2:
> - add a missing '\'
> ---
> arch/arm/dts/Makefile | 3 +-
> arch/arm/dts/ast2600-inspur-nf5280m7.dts | 190 +++++++++++++++++++++++
> arch/arm/mach-aspeed/ast2600/Kconfig | 8 +
> board/aspeed/ast2600_inspur/Kconfig | 13 ++
> board/aspeed/ast2600_inspur/Makefile | 1 +
> board/aspeed/ast2600_inspur/inspur.c | 22 +++
> 6 files changed, 236 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/dts/ast2600-inspur-nf5280m7.dts
> create mode 100644 board/aspeed/ast2600_inspur/Kconfig
> create mode 100644 board/aspeed/ast2600_inspur/Makefile
> create mode 100644 board/aspeed/ast2600_inspur/inspur.c
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 6c34b83336..f62c16b4f1 100755
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -695,7 +695,8 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> ast2600-slt.dtb \
> ast2600-tacoma.dtb \
> ast2600-intel.dtb \
> - ast2600-tacoma.dtb
> + ast2600-tacoma.dtb \
> + ast2600-inspur-nf5280m7.dtb
>
> dtb-$(CONFIG_ARCH_STI) += stih410-b2260.dtb
>
> diff --git a/arch/arm/dts/ast2600-inspur-nf5280m7.dts b/arch/arm/dts/ast2600-inspur-nf5280m7.dts
> new file mode 100644
> index 0000000000..8210797868
> --- /dev/null
> +++ b/arch/arm/dts/ast2600-inspur-nf5280m7.dts
> @@ -0,0 +1,190 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +// Copyright 2023 Inspur Corp.
> +/dts-v1/;
> +
> +#include "ast2600-u-boot.dtsi"
> +
> +/ {
> + model = "Inspur SCM V1";
> + compatible = "inspur,nf5280m7-bmc", "aspeed,ast2600";
> +
> + memory {
> + device_type = "memory";
> + reg = <0x80000000 0x40000000>;
> + };
> +
> + chosen {
> + stdout-path = &uart5;
> + };
> +
> + aliases {
> + mmc0 = &emmc_slot0;
> + mmc1 = &sdhci_slot0;
> + mmc2 = &sdhci_slot1;
> + spi0 = &fmc;
> + spi1 = &spi1;
> + spi2 = &spi2;
> + ethernet1 = &mac1;
> + };
> +
> + cpus {
> + cpu at 0 {
> + clock-frequency = <1200000000>;
> + };
> + cpu at 1 {
> + clock-frequency = <1200000000>;
> + };
> + };
> +};
> +
> +&gpio0 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&uart2 {
> + status = "okay";
> +};
> +
> +&uart5 {
> + u-boot,dm-pre-reloc;
> + status = "okay";
> +};
> +
> +&sdrammc {
> + clock-frequency = <400000000>;
> +};
> +
> +&mdio {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_mdio2_default>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + ethphy0: ethernet-phy at 0 {
> + reg = <0>;
> + };
> +
> + ethphy1: ethernet-phy at 1 {
> + reg = <0>;
> + };
> +
> + ethphy2: ethernet-phy at 2 {
> + reg = <0>;
> + };
> +
> + ethphy3: ethernet-phy at 3 {
> + reg = <0>;
> + };
> +};
> +
> +&mac1 {
> + status = "okay";
> + phy-mode = "rgmii";
> + phy-handle = <ðphy1>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_rgmii2_default>;
> +};
> +
> +&fmc {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_fmcquad_default>;
> + flash at 0 {
> + status = "okay";
> + spi-max-frequency = <40000000>;
> + spi-tx-bus-width = <4>;
> + spi-rx-bus-width = <4>;
> + };
> + flash at 1 {
> + status = "okay";
> + spi-max-frequency = <40000000>;
> + spi-tx-bus-width = <4>;
> + spi-rx-bus-width = <4>;
> + };
> +};
> +
> +&i2c1 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c2_default>;
> +};
> +
> +&i2c4 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c5_default>;
> +};
> +
> +&i2c5 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c6_default>;
> +};
> +
> +&i2c6 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c7_default>;
> +};
> +
> +&i2c7 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c8_default>;
> +};
> +
> +&i2c8 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c9_default>;
> +};
> +
> +&i2c9 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c10_default>;
> +};
> +
> +&i2c12 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c13_default>;
> +};
> +
> +&i2c13 {
> + status = "okay";
> + multi-master;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c14_default>;
> +};
> +
> +&hace {
> + u-boot,dm-pre-reloc;
> + status = "okay";
> +};
> +
> +&acry {
> + u-boot,dm-pre-reloc;
> + status = "disabled";
> +};
> diff --git a/arch/arm/mach-aspeed/ast2600/Kconfig b/arch/arm/mach-aspeed/ast2600/Kconfig
> index f5852afa77..db177399b9 100644
> --- a/arch/arm/mach-aspeed/ast2600/Kconfig
> +++ b/arch/arm/mach-aspeed/ast2600/Kconfig
> @@ -51,6 +51,13 @@ config TARGET_QUALCOMM_DC_SCM_V1
> QUALCOMM-DC-SCM-V1 is a Qualcomm DC-SCM V1 board which is
> equipped with AST2600.
>
> +config TARGET_AST2600_INSPUR
> + bool "AST2600-INSPUR"
> + depends on ASPEED_AST2600
> + help
> + AST2600-INSPUR is an Inspur SCM V1 board which is
> + equipped with AST2600.
> +
> endchoice
>
> source "board/aspeed/evb_ast2600/Kconfig"
> @@ -59,5 +66,6 @@ source "board/aspeed/slt_ast2600/Kconfig"
> source "board/aspeed/ast2600_ibm/Kconfig"
> source "board/aspeed/ast2600_intel/Kconfig"
> source "board/qualcomm/dc-scm-v1/Kconfig"
> +source "board/aspeed/ast2600_inspur/Kconfig"
>
> endif
> diff --git a/board/aspeed/ast2600_inspur/Kconfig b/board/aspeed/ast2600_inspur/Kconfig
> new file mode 100644
> index 0000000000..ef11a01bcc
> --- /dev/null
> +++ b/board/aspeed/ast2600_inspur/Kconfig
> @@ -0,0 +1,13 @@
> +if TARGET_AST2600_INSPUR
> +
> +config SYS_BOARD
> + default "ast2600_inspur"
> +
> +config SYS_VENDOR
> + default "aspeed"
> +
> +config SYS_CONFIG_NAME
> + string "board configuration name"
> + default "ast2600_inspur"
> +
> +endif
> diff --git a/board/aspeed/ast2600_inspur/Makefile b/board/aspeed/ast2600_inspur/Makefile
> new file mode 100644
> index 0000000000..8af8692f3c
> --- /dev/null
> +++ b/board/aspeed/ast2600_inspur/Makefile
> @@ -0,0 +1 @@
> +obj-y += inspur.o
> diff --git a/board/aspeed/ast2600_inspur/inspur.c b/board/aspeed/ast2600_inspur/inspur.c
> new file mode 100644
> index 0000000000..044a7c17c1
> --- /dev/null
> +++ b/board/aspeed/ast2600_inspur/inspur.c
> @@ -0,0 +1,22 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright 2023 Inspur Corp.
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +
> +#define AST_GPIO_BASE (0x1E780000)
> +#define AST_GPIOABCD_DRCTN (AST_GPIO_BASE + 0x004)
> +
> +int board_late_init(void)
> +{
> + u32 direction;
> +
> + /* GPIOB[2] output*/
> + direction = readl(AST_GPIOABCD_DRCTN);
> + direction |= 0x700;
> + writel(direction, AST_GPIOABCD_DRCTN);
> +
> + return 0;
> +}
> --
> 2.34.1
>
More information about the openbmc
mailing list