* [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure @ 2022-02-15 5:33 Yu Chien Peter Lin 2022-02-15 5:33 ` [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 Yu Chien Peter Lin ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Yu Chien Peter Lin @ 2022-02-15 5:33 UTC (permalink / raw) To: buildroot; +Cc: giulio.benetti, Yu Chien Peter Lin, alankao Rearrange nds32 folder structure to add AE350 platform. Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Signed-off-by: Alan Kao <alankao@andestech.com> --- .../patches/linux/0001-nds32-Fix-boot-messages-garbled.patch | 0 ...2-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch | 0 board/andes/{ => ae3xx}/readme.txt | 0 configs/andes_ae3xx_defconfig | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) rename board/andes/{ => ae3xx}/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch (100%) rename board/andes/{ => ae3xx}/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch (100%) rename board/andes/{ => ae3xx}/readme.txt (100%) diff --git a/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch b/board/andes/ae3xx/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch similarity index 100% rename from board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch rename to board/andes/ae3xx/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch diff --git a/board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/board/andes/ae3xx/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch similarity index 100% rename from board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch rename to board/andes/ae3xx/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch diff --git a/board/andes/readme.txt b/board/andes/ae3xx/readme.txt similarity index 100% rename from board/andes/readme.txt rename to board/andes/ae3xx/readme.txt diff --git a/configs/andes_ae3xx_defconfig b/configs/andes_ae3xx_defconfig index 52634caa50..18051115c3 100644 --- a/configs/andes_ae3xx_defconfig +++ b/configs/andes_ae3xx_defconfig @@ -1,5 +1,5 @@ BR2_nds32=y -BR2_GLOBAL_PATCH_DIR="board/andes/patches/" +BR2_GLOBAL_PATCH_DIR="board/andes/ae3xx/patches" BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_ANDES_NDS32=y BR2_LINUX_KERNEL=y -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 2022-02-15 5:33 [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Yu Chien Peter Lin @ 2022-02-15 5:33 ` Yu Chien Peter Lin 2022-02-17 16:01 ` Giulio Benetti 2022-02-15 5:33 ` [Buildroot] [PATCH v3 3/3] DEVELOPERS: add Yu-Chien Lin to board/andes Yu Chien Peter Lin 2022-02-17 15:55 ` [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Giulio Benetti 2 siblings, 1 reply; 9+ messages in thread From: Yu Chien Peter Lin @ 2022-02-15 5:33 UTC (permalink / raw) To: buildroot; +Cc: giulio.benetti, Yu Chien Peter Lin, alankao This patch provides defconfig and basic support for the Andes 45 series RISC-V architecture. Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Signed-off-by: Alan Kao <alankao@andestech.com> --- Changes v1 -> v2: - move linux source code and its patches to AndesTech Github repo - rename ae350_andestar45_defconfig to andes_ae350_45_defconfig - change C library to uClibc - remove OpenSSL package - remove rootfs.cpio and rootfs.tar - update DEVELOPERS Changes v2 -> v3: - specifiy branch to download from AndesTech linux repo - change boot.cmd to extlinux.conf - add post-build.sh for extlinux.conf to retrieve Image and DTB - fix format and update genimage_sdcard.cfg - update readme.txt - add packages (python3, pylibfdt and openssl) for u-boot binman - reorder item in DEVELOPERS --- board/andes/ae350/ae350.dts | 274 ++++++++++++++++++ board/andes/ae350/genimage_sdcard.cfg | 26 ++ ...isable-PIC-explicitly-for-assembling.patch | 29 ++ ...2-Enable-cache-for-opensbi-jump-mode.patch | 25 ++ ...001-Fix-mmc-no-partition-table-error.patch | 27 ++ ...2-Prevent-fw_dynamic-from-relocation.patch | 27 ++ ...0003-Fix-u-boot-proper-booting-issue.patch | 26 ++ ...04-Enable-printing-OpenSBI-boot-logo.patch | 25 ++ board/andes/ae350/post-build.sh | 3 + board/andes/ae350/readme.txt | 65 +++++ .../boot/extlinux/extlinux.conf | 4 + board/andes/ae350/uboot.config.fragment | 5 + configs/andes_ae350_45_defconfig | 43 +++ 13 files changed, 579 insertions(+) create mode 100755 board/andes/ae350/ae350.dts create mode 100644 board/andes/ae350/genimage_sdcard.cfg create mode 100644 board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch create mode 100644 board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch create mode 100644 board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch create mode 100644 board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch create mode 100644 board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch create mode 100644 board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch create mode 100755 board/andes/ae350/post-build.sh create mode 100644 board/andes/ae350/readme.txt create mode 100644 board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf create mode 100644 board/andes/ae350/uboot.config.fragment create mode 100644 configs/andes_ae350_45_defconfig diff --git a/board/andes/ae350/ae350.dts b/board/andes/ae350/ae350.dts new file mode 100755 index 0000000000..5e5d70ab25 --- /dev/null +++ b/board/andes/ae350/ae350.dts @@ -0,0 +1,274 @@ +/dts-v1/; + +/ { + #address-cells = <2>; + #size-cells = <2>; + compatible = "andestech,ae350"; + model = "andestech,ax45"; + aliases { + uart0 = &serial0; + spi0 = &spi; + }; + + chosen { + bootargs = "console=ttyS0,38400n8 earlycon=sbi debug loglevel=7"; + stdout-path = "uart0:38400n8"; + }; + cpus { + #address-cells = <1>; + #size-cells = <0>; + timebase-frequency = <60000000>; + CPU0: cpu@0 { + device_type = "cpu"; + reg = <0>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; + riscv,priv-major = <1>; + riscv,priv-minor = <10>; + mmu-type = "riscv,sv48"; + clock-frequency = <60000000>; + i-cache-size = <0x8000>; + i-cache-sets = <256>; + i-cache-block-size = <64>; + i-cache-line-size = <64>; + d-cache-size = <0x8000>; + d-cache-sets = <128>; + d-cache-block-size = <64>; + d-cache-line-size = <64>; + next-level-cache = <&L2>; + CPU0_intc: interrupt-controller { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + CPU1: cpu@1 { + device_type = "cpu"; + reg = <1>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; + riscv,priv-major = <1>; + riscv,priv-minor = <10>; + mmu-type = "riscv,sv48"; + clock-frequency = <60000000>; + i-cache-size = <0x8000>; + i-cache-sets = <256>; + i-cache-block-size = <64>; + i-cache-line-size = <64>; + d-cache-size = <0x8000>; + d-cache-sets = <128>; + d-cache-block-size = <64>; + d-cache-line-size = <64>; + next-level-cache = <&L2>; + CPU1_intc: interrupt-controller { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + CPU2: cpu@2 { + device_type = "cpu"; + reg = <2>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; + riscv,priv-major = <1>; + riscv,priv-minor = <10>; + mmu-type = "riscv,sv48"; + clock-frequency = <60000000>; + i-cache-size = <0x8000>; + i-cache-sets = <256>; + i-cache-block-size = <64>; + i-cache-line-size = <64>; + d-cache-size = <0x8000>; + d-cache-sets = <128>; + d-cache-block-size = <64>; + d-cache-line-size = <64>; + next-level-cache = <&L2>; + CPU2_intc: interrupt-controller { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + CPU3: cpu@3 { + device_type = "cpu"; + reg = <3>; + status = "okay"; + compatible = "riscv"; + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; + riscv,priv-major = <1>; + riscv,priv-minor = <10>; + mmu-type = "riscv,sv48"; + clock-frequency = <60000000>; + i-cache-size = <0x8000>; + i-cache-sets = <256>; + i-cache-block-size = <64>; + i-cache-line-size = <64>; + d-cache-size = <0x8000>; + d-cache-sets = <128>; + d-cache-block-size = <64>; + d-cache-line-size = <64>; + next-level-cache = <&L2>; + CPU3_intc: interrupt-controller { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "riscv,cpu-intc"; + }; + }; + }; + L2: l2-cache@e0500000 { + compatible = "cache"; + cache-level = <2>; + cache-size = <0x80000>; + reg = <0x00000000 0xe0500000 0x00000000 0x00001000>; + andes,inst-prefetch = <3>; + andes,data-prefetch = <3>; + // The value format is <XRAMOCTL XRAMICTL> + andes,tag-ram-ctl = <0 0>; + andes,data-ram-ctl = <0 0>; + }; + memory@0 { + reg = <0x00000000 0x00000000 0x00000000 0x80000000>; + device_type = "memory"; + }; + soc { + #address-cells = <2>; + #size-cells = <2>; + compatible = "andestech,riscv-ae350-soc", "simple-bus"; + ranges; + plic0: interrupt-controller@e4000000 { + compatible = "riscv,plic0"; + reg = <0x00000000 0xe4000000 0x00000000 0x02000000>; + interrupts-extended = < &CPU0_intc 11 &CPU0_intc 9 &CPU1_intc 11 &CPU1_intc 9 &CPU2_intc 11 &CPU2_intc 9 &CPU3_intc 11 &CPU3_intc 9>; + interrupt-controller; + #address-cells = <2>; + #interrupt-cells = <2>; + riscv,ndev = <71>; + }; + plic1: interrupt-controller@e6400000 { + compatible = "riscv,plic1"; + reg = <0x00000000 0xe6400000 0x00000000 0x00400000>; + interrupts-extended = < &CPU0_intc 3 &CPU1_intc 3 &CPU2_intc 3 &CPU3_intc 3>; + interrupt-controller; + #address-cells = <2>; + #interrupt-cells = <2>; + riscv,ndev = <4>; + }; + plmt0: plmt0@e6000000 { + compatible = "riscv,plmt0"; + reg = <0x00000000 0xe6000000 0x00000000 0x00100000>; + interrupts-extended = < &CPU0_intc 7 &CPU1_intc 7 &CPU2_intc 7 &CPU3_intc 7>; + }; + spiclk: virt_100mhz { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <100000000>; + }; + timer0: timer@f0400000 { + compatible = "andestech,atcpit100"; + reg = <0x00000000 0xf0400000 0x00000000 0x00001000>; + interrupts = <3 4>; + interrupt-parent = <&plic0>; + clock-frequency = <60000000>; + }; + pwm: pwm@f0400000 { + compatible = "andestech,atcpit100-pwm"; + reg = <0x00000000 0xf0400000 0x00000000 0x00001000>; + interrupts = <3 4>; + interrupt-parent = <&plic0>; + clock-frequency = <60000000>; + pwm-cells = <2>; + }; + wdt: wdt@f0500000 { + compatible = "andestech,atcwdt200"; + reg = <0x00000000 0xf0500000 0x00000000 0x00001000>; + interrupts = <3 4>; + interrupt-parent = <&plic0>; + clock-frequency = <15000000>; + }; + serial0: serial@f0300000 { + compatible = "andestech,uart16550", "ns16550a"; + reg = <0x00000000 0xf0300000 0x00000000 0x00001000>; + interrupts = <9 4>; + interrupt-parent = <&plic0>; + clock-frequency = <19660800>; + reg-shift = <2>; + reg-offset = <32>; + no-loopback-test = <1>; + }; + rtc0: rtc@f0600000 { + compatible = "andestech,atcrtc100"; + reg = <0x00000000 0xf0600000 0x00000000 0x00001000>; + interrupts = <1 4 2 4>; + interrupt-parent = <&plic0>; + wakeup-source; + }; + gpio: gpio@f0700000 { + compatible = "andestech,atcgpio100"; + reg = <0x00000000 0xf0700000 0x00000000 0x00001000>; + interrupts = <7 4>; + interrupt-parent = <&plic0>; + wakeup-source; + }; + mac0: mac@e0100000 { + compatible = "andestech,atmac100"; + reg = <0x00000000 0xe0100000 0x00000000 0x00001000>; + interrupts = <19 4>; + interrupt-parent = <&plic0>; + dma-coherent; + }; + smu: smu@f0100000 { + compatible = "andestech,atcsmu"; + reg = <0x00000000 0xf0100000 0x00000000 0x00001000>; + }; + mmc0: mmc@f0e00000 { + compatible = "andestech,atfsdc010"; + reg = <0x00000000 0xf0e00000 0x00000000 0x00001000>; + interrupts = <18 4>; + interrupt-parent = <&plic0>; + clock-freq-min-max = <400000 100000000>; + max-frequency = <100000000>; + fifo-depth = <16>; + cap-sd-highspeed; + dma-coherent; + }; + dma0: dma@f0c00000 { + compatible = "andestech,atcdmac300"; + reg = <0x00000000 0xf0c00000 0x00000000 0x00001000>; + interrupts = <10 4 64 4 65 4 66 4 67 4 68 4 69 4 70 4 71 4>; + interrupt-parent = <&plic0>; + dma-channels = <8>; + }; + lcd0: lcd@e0200000 { + compatible = "andestech,atflcdc100"; + reg = <0x00000000 0xe0200000 0x00000000 0x00001000>; + interrupts = <20 4>; + interrupt-parent = <&plic0>; + dma-coherent; + }; + pmu: pmu { + compatible = "riscv,andes-pmu"; + device_type = "pmu"; + }; + spi: spi@f0b00000 { + compatible = "andestech,atcspi200"; + reg = <0x00000000 0xf0b00000 0x00000000 0x00001000>; + interrupts = <4 4>; + interrupt-parent = <&plic0>; + #address-cells = <1>; + #size-cells = <0>; + num-cs = <1>; + clocks = <&spiclk>; + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0x00000000>; + spi-max-frequency = <50000000>; + spi-cpol; + spi-cpha; + }; + }; + }; +}; diff --git a/board/andes/ae350/genimage_sdcard.cfg b/board/andes/ae350/genimage_sdcard.cfg new file mode 100644 index 0000000000..b8b9fe6a62 --- /dev/null +++ b/board/andes/ae350/genimage_sdcard.cfg @@ -0,0 +1,26 @@ +image boot.vfat { + vfat { + files = { + "u-boot-spl.bin", + "u-boot.itb", + "ae350.dtb", + } + } + size = 2M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + bootable = true + image = "rootfs.ext4" + } +} diff --git a/board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch b/board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch new file mode 100644 index 0000000000..aeafed4c9f --- /dev/null +++ b/board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch @@ -0,0 +1,29 @@ +From 3ccb71eeca42dbcd5e4d00ae1877a489ae82598d Mon Sep 17 00:00:00 2001 +From: Yu Chien Peter Lin <peterlin@andestech.com> +Date: Wed, 29 Dec 2021 16:04:54 +0800 +Subject: [PATCH] Disable PIC explicitly for assembling + +This patch is necessary if the fw_dynamic load address +is not equal to link address. +However, they are equal currently, since we include an u-boot +patch for preventing fw_dynamic relocation. + +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> +--- + Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile b/Makefile +index d6f097d..441518d 100644 +--- a/Makefile ++++ b/Makefile +@@ -225,6 +225,7 @@ ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) + ASFLAGS += $(GENFLAGS) + ASFLAGS += $(platform-asflags-y) + ASFLAGS += $(firmware-asflags-y) ++ASFLAGS += -fno-pic + + ARFLAGS = rcs + +-- +2.25.1 diff --git a/board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch b/board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch new file mode 100644 index 0000000000..ae48a760c8 --- /dev/null +++ b/board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch @@ -0,0 +1,25 @@ +From 325328f4204b40b1fcc8db3b46c7c8805710d21c Mon Sep 17 00:00:00 2001 +From: Yu Chien Peter Lin <peterlin@andestech.com> +Date: Thu, 30 Dec 2021 08:47:34 +0800 +Subject: [PATCH] Enable cache for opensbi jump mode + +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> +--- + firmware/fw_base.S | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/firmware/fw_base.S b/firmware/fw_base.S +index ab33e11..155d230 100644 +--- a/firmware/fw_base.S ++++ b/firmware/fw_base.S +@@ -46,6 +46,8 @@ + .globl _start + .globl _start_warm + _start: ++ li t0, 0x80003 ++ csrw 0x7ca, t0 + /* Find preferred boot HART id */ + MOV_3R s0, a0, s1, a1, s2, a2 + call fw_boot_hart +-- +2.25.1 diff --git a/board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch b/board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch new file mode 100644 index 0000000000..7aff3cebf6 --- /dev/null +++ b/board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch @@ -0,0 +1,27 @@ +From ea4675215b53d16a72d29b8a6fc6a86cccf59cf0 Mon Sep 17 00:00:00 2001 +From: Yu Chien Peter Lin <peterlin@andestech.com> +Date: Wed, 5 Jan 2022 11:00:59 +0800 +Subject: [PATCH] Fix mmc no partition table error + +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> +--- + drivers/mmc/ftsdc010_mci.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/drivers/mmc/ftsdc010_mci.c b/drivers/mmc/ftsdc010_mci.c +index 570d54cf..3b1e0aa0 100644 +--- a/drivers/mmc/ftsdc010_mci.c ++++ b/drivers/mmc/ftsdc010_mci.c +@@ -438,10 +438,6 @@ static int ftsdc010_mmc_probe(struct udevice *dev) + return ret; + #endif + +- if (dev_read_bool(dev, "cap-mmc-highspeed") || \ +- dev_read_bool(dev, "cap-sd-highspeed")) +- chip->caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz; +- + ftsdc_setup_cfg(&plat->cfg, dev->name, chip->buswidth, chip->caps, + priv->minmax[1] , priv->minmax[0]); + chip->mmc = &plat->mmc; +-- +2.25.1 diff --git a/board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch b/board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch new file mode 100644 index 0000000000..c6e1896f1c --- /dev/null +++ b/board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch @@ -0,0 +1,27 @@ +From 4c0c5378d032f2f95577585935624baf7b4decf3 Mon Sep 17 00:00:00 2001 +From: Yu Chien Peter Lin <peterlin@andestech.com> +Date: Wed, 5 Jan 2022 11:02:26 +0800 +Subject: [PATCH] Prevent fw_dynamic from relocation + +This patch prevents OpenSBI relocation, load fw_dynamic to link address + +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> +--- + board/AndesTech/ax25-ae350/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/board/AndesTech/ax25-ae350/Kconfig b/board/AndesTech/ax25-ae350/Kconfig +index e50f505a..385c4c11 100644 +--- a/board/AndesTech/ax25-ae350/Kconfig ++++ b/board/AndesTech/ax25-ae350/Kconfig +@@ -25,7 +25,7 @@ config SPL_TEXT_BASE + default 0x800000 + + config SPL_OPENSBI_LOAD_ADDR +- default 0x01000000 ++ default 0x0 + + config BOARD_SPECIFIC_OPTIONS # dummy + def_bool y +-- +2.25.1 diff --git a/board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch b/board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch new file mode 100644 index 0000000000..20598fdba4 --- /dev/null +++ b/board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch @@ -0,0 +1,26 @@ +From 3d09501175ae6f5e3f6520b48b1358226a99ff16 Mon Sep 17 00:00:00 2001 +From: Yu Chien Peter Lin <peterlin@andestech.com> +Date: Wed, 5 Jan 2022 18:17:39 +0800 +Subject: [PATCH] Fix u-boot proper booting issue + +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> +--- + arch/riscv/cpu/start.S | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S +index 76850ec9..2ccda4f5 100644 +--- a/arch/riscv/cpu/start.S ++++ b/arch/riscv/cpu/start.S +@@ -139,7 +139,9 @@ call_harts_early_init: + * accesses gd). + */ + mv gp, s0 ++#if !CONFIG_IS_ENABLED(RISCV_SMODE) + bnez tp, secondary_hart_loop ++#endif + #endif + + jal board_init_f_init_reserve +-- +2.25.1 diff --git a/board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch b/board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch new file mode 100644 index 0000000000..efd78ab26d --- /dev/null +++ b/board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch @@ -0,0 +1,25 @@ +From 3847a959ac4c07facbd80104ca5fa6a91fad5f35 Mon Sep 17 00:00:00 2001 +From: Yu Chien Peter Lin <peterlin@andestech.com> +Date: Thu, 6 Jan 2022 13:50:07 +0800 +Subject: [PATCH] Enable printing OpenSBI boot logo + +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> +--- + include/opensbi.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/opensbi.h b/include/opensbi.h +index d812cc8c..91fb8fd9 100644 +--- a/include/opensbi.h ++++ b/include/opensbi.h +@@ -20,7 +20,7 @@ + + enum sbi_scratch_options { + /** Disable prints during boot */ +- SBI_SCRATCH_NO_BOOT_PRINTS = (1 << 0), ++ SBI_SCRATCH_NO_BOOT_PRINTS = 0, + }; + + /** Representation dynamic info passed by previous booting stage */ +-- +2.25.1 diff --git a/board/andes/ae350/post-build.sh b/board/andes/ae350/post-build.sh new file mode 100755 index 0000000000..0e6ce228f4 --- /dev/null +++ b/board/andes/ae350/post-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cp $BINARIES_DIR/Image $TARGET_DIR/boot +cp $BINARIES_DIR/ae350.dtb $TARGET_DIR/boot diff --git a/board/andes/ae350/readme.txt b/board/andes/ae350/readme.txt new file mode 100644 index 0000000000..6825468d50 --- /dev/null +++ b/board/andes/ae350/readme.txt @@ -0,0 +1,65 @@ +Intro +===== + +Andestech AE350 Platform + +The AE350 prototype demonstrates the AE350 platform on the FPGA. + +How to build it +=============== + +Configure Buildroot +------------------- + + $ make andes_ae350_45_defconfig + +If you want to customize your configuration: + + $ make menuconfig + +Build everything +---------------- +Note: you will need to access to the network, since Buildroot will +download the packages' sources. + + $ make + +Result of the build +------------------- + +After building, you should obtain the following files: + + output/images/ + |-- ae350.dtb + |-- boot.vfat + |-- fw_dynamic.bin + |-- fw_dynamic.elf + |-- fw_jump.bin + |-- fw_jump.elf + |-- Image + |-- rootfs.ext2 + |-- rootfs.ext4 -> rootfs.ext2 + |-- sdcard.img + |-- u-boot-spl.bin + `-- u-boot.itb + +Copy the sdcard.img to a SD card with "dd": + + $ sudo dd if=sdcard.img of=/dev/sdX bs=4096 + $ sudo sync + +Your SD card partition should be: + + Disk /dev/sdb: 14.48 GiB, 15552479232 bytes, 30375936 sectors + Disk model: Multi-Card + Units: sectors of 1 * 512 = 512 bytes + Sector size (logical/physical): 512 bytes / 512 bytes + I/O size (minimum/optimal): 512 bytes / 512 bytes + Disklabel type: dos + Disk identifier: 0x00000000 + + Device Boot Start End Sectors Size Id Type + /dev/sdb1 1 4096 4096 2M c W95 FAT32 (LBA) + /dev/sdb2 * 4097 126976 122880 60M 83 Linux + +Insert SD card and reset the board, it should boot Linux from mmc. diff --git a/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 0000000000..549eb93abc --- /dev/null +++ b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /boot/Image + fdt /boot/ae350.dtb + append earlycon=sbi root=/dev/mmcblk0p2 rootwait diff --git a/board/andes/ae350/uboot.config.fragment b/board/andes/ae350/uboot.config.fragment new file mode 100644 index 0000000000..4992d712a5 --- /dev/null +++ b/board/andes/ae350/uboot.config.fragment @@ -0,0 +1,5 @@ +CONFIG_SPL_FS_FAT=y +CONFIG_SPL_MMC=y +# CONFIG_SPL_RAM_SUPPORT is not set +# CONFIG_OF_BOARD is not set +CONFIG_OF_SEPARATE=y diff --git a/configs/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig new file mode 100644 index 0000000000..a35ddd06ba --- /dev/null +++ b/configs/andes_ae350_45_defconfig @@ -0,0 +1,43 @@ +BR2_riscv=y +BR2_riscv_custom=y +BR2_RISCV_ISA_CUSTOM_RVM=y +BR2_RISCV_ISA_CUSTOM_RVF=y +BR2_RISCV_ISA_CUSTOM_RVD=y +BR2_RISCV_ISA_CUSTOM_RVC=y +BR2_GLOBAL_PATCH_DIR="board/andes/ae350/patches" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_OVERLAY="board/andes/ae350/rootfs_overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/andes/ae350/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/andes/ae350/genimage_sdcard.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/andestech/linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.10.84-ae350_45" +BR2_LINUX_KERNEL_DEFCONFIG="ae350_rv64_smp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/andes/ae350/ae350.dts" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_PLAT="andes/ae350" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ae350_rv64_spl_xip" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/andes/ae350/uboot.config.fragment" +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="ARCH_FLAGS=-march=rv64imafdc" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 2022-02-15 5:33 ` [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 Yu Chien Peter Lin @ 2022-02-17 16:01 ` Giulio Benetti 0 siblings, 0 replies; 9+ messages in thread From: Giulio Benetti @ 2022-02-17 16:01 UTC (permalink / raw) To: Yu Chien Peter Lin, buildroot; +Cc: alankao Hi Peter, On 15/02/22 06:33, Yu Chien Peter Lin wrote: > This patch provides defconfig and basic support for the Andes > 45 series RISC-V architecture. > > Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > Signed-off-by: Alan Kao <alankao@andestech.com> > --- > Changes v1 -> v2: > - move linux source code and its patches to AndesTech Github repo > - rename ae350_andestar45_defconfig to andes_ae350_45_defconfig > - change C library to uClibc > - remove OpenSSL package > - remove rootfs.cpio and rootfs.tar > - update DEVELOPERS > Changes v2 -> v3: > - specifiy branch to download from AndesTech linux repo > - change boot.cmd to extlinux.conf > - add post-build.sh for extlinux.conf to retrieve Image and DTB > - fix format and update genimage_sdcard.cfg > - update readme.txt > - add packages (python3, pylibfdt and openssl) for u-boot binman > - reorder item in DEVELOPERS > --- > board/andes/ae350/ae350.dts | 274 ++++++++++++++++++ > board/andes/ae350/genimage_sdcard.cfg | 26 ++ > ...isable-PIC-explicitly-for-assembling.patch | 29 ++ > ...2-Enable-cache-for-opensbi-jump-mode.patch | 25 ++ > ...001-Fix-mmc-no-partition-table-error.patch | 27 ++ > ...2-Prevent-fw_dynamic-from-relocation.patch | 27 ++ > ...0003-Fix-u-boot-proper-booting-issue.patch | 26 ++ > ...04-Enable-printing-OpenSBI-boot-logo.patch | 25 ++ > board/andes/ae350/post-build.sh | 3 + > board/andes/ae350/readme.txt | 65 +++++ > .../boot/extlinux/extlinux.conf | 4 + > board/andes/ae350/uboot.config.fragment | 5 + > configs/andes_ae350_45_defconfig | 43 +++ > 13 files changed, 579 insertions(+) > create mode 100755 board/andes/ae350/ae350.dts > create mode 100644 board/andes/ae350/genimage_sdcard.cfg > create mode 100644 board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch > create mode 100644 board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch > create mode 100644 board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch > create mode 100644 board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch > create mode 100644 board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch > create mode 100644 board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch > create mode 100755 board/andes/ae350/post-build.sh > create mode 100644 board/andes/ae350/readme.txt > create mode 100644 board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf > create mode 100644 board/andes/ae350/uboot.config.fragment > create mode 100644 configs/andes_ae350_45_defconfig > > diff --git a/board/andes/ae350/ae350.dts b/board/andes/ae350/ae350.dts > new file mode 100755 > index 0000000000..5e5d70ab25 > --- /dev/null > +++ b/board/andes/ae350/ae350.dts > @@ -0,0 +1,274 @@ > +/dts-v1/; > + > +/ { > + #address-cells = <2>; > + #size-cells = <2>; > + compatible = "andestech,ae350"; > + model = "andestech,ax45"; > + aliases { > + uart0 = &serial0; > + spi0 = &spi; > + }; > + > + chosen { > + bootargs = "console=ttyS0,38400n8 earlycon=sbi debug loglevel=7"; > + stdout-path = "uart0:38400n8"; > + }; > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + timebase-frequency = <60000000>; > + CPU0: cpu@0 { > + device_type = "cpu"; > + reg = <0>; > + status = "okay"; > + compatible = "riscv"; > + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; > + riscv,priv-major = <1>; > + riscv,priv-minor = <10>; > + mmu-type = "riscv,sv48"; > + clock-frequency = <60000000>; > + i-cache-size = <0x8000>; > + i-cache-sets = <256>; > + i-cache-block-size = <64>; > + i-cache-line-size = <64>; > + d-cache-size = <0x8000>; > + d-cache-sets = <128>; > + d-cache-block-size = <64>; > + d-cache-line-size = <64>; > + next-level-cache = <&L2>; > + CPU0_intc: interrupt-controller { > + #interrupt-cells = <1>; > + interrupt-controller; > + compatible = "riscv,cpu-intc"; > + }; > + }; > + CPU1: cpu@1 { > + device_type = "cpu"; > + reg = <1>; > + status = "okay"; > + compatible = "riscv"; > + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; > + riscv,priv-major = <1>; > + riscv,priv-minor = <10>; > + mmu-type = "riscv,sv48"; > + clock-frequency = <60000000>; > + i-cache-size = <0x8000>; > + i-cache-sets = <256>; > + i-cache-block-size = <64>; > + i-cache-line-size = <64>; > + d-cache-size = <0x8000>; > + d-cache-sets = <128>; > + d-cache-block-size = <64>; > + d-cache-line-size = <64>; > + next-level-cache = <&L2>; > + CPU1_intc: interrupt-controller { > + #interrupt-cells = <1>; > + interrupt-controller; > + compatible = "riscv,cpu-intc"; > + }; > + }; > + CPU2: cpu@2 { > + device_type = "cpu"; > + reg = <2>; > + status = "okay"; > + compatible = "riscv"; > + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; > + riscv,priv-major = <1>; > + riscv,priv-minor = <10>; > + mmu-type = "riscv,sv48"; > + clock-frequency = <60000000>; > + i-cache-size = <0x8000>; > + i-cache-sets = <256>; > + i-cache-block-size = <64>; > + i-cache-line-size = <64>; > + d-cache-size = <0x8000>; > + d-cache-sets = <128>; > + d-cache-block-size = <64>; > + d-cache-line-size = <64>; > + next-level-cache = <&L2>; > + CPU2_intc: interrupt-controller { > + #interrupt-cells = <1>; > + interrupt-controller; > + compatible = "riscv,cpu-intc"; > + }; > + }; > + CPU3: cpu@3 { > + device_type = "cpu"; > + reg = <3>; > + status = "okay"; > + compatible = "riscv"; > + riscv,isa = "rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-1p1xdsp0p0"; > + riscv,priv-major = <1>; > + riscv,priv-minor = <10>; > + mmu-type = "riscv,sv48"; > + clock-frequency = <60000000>; > + i-cache-size = <0x8000>; > + i-cache-sets = <256>; > + i-cache-block-size = <64>; > + i-cache-line-size = <64>; > + d-cache-size = <0x8000>; > + d-cache-sets = <128>; > + d-cache-block-size = <64>; > + d-cache-line-size = <64>; > + next-level-cache = <&L2>; > + CPU3_intc: interrupt-controller { > + #interrupt-cells = <1>; > + interrupt-controller; > + compatible = "riscv,cpu-intc"; > + }; > + }; > + }; > + L2: l2-cache@e0500000 { > + compatible = "cache"; > + cache-level = <2>; > + cache-size = <0x80000>; > + reg = <0x00000000 0xe0500000 0x00000000 0x00001000>; > + andes,inst-prefetch = <3>; > + andes,data-prefetch = <3>; > + // The value format is <XRAMOCTL XRAMICTL> > + andes,tag-ram-ctl = <0 0>; > + andes,data-ram-ctl = <0 0>; > + }; > + memory@0 { > + reg = <0x00000000 0x00000000 0x00000000 0x80000000>; > + device_type = "memory"; > + }; > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + compatible = "andestech,riscv-ae350-soc", "simple-bus"; > + ranges; > + plic0: interrupt-controller@e4000000 { > + compatible = "riscv,plic0"; > + reg = <0x00000000 0xe4000000 0x00000000 0x02000000>; > + interrupts-extended = < &CPU0_intc 11 &CPU0_intc 9 &CPU1_intc 11 &CPU1_intc 9 &CPU2_intc 11 &CPU2_intc 9 &CPU3_intc 11 &CPU3_intc 9>; > + interrupt-controller; > + #address-cells = <2>; > + #interrupt-cells = <2>; > + riscv,ndev = <71>; > + }; > + plic1: interrupt-controller@e6400000 { > + compatible = "riscv,plic1"; > + reg = <0x00000000 0xe6400000 0x00000000 0x00400000>; > + interrupts-extended = < &CPU0_intc 3 &CPU1_intc 3 &CPU2_intc 3 &CPU3_intc 3>; > + interrupt-controller; > + #address-cells = <2>; > + #interrupt-cells = <2>; > + riscv,ndev = <4>; > + }; > + plmt0: plmt0@e6000000 { > + compatible = "riscv,plmt0"; > + reg = <0x00000000 0xe6000000 0x00000000 0x00100000>; > + interrupts-extended = < &CPU0_intc 7 &CPU1_intc 7 &CPU2_intc 7 &CPU3_intc 7>; > + }; > + spiclk: virt_100mhz { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <100000000>; > + }; > + timer0: timer@f0400000 { > + compatible = "andestech,atcpit100"; > + reg = <0x00000000 0xf0400000 0x00000000 0x00001000>; > + interrupts = <3 4>; > + interrupt-parent = <&plic0>; > + clock-frequency = <60000000>; > + }; > + pwm: pwm@f0400000 { > + compatible = "andestech,atcpit100-pwm"; > + reg = <0x00000000 0xf0400000 0x00000000 0x00001000>; > + interrupts = <3 4>; > + interrupt-parent = <&plic0>; > + clock-frequency = <60000000>; > + pwm-cells = <2>; > + }; > + wdt: wdt@f0500000 { > + compatible = "andestech,atcwdt200"; > + reg = <0x00000000 0xf0500000 0x00000000 0x00001000>; > + interrupts = <3 4>; > + interrupt-parent = <&plic0>; > + clock-frequency = <15000000>; > + }; > + serial0: serial@f0300000 { > + compatible = "andestech,uart16550", "ns16550a"; > + reg = <0x00000000 0xf0300000 0x00000000 0x00001000>; > + interrupts = <9 4>; > + interrupt-parent = <&plic0>; > + clock-frequency = <19660800>; > + reg-shift = <2>; > + reg-offset = <32>; > + no-loopback-test = <1>; > + }; > + rtc0: rtc@f0600000 { > + compatible = "andestech,atcrtc100"; > + reg = <0x00000000 0xf0600000 0x00000000 0x00001000>; > + interrupts = <1 4 2 4>; > + interrupt-parent = <&plic0>; > + wakeup-source; > + }; > + gpio: gpio@f0700000 { > + compatible = "andestech,atcgpio100"; > + reg = <0x00000000 0xf0700000 0x00000000 0x00001000>; > + interrupts = <7 4>; > + interrupt-parent = <&plic0>; > + wakeup-source; > + }; > + mac0: mac@e0100000 { > + compatible = "andestech,atmac100"; > + reg = <0x00000000 0xe0100000 0x00000000 0x00001000>; > + interrupts = <19 4>; > + interrupt-parent = <&plic0>; > + dma-coherent; > + }; > + smu: smu@f0100000 { > + compatible = "andestech,atcsmu"; > + reg = <0x00000000 0xf0100000 0x00000000 0x00001000>; > + }; > + mmc0: mmc@f0e00000 { > + compatible = "andestech,atfsdc010"; > + reg = <0x00000000 0xf0e00000 0x00000000 0x00001000>; > + interrupts = <18 4>; > + interrupt-parent = <&plic0>; > + clock-freq-min-max = <400000 100000000>; > + max-frequency = <100000000>; > + fifo-depth = <16>; > + cap-sd-highspeed; > + dma-coherent; > + }; > + dma0: dma@f0c00000 { > + compatible = "andestech,atcdmac300"; > + reg = <0x00000000 0xf0c00000 0x00000000 0x00001000>; > + interrupts = <10 4 64 4 65 4 66 4 67 4 68 4 69 4 70 4 71 4>; > + interrupt-parent = <&plic0>; > + dma-channels = <8>; > + }; > + lcd0: lcd@e0200000 { > + compatible = "andestech,atflcdc100"; > + reg = <0x00000000 0xe0200000 0x00000000 0x00001000>; > + interrupts = <20 4>; > + interrupt-parent = <&plic0>; > + dma-coherent; > + }; > + pmu: pmu { > + compatible = "riscv,andes-pmu"; > + device_type = "pmu"; > + }; > + spi: spi@f0b00000 { > + compatible = "andestech,atcspi200"; > + reg = <0x00000000 0xf0b00000 0x00000000 0x00001000>; > + interrupts = <4 4>; > + interrupt-parent = <&plic0>; > + #address-cells = <1>; > + #size-cells = <0>; > + num-cs = <1>; > + clocks = <&spiclk>; > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0x00000000>; > + spi-max-frequency = <50000000>; > + spi-cpol; > + spi-cpha; > + }; > + }; > + }; > +}; > diff --git a/board/andes/ae350/genimage_sdcard.cfg b/board/andes/ae350/genimage_sdcard.cfg > new file mode 100644 > index 0000000000..b8b9fe6a62 > --- /dev/null > +++ b/board/andes/ae350/genimage_sdcard.cfg > @@ -0,0 +1,26 @@ > +image boot.vfat { > + vfat { > + files = { > + "u-boot-spl.bin", > + "u-boot.itb", > + "ae350.dtb", > + } > + } > + size = 2M > +} > + > +image sdcard.img { > + hdimage { > + } > + > + partition boot { > + partition-type = 0xC > + image = "boot.vfat" > + } > + > + partition rootfs { > + partition-type = 0x83 > + bootable = true > + image = "rootfs.ext4" > + } > +} > diff --git a/board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch b/board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch > new file mode 100644 > index 0000000000..aeafed4c9f > --- /dev/null > +++ b/board/andes/ae350/patches/opensbi/0001-Disable-PIC-explicitly-for-assembling.patch > @@ -0,0 +1,29 @@ > +From 3ccb71eeca42dbcd5e4d00ae1877a489ae82598d Mon Sep 17 00:00:00 2001 > +From: Yu Chien Peter Lin <peterlin@andestech.com> > +Date: Wed, 29 Dec 2021 16:04:54 +0800 > +Subject: [PATCH] Disable PIC explicitly for assembling > + > +This patch is necessary if the fw_dynamic load address > +is not equal to link address. > +However, they are equal currently, since we include an u-boot > +patch for preventing fw_dynamic relocation. > + > +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > +--- > + Makefile | 1 + > + 1 file changed, 1 insertion(+) > + > +diff --git a/Makefile b/Makefile > +index d6f097d..441518d 100644 > +--- a/Makefile > ++++ b/Makefile > +@@ -225,6 +225,7 @@ ASFLAGS += -mcmodel=$(PLATFORM_RISCV_CODE_MODEL) > + ASFLAGS += $(GENFLAGS) > + ASFLAGS += $(platform-asflags-y) > + ASFLAGS += $(firmware-asflags-y) > ++ASFLAGS += -fno-pic > + > + ARFLAGS = rcs > + > +-- > +2.25.1 > diff --git a/board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch b/board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch > new file mode 100644 > index 0000000000..ae48a760c8 > --- /dev/null > +++ b/board/andes/ae350/patches/opensbi/0002-Enable-cache-for-opensbi-jump-mode.patch > @@ -0,0 +1,25 @@ > +From 325328f4204b40b1fcc8db3b46c7c8805710d21c Mon Sep 17 00:00:00 2001 > +From: Yu Chien Peter Lin <peterlin@andestech.com> > +Date: Thu, 30 Dec 2021 08:47:34 +0800 > +Subject: [PATCH] Enable cache for opensbi jump mode > + > +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > +--- > + firmware/fw_base.S | 2 ++ > + 1 file changed, 2 insertions(+) > + > +diff --git a/firmware/fw_base.S b/firmware/fw_base.S > +index ab33e11..155d230 100644 > +--- a/firmware/fw_base.S > ++++ b/firmware/fw_base.S > +@@ -46,6 +46,8 @@ > + .globl _start > + .globl _start_warm > + _start: > ++ li t0, 0x80003 > ++ csrw 0x7ca, t0 > + /* Find preferred boot HART id */ > + MOV_3R s0, a0, s1, a1, s2, a2 > + call fw_boot_hart > +-- > +2.25.1 > diff --git a/board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch b/board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch > new file mode 100644 > index 0000000000..7aff3cebf6 > --- /dev/null > +++ b/board/andes/ae350/patches/uboot/0001-Fix-mmc-no-partition-table-error.patch > @@ -0,0 +1,27 @@ > +From ea4675215b53d16a72d29b8a6fc6a86cccf59cf0 Mon Sep 17 00:00:00 2001 > +From: Yu Chien Peter Lin <peterlin@andestech.com> > +Date: Wed, 5 Jan 2022 11:00:59 +0800 > +Subject: [PATCH] Fix mmc no partition table error > + > +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > +--- > + drivers/mmc/ftsdc010_mci.c | 4 ---- > + 1 file changed, 4 deletions(-) > + > +diff --git a/drivers/mmc/ftsdc010_mci.c b/drivers/mmc/ftsdc010_mci.c > +index 570d54cf..3b1e0aa0 100644 > +--- a/drivers/mmc/ftsdc010_mci.c > ++++ b/drivers/mmc/ftsdc010_mci.c > +@@ -438,10 +438,6 @@ static int ftsdc010_mmc_probe(struct udevice *dev) > + return ret; > + #endif > + > +- if (dev_read_bool(dev, "cap-mmc-highspeed") || \ > +- dev_read_bool(dev, "cap-sd-highspeed")) > +- chip->caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz; > +- > + ftsdc_setup_cfg(&plat->cfg, dev->name, chip->buswidth, chip->caps, > + priv->minmax[1] , priv->minmax[0]); > + chip->mmc = &plat->mmc; > +-- > +2.25.1 > diff --git a/board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch b/board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch > new file mode 100644 > index 0000000000..c6e1896f1c > --- /dev/null > +++ b/board/andes/ae350/patches/uboot/0002-Prevent-fw_dynamic-from-relocation.patch > @@ -0,0 +1,27 @@ > +From 4c0c5378d032f2f95577585935624baf7b4decf3 Mon Sep 17 00:00:00 2001 > +From: Yu Chien Peter Lin <peterlin@andestech.com> > +Date: Wed, 5 Jan 2022 11:02:26 +0800 > +Subject: [PATCH] Prevent fw_dynamic from relocation > + > +This patch prevents OpenSBI relocation, load fw_dynamic to link address > + > +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > +--- > + board/AndesTech/ax25-ae350/Kconfig | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/board/AndesTech/ax25-ae350/Kconfig b/board/AndesTech/ax25-ae350/Kconfig > +index e50f505a..385c4c11 100644 > +--- a/board/AndesTech/ax25-ae350/Kconfig > ++++ b/board/AndesTech/ax25-ae350/Kconfig > +@@ -25,7 +25,7 @@ config SPL_TEXT_BASE > + default 0x800000 > + > + config SPL_OPENSBI_LOAD_ADDR > +- default 0x01000000 > ++ default 0x0 > + > + config BOARD_SPECIFIC_OPTIONS # dummy > + def_bool y > +-- > +2.25.1 > diff --git a/board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch b/board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch > new file mode 100644 > index 0000000000..20598fdba4 > --- /dev/null > +++ b/board/andes/ae350/patches/uboot/0003-Fix-u-boot-proper-booting-issue.patch > @@ -0,0 +1,26 @@ > +From 3d09501175ae6f5e3f6520b48b1358226a99ff16 Mon Sep 17 00:00:00 2001 > +From: Yu Chien Peter Lin <peterlin@andestech.com> > +Date: Wed, 5 Jan 2022 18:17:39 +0800 > +Subject: [PATCH] Fix u-boot proper booting issue > + > +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > +--- > + arch/riscv/cpu/start.S | 2 ++ > + 1 file changed, 2 insertions(+) > + > +diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S > +index 76850ec9..2ccda4f5 100644 > +--- a/arch/riscv/cpu/start.S > ++++ b/arch/riscv/cpu/start.S > +@@ -139,7 +139,9 @@ call_harts_early_init: > + * accesses gd). > + */ > + mv gp, s0 > ++#if !CONFIG_IS_ENABLED(RISCV_SMODE) > + bnez tp, secondary_hart_loop > ++#endif > + #endif > + > + jal board_init_f_init_reserve > +-- > +2.25.1 > diff --git a/board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch b/board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch > new file mode 100644 > index 0000000000..efd78ab26d > --- /dev/null > +++ b/board/andes/ae350/patches/uboot/0004-Enable-printing-OpenSBI-boot-logo.patch > @@ -0,0 +1,25 @@ > +From 3847a959ac4c07facbd80104ca5fa6a91fad5f35 Mon Sep 17 00:00:00 2001 > +From: Yu Chien Peter Lin <peterlin@andestech.com> > +Date: Thu, 6 Jan 2022 13:50:07 +0800 > +Subject: [PATCH] Enable printing OpenSBI boot logo > + > +Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > +--- > + include/opensbi.h | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/include/opensbi.h b/include/opensbi.h > +index d812cc8c..91fb8fd9 100644 > +--- a/include/opensbi.h > ++++ b/include/opensbi.h > +@@ -20,7 +20,7 @@ > + > + enum sbi_scratch_options { > + /** Disable prints during boot */ > +- SBI_SCRATCH_NO_BOOT_PRINTS = (1 << 0), > ++ SBI_SCRATCH_NO_BOOT_PRINTS = 0, > + }; > + > + /** Representation dynamic info passed by previous booting stage */ > +-- > +2.25.1 > diff --git a/board/andes/ae350/post-build.sh b/board/andes/ae350/post-build.sh > new file mode 100755 > index 0000000000..0e6ce228f4 > --- /dev/null > +++ b/board/andes/ae350/post-build.sh > @@ -0,0 +1,3 @@ > +#!/bin/sh > +cp $BINARIES_DIR/Image $TARGET_DIR/boot > +cp $BINARIES_DIR/ae350.dtb $TARGET_DIR/boot > diff --git a/board/andes/ae350/readme.txt b/board/andes/ae350/readme.txt > new file mode 100644 > index 0000000000..6825468d50 > --- /dev/null > +++ b/board/andes/ae350/readme.txt > @@ -0,0 +1,65 @@ > +Intro > +===== > + > +Andestech AE350 Platform > + > +The AE350 prototype demonstrates the AE350 platform on the FPGA. > + > +How to build it > +=============== > + > +Configure Buildroot > +------------------- > + > + $ make andes_ae350_45_defconfig > + > +If you want to customize your configuration: > + > + $ make menuconfig > + > +Build everything > +---------------- > +Note: you will need to access to the network, since Buildroot will > +download the packages' sources. > + > + $ make > + > +Result of the build > +------------------- > + > +After building, you should obtain the following files: > + > + output/images/ > + |-- ae350.dtb > + |-- boot.vfat > + |-- fw_dynamic.bin > + |-- fw_dynamic.elf > + |-- fw_jump.bin > + |-- fw_jump.elf > + |-- Image > + |-- rootfs.ext2 > + |-- rootfs.ext4 -> rootfs.ext2 > + |-- sdcard.img > + |-- u-boot-spl.bin > + `-- u-boot.itb > + > +Copy the sdcard.img to a SD card with "dd": > + > + $ sudo dd if=sdcard.img of=/dev/sdX bs=4096 > + $ sudo sync > + > +Your SD card partition should be: > + > + Disk /dev/sdb: 14.48 GiB, 15552479232 bytes, 30375936 sectors > + Disk model: Multi-Card > + Units: sectors of 1 * 512 = 512 bytes > + Sector size (logical/physical): 512 bytes / 512 bytes > + I/O size (minimum/optimal): 512 bytes / 512 bytes > + Disklabel type: dos > + Disk identifier: 0x00000000 > + > + Device Boot Start End Sectors Size Id Type > + /dev/sdb1 1 4096 4096 2M c W95 FAT32 (LBA) > + /dev/sdb2 * 4097 126976 122880 60M 83 Linux > + > +Insert SD card and reset the board, it should boot Linux from mmc. > diff --git a/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf > new file mode 100644 > index 0000000000..549eb93abc > --- /dev/null > +++ b/board/andes/ae350/rootfs_overlay/boot/extlinux/extlinux.conf > @@ -0,0 +1,4 @@ > +label linux > + kernel /boot/Image > + fdt /boot/ae350.dtb > + append earlycon=sbi root=/dev/mmcblk0p2 rootwait > diff --git a/board/andes/ae350/uboot.config.fragment b/board/andes/ae350/uboot.config.fragment > new file mode 100644 > index 0000000000..4992d712a5 > --- /dev/null > +++ b/board/andes/ae350/uboot.config.fragment > @@ -0,0 +1,5 @@ > +CONFIG_SPL_FS_FAT=y > +CONFIG_SPL_MMC=y > +# CONFIG_SPL_RAM_SUPPORT is not set > +# CONFIG_OF_BOARD is not set > +CONFIG_OF_SEPARATE=y > diff --git a/configs/andes_ae350_45_defconfig b/configs/andes_ae350_45_defconfig > new file mode 100644 > index 0000000000..a35ddd06ba > --- /dev/null > +++ b/configs/andes_ae350_45_defconfig > @@ -0,0 +1,43 @@ > +BR2_riscv=y > +BR2_riscv_custom=y > +BR2_RISCV_ISA_CUSTOM_RVM=y > +BR2_RISCV_ISA_CUSTOM_RVF=y > +BR2_RISCV_ISA_CUSTOM_RVD=y > +BR2_RISCV_ISA_CUSTOM_RVC=y > +BR2_GLOBAL_PATCH_DIR="board/andes/ae350/patches" > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" > +BR2_ROOTFS_OVERLAY="board/andes/ae350/rootfs_overlay" > +BR2_ROOTFS_POST_BUILD_SCRIPT="board/andes/ae350/post-build.sh" > +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" > +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/andes/ae350/genimage_sdcard.cfg" > +BR2_LINUX_KERNEL=y > +BR2_LINUX_KERNEL_CUSTOM_GIT=y > +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/andestech/linux.git" > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.10.84-ae350_45" > +BR2_LINUX_KERNEL_DEFCONFIG="ae350_rv64_smp" > +BR2_LINUX_KERNEL_DTS_SUPPORT=y > +BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/andes/ae350/ae350.dts" > +BR2_TARGET_ROOTFS_EXT2=y > +BR2_TARGET_ROOTFS_EXT2_4=y > +# BR2_TARGET_ROOTFS_TAR is not set > +BR2_TARGET_OPENSBI=y > +BR2_TARGET_OPENSBI_PLAT="andes/ae350" > +BR2_TARGET_UBOOT=y > +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y > +BR2_TARGET_UBOOT_CUSTOM_VERSION=y > +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.01" > +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="ae350_rv64_spl_xip" > +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/andes/ae350/uboot.config.fragment" > +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y > +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y > +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y > +BR2_TARGET_UBOOT_NEEDS_OPENSBI=y > +# BR2_TARGET_UBOOT_FORMAT_BIN is not set > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" > +BR2_TARGET_UBOOT_SPL=y > +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="ARCH_FLAGS=-march=rv64imafdc" > +BR2_PACKAGE_HOST_DOSFSTOOLS=y > +BR2_PACKAGE_HOST_GENIMAGE=y > +BR2_PACKAGE_HOST_MTOOLS=y This builds correctly in gitlab-CI container and looks good for me. Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Best regards -- Giulio Benetti Benetti Engineering sas _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3 3/3] DEVELOPERS: add Yu-Chien Lin to board/andes 2022-02-15 5:33 [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Yu Chien Peter Lin 2022-02-15 5:33 ` [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 Yu Chien Peter Lin @ 2022-02-15 5:33 ` Yu Chien Peter Lin 2022-02-17 15:45 ` Giulio Benetti 2022-02-17 15:55 ` [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Giulio Benetti 2 siblings, 1 reply; 9+ messages in thread From: Yu Chien Peter Lin @ 2022-02-15 5:33 UTC (permalink / raw) To: buildroot; +Cc: giulio.benetti, Yu Chien Peter Lin, alankao Nylon is no longer at Andes. Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Signed-off-by: Alan Kao <alankao@andestech.com> --- DEVELOPERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DEVELOPERS b/DEVELOPERS index ac702d8d0f..8848d6a9a7 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2146,9 +2146,10 @@ N: Norbert Lange <nolange79@gmail.com> F: package/systemd/ F: package/tcf-agent/ -N: Nylon Chen <nylon7@andestech.com> +N: Yu Chien Peter Lin <peterlin@andestech.com> F: arch/Config.in.nds32 F: board/andes +F: configs/andes_ae350_45_defconfig F: configs/andes_ae3xx_defconfig F: toolchain/toolchain-external/toolchain-external-andes-nds32/ -- 2.25.1 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v3 3/3] DEVELOPERS: add Yu-Chien Lin to board/andes 2022-02-15 5:33 ` [Buildroot] [PATCH v3 3/3] DEVELOPERS: add Yu-Chien Lin to board/andes Yu Chien Peter Lin @ 2022-02-17 15:45 ` Giulio Benetti 0 siblings, 0 replies; 9+ messages in thread From: Giulio Benetti @ 2022-02-17 15:45 UTC (permalink / raw) To: Yu Chien Peter Lin, buildroot; +Cc: alankao Hi Peter, On 15/02/22 06:33, Yu Chien Peter Lin wrote: > Nylon is no longer at Andes. > > Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > Signed-off-by: Alan Kao <alankao@andestech.com> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Best regards -- Giulio Benetti Benetti Engineering sas > --- > DEVELOPERS | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/DEVELOPERS b/DEVELOPERS > index ac702d8d0f..8848d6a9a7 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -2146,9 +2146,10 @@ N: Norbert Lange <nolange79@gmail.com> > F: package/systemd/ > F: package/tcf-agent/ > > -N: Nylon Chen <nylon7@andestech.com> > +N: Yu Chien Peter Lin <peterlin@andestech.com> > F: arch/Config.in.nds32 > F: board/andes > +F: configs/andes_ae350_45_defconfig > F: configs/andes_ae3xx_defconfig > F: toolchain/toolchain-external/toolchain-external-andes-nds32/ > _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure 2022-02-15 5:33 [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Yu Chien Peter Lin 2022-02-15 5:33 ` [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 Yu Chien Peter Lin 2022-02-15 5:33 ` [Buildroot] [PATCH v3 3/3] DEVELOPERS: add Yu-Chien Lin to board/andes Yu Chien Peter Lin @ 2022-02-17 15:55 ` Giulio Benetti 2022-02-21 3:37 ` Yu Chien Peter Lin 2 siblings, 1 reply; 9+ messages in thread From: Giulio Benetti @ 2022-02-17 15:55 UTC (permalink / raw) To: Yu Chien Peter Lin, buildroot; +Cc: alankao Hi Peter, On 15/02/22 06:33, Yu Chien Peter Lin wrote: > Rearrange nds32 folder structure to add AE350 platform. > > Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > Signed-off-by: Alan Kao <alankao@andestech.com> > --- > .../patches/linux/0001-nds32-Fix-boot-messages-garbled.patch | 0 > ...2-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch | 0 > board/andes/{ => ae3xx}/readme.txt | 0 > configs/andes_ae3xx_defconfig | 2 +- > 4 files changed, 1 insertion(+), 1 deletion(-) > rename board/andes/{ => ae3xx}/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch (100%) > rename board/andes/{ => ae3xx}/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch (100%) > rename board/andes/{ => ae3xx}/readme.txt (100%) Here we have both: board/andes/ae3xx and board/andes/ae350 ae3xx should be use for every ae3xx family(ae350 included), but for ae350 you use a specific folder. What I see digging into ae3xx is that it is for FPGA demonstration, so I would move ae3xx directory to be name as ae3xx-fpga. Otherwise I would expect ae350(and newer parts) to be part of ae3xx. Same goes for the defconfig, I would name it like: andes_ae3xx_fpga_defconfig This way we can divide the 2 typologies: - fpga demonostration for ae3xx - ae3xx SoC family Otherwise you should provide a single family folder(ae3xx) compatible for both fpgas and SoCs. Thank you Best regards -- Giulio Benetti Benetti Engineering sas > diff --git a/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch b/board/andes/ae3xx/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch > similarity index 100% > rename from board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch > rename to board/andes/ae3xx/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch > diff --git a/board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch b/board/andes/ae3xx/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch > similarity index 100% > rename from board/andes/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch > rename to board/andes/ae3xx/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch > diff --git a/board/andes/readme.txt b/board/andes/ae3xx/readme.txt > similarity index 100% > rename from board/andes/readme.txt > rename to board/andes/ae3xx/readme.txt > diff --git a/configs/andes_ae3xx_defconfig b/configs/andes_ae3xx_defconfig > index 52634caa50..18051115c3 100644 > --- a/configs/andes_ae3xx_defconfig > +++ b/configs/andes_ae3xx_defconfig > @@ -1,5 +1,5 @@ > BR2_nds32=y > -BR2_GLOBAL_PATCH_DIR="board/andes/patches/" > +BR2_GLOBAL_PATCH_DIR="board/andes/ae3xx/patches" > BR2_TOOLCHAIN_EXTERNAL=y > BR2_TOOLCHAIN_EXTERNAL_ANDES_NDS32=y > BR2_LINUX_KERNEL=y _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure 2022-02-17 15:55 ` [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Giulio Benetti @ 2022-02-21 3:37 ` Yu Chien Peter Lin 2022-02-21 9:07 ` Giulio Benetti 0 siblings, 1 reply; 9+ messages in thread From: Yu Chien Peter Lin @ 2022-02-21 3:37 UTC (permalink / raw) To: Giulio Benetti; +Cc: alankao, buildroot Hi Giulio, On Thu, Feb 17, 2022 at 04:55:49PM +0100, Giulio Benetti wrote: > Hi Peter, > > On 15/02/22 06:33, Yu Chien Peter Lin wrote: > > Rearrange nds32 folder structure to add AE350 platform. > > > > Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> > > Signed-off-by: Alan Kao <alankao@andestech.com> > > --- > > .../patches/linux/0001-nds32-Fix-boot-messages-garbled.patch | 0 > > ...2-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch | 0 > > board/andes/{ => ae3xx}/readme.txt | 0 > > configs/andes_ae3xx_defconfig | 2 +- > > 4 files changed, 1 insertion(+), 1 deletion(-) > > rename board/andes/{ => ae3xx}/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch (100%) > > rename board/andes/{ => ae3xx}/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch (100%) > > rename board/andes/{ => ae3xx}/readme.txt (100%) > > Here we have both: > board/andes/ae3xx > and > board/andes/ae350 > > ae3xx should be use for every ae3xx family(ae350 included), but for ae350 > you use a specific folder. > What I see digging into ae3xx is that it is for FPGA demonstration, so I > would move ae3xx directory to be name as ae3xx-fpga. Otherwise I would > expect ae350(and newer parts) to be part of ae3xx. > > Same goes for the defconfig, I would name it like: > andes_ae3xx_fpga_defconfig > > This way we can divide the 2 typologies: > - fpga demonostration for ae3xx > - ae3xx SoC family > > Otherwise you should provide a single family folder(ae3xx) compatible for > both fpgas and SoCs. > > Thank you > > Best regards > -- > Giulio Benetti > Benetti Engineering sas For this naming issue, we decide to make ae3xx explicit to have these two platform residing in its own folder. So it would be: board/andes/ |- {ae3xx => ae300}/ `- ae350/ If this make sense to you, I will submit PATCH v4. Thanks, Yu Chien Peter Lin _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure 2022-02-21 3:37 ` Yu Chien Peter Lin @ 2022-02-21 9:07 ` Giulio Benetti 2022-02-21 19:09 ` Giulio Benetti 0 siblings, 1 reply; 9+ messages in thread From: Giulio Benetti @ 2022-02-21 9:07 UTC (permalink / raw) To: Yu Chien Peter Lin; +Cc: alankao, buildroot Hi Peter, Alan, On 21/02/22 04:37, Yu Chien Peter Lin wrote: > Hi Giulio, > > On Thu, Feb 17, 2022 at 04:55:49PM +0100, Giulio Benetti wrote: >> Hi Peter, >> >> On 15/02/22 06:33, Yu Chien Peter Lin wrote: >>> Rearrange nds32 folder structure to add AE350 platform. >>> >>> Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> >>> Signed-off-by: Alan Kao <alankao@andestech.com> >>> --- >>> .../patches/linux/0001-nds32-Fix-boot-messages-garbled.patch | 0 >>> ...2-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch | 0 >>> board/andes/{ => ae3xx}/readme.txt | 0 >>> configs/andes_ae3xx_defconfig | 2 +- >>> 4 files changed, 1 insertion(+), 1 deletion(-) >>> rename board/andes/{ => ae3xx}/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch (100%) >>> rename board/andes/{ => ae3xx}/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch (100%) >>> rename board/andes/{ => ae3xx}/readme.txt (100%) >> >> Here we have both: >> board/andes/ae3xx >> and >> board/andes/ae350 >> >> ae3xx should be use for every ae3xx family(ae350 included), but for ae350 >> you use a specific folder. >> What I see digging into ae3xx is that it is for FPGA demonstration, so I >> would move ae3xx directory to be name as ae3xx-fpga. Otherwise I would >> expect ae350(and newer parts) to be part of ae3xx. >> >> Same goes for the defconfig, I would name it like: >> andes_ae3xx_fpga_defconfig >> >> This way we can divide the 2 typologies: >> - fpga demonostration for ae3xx >> - ae3xx SoC family >> >> Otherwise you should provide a single family folder(ae3xx) compatible for >> both fpgas and SoCs. >> >> Thank you >> >> Best regards >> -- >> Giulio Benetti >> Benetti Engineering sas > > For this naming issue, we decide to make ae3xx > explicit to have these two platform residing > in its own folder. So it would be: > > board/andes/ > |- {ae3xx => ae300}/ > `- ae350/ > > If this make sense to you, I will submit PATCH v4. It works for me. I've checked your website and I see: http://www.andestech.com/en/products-solutions/andeshape-platforms/ where you have: AE300: http://www.andestech.com/en/products-solutions/andeshape-platforms/ae300/ and AE350: http://www.andestech.com/en/products-solutions/andeshape-platforms/ae350-axi-based-platform-pre-integrated-with-n25f-nx25f-a25-ax25/ so your solution fits perfectly since they are two very distinct platforms. So yes please send V4 with that change. Thank you! Best regards -- Giulio Benetti Benetti Engineering sas _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure 2022-02-21 9:07 ` Giulio Benetti @ 2022-02-21 19:09 ` Giulio Benetti 0 siblings, 0 replies; 9+ messages in thread From: Giulio Benetti @ 2022-02-21 19:09 UTC (permalink / raw) To: Yu Chien Peter Lin; +Cc: alankao, buildroot Ah, forgotten to mention, On 21/02/22 10:07, Giulio Benetti wrote: > Hi Peter, Alan, > > On 21/02/22 04:37, Yu Chien Peter Lin wrote: >> Hi Giulio, >> >> On Thu, Feb 17, 2022 at 04:55:49PM +0100, Giulio Benetti wrote: >>> Hi Peter, >>> >>> On 15/02/22 06:33, Yu Chien Peter Lin wrote: >>>> Rearrange nds32 folder structure to add AE350 platform. Please explain here that AE300 and AE350 are 2 different platform by also pointing the URL I've pointed you below. Thank you -- Giulio Benetti Benetti Engineering sas >>>> Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> >>>> Signed-off-by: Alan Kao <alankao@andestech.com> >>>> --- >>>> .../patches/linux/0001-nds32-Fix-boot-messages-garbled.patch | 0 >>>> ...2-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch | 0 >>>> board/andes/{ => ae3xx}/readme.txt | 0 >>>> configs/andes_ae3xx_defconfig | 2 +- >>>> 4 files changed, 1 insertion(+), 1 deletion(-) >>>> rename board/andes/{ => ae3xx}/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch (100%) >>>> rename board/andes/{ => ae3xx}/patches/linux/0002-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch (100%) >>>> rename board/andes/{ => ae3xx}/readme.txt (100%) >>> >>> Here we have both: >>> board/andes/ae3xx >>> and >>> board/andes/ae350 >>> >>> ae3xx should be use for every ae3xx family(ae350 included), but for ae350 >>> you use a specific folder. >>> What I see digging into ae3xx is that it is for FPGA demonstration, so I >>> would move ae3xx directory to be name as ae3xx-fpga. Otherwise I would >>> expect ae350(and newer parts) to be part of ae3xx. >>> >>> Same goes for the defconfig, I would name it like: >>> andes_ae3xx_fpga_defconfig >>> >>> This way we can divide the 2 typologies: >>> - fpga demonostration for ae3xx >>> - ae3xx SoC family >>> >>> Otherwise you should provide a single family folder(ae3xx) compatible for >>> both fpgas and SoCs. >>> >>> Thank you >>> >>> Best regards >>> -- >>> Giulio Benetti >>> Benetti Engineering sas >> >> For this naming issue, we decide to make ae3xx >> explicit to have these two platform residing >> in its own folder. So it would be: >> >> board/andes/ >> |- {ae3xx => ae300}/ >> `- ae350/ >> >> If this make sense to you, I will submit PATCH v4. > > It works for me. > I've checked your website and I see: > http://www.andestech.com/en/products-solutions/andeshape-platforms/ > > where you have: > AE300: > http://www.andestech.com/en/products-solutions/andeshape-platforms/ae300/ > > and AE350: > http://www.andestech.com/en/products-solutions/andeshape-platforms/ae350-axi-based-platform-pre-integrated-with-n25f-nx25f-a25-ax25/ > > so your solution fits perfectly since they are two very distinct platforms. > > So yes please send V4 with that change. > > Thank you! > > Best regards _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-02-21 19:10 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-15 5:33 [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Yu Chien Peter Lin 2022-02-15 5:33 ` [Buildroot] [PATCH v3 2/3] board/andes/ae350: add support for Andes AE350 Yu Chien Peter Lin 2022-02-17 16:01 ` Giulio Benetti 2022-02-15 5:33 ` [Buildroot] [PATCH v3 3/3] DEVELOPERS: add Yu-Chien Lin to board/andes Yu Chien Peter Lin 2022-02-17 15:45 ` Giulio Benetti 2022-02-17 15:55 ` [Buildroot] [PATCH v3 1/3] board/andes: rearrange nds32 folder structure Giulio Benetti 2022-02-21 3:37 ` Yu Chien Peter Lin 2022-02-21 9:07 ` Giulio Benetti 2022-02-21 19:09 ` Giulio Benetti
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.