Skip to content

Commit

Permalink
buildroot: various changes for xburst2 support
Browse files Browse the repository at this point in the history
  • Loading branch information
gtxaspec committed Dec 31, 2024
1 parent baf2b56 commit 0732d8b
Show file tree
Hide file tree
Showing 8 changed files with 89 additions and 7 deletions.
2 changes: 1 addition & 1 deletion configs/fragments/kernel.fragment
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ BR2_LINUX_KERNEL_CUSTOM_REPO_URL="$(KERNEL_SITE)"
BR2_LINUX_KERNEL_CUSTOM_REPO_BRANCH="$(KERNEL_BRANCH)"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="$(KERNEL_HASH)"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/board/ingenic/xburst1/kernel/$(KERNEL_VERSION)/$(SOC_FAMILY).generic.config"
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/board/ingenic/$(INGENIC_ARCH)/kernel/$(KERNEL_VERSION)/$(SOC_FAMILY).generic.config"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_LZMA=y
# BR2_LINUX_KERNEL_INSTALL_TARGET is not set
10 changes: 10 additions & 0 deletions configs/fragments/soc-xburst2.fragment
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# soc.fragment
BR2_mipsel=y
BR2_mips_xburst=y
# BR2_MIPS_SOFT_FLOAT is not set
# BR2_MIPS_FP32_MODE_32 is not set
BR2_MIPS_FP32_MODE_64=y
# BR2_MIPS_FP32_MODE_XX is not set
BR2_MIPS_NAN_LEGACY=y
BR2_MIPS_OABI32=y
BR2_SOC_INGENIC=y
1 change: 1 addition & 0 deletions configs/fragments/soc.fragment
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ BR2_mipsel=y
BR2_mips_xburst=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_MIPS_FP32_MODE_32=y
# BR2_MIPS_FP32_MODE_64 is not set
# BR2_MIPS_FP32_MODE_XX is not set
BR2_MIPS_NAN_LEGACY=y
BR2_MIPS_OABI32=y
Expand Down
2 changes: 1 addition & 1 deletion configs/fragments/toolchain-musl.fragment
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/themactep/thingino-firmware/releases/download/toolchain/thingino-toolchain_xburst1_musl_gcc14-linux-mipsel.tar.gz"
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/themactep/thingino-firmware/releases/download/toolchain/thingino-toolchain_$(INGENIC_ARCH)_musl_gcc14-linux-mipsel.tar.gz"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_GCC_14=y
Expand Down
10 changes: 10 additions & 0 deletions configs/fragments/toolchain-xburst2.fragment
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# toolchain.fragment
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/themactep/thingino-firmware/releases/download/toolchain/thingino-toolchain_$(INGENIC_ARCH)_musl_gcc14-linux-mipsel.tar.gz"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_GCC_14=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INSTALL_LIBSTDCPP=y
54 changes: 53 additions & 1 deletion external.mk
Original file line number Diff line number Diff line change
Expand Up @@ -17,176 +17,211 @@ else ifeq ($(BR2_SOC_INGENIC_T10L),y)
SOC_MODEL := t10l
SOC_RAM := 64
BR2_SOC_INGENIC_T10=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t10_sfcnor_lite"
else ifeq ($(BR2_SOC_INGENIC_T10N),y)
SOC_MODEL := t10n
SOC_RAM := 64
BR2_SOC_INGENIC_T10=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t10_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T10A),y)
SOC_MODEL := t10a
SOC_RAM := 64
BR2_SOC_INGENIC_T10=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t10_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T20L),y)
SOC_MODEL := t20l
SOC_RAM := 64
BR2_SOC_INGENIC_T20=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t20_sfcnor_lite"
else ifeq ($(BR2_SOC_INGENIC_T20N),y)
SOC_MODEL := t20n
SOC_RAM := 64
BR2_SOC_INGENIC_T20=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t20_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T20X),y)
SOC_MODEL := t20x
SOC_RAM := 128
BR2_SOC_INGENIC_T20=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t20_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T21L),y)
SOC_MODEL := t21l
SOC_RAM := 64
BR2_SOC_INGENIC_T21=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t21_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T21N),y)
SOC_MODEL := t21n
SOC_RAM := 64
BR2_SOC_INGENIC_T21=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t21_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T21X),y)
SOC_MODEL := t21x
SOC_RAM := 128
BR2_SOC_INGENIC_T21=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t21_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T21Z),y)
SOC_MODEL := t21zn
SOC_RAM := 64
BR2_SOC_INGENIC_T21=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t21_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T21ZL),y)
SOC_MODEL := t21zl
SOC_RAM := 64
BR2_SOC_INGENIC_T21=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t21_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T23N),y)
SOC_MODEL := t23n
SOC_RAM := 64
BR2_SOC_INGENIC_T23=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t23n_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T23ZN),y)
SOC_MODEL := t23zn
SOC_RAM := 64
BR2_SOC_INGENIC_T23=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t23n_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T30L),y)
SOC_MODEL := t30l
SOC_RAM := 64
BR2_SOC_INGENIC_T30=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t30_sfcnor_lite"
else ifeq ($(BR2_SOC_INGENIC_T30N),y)
SOC_MODEL := t30n
SOC_RAM := 64
BR2_SOC_INGENIC_T30=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t30_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T30X),y)
SOC_MODEL := t30x
SOC_RAM := 128
BR2_SOC_INGENIC_T30=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t30_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T30A),y)
SOC_MODEL := t30a
SOC_RAM := 128
BR2_SOC_INGENIC_T30=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t30a_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T31L),y)
SOC_MODEL := t31l
SOC_RAM := 64
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31_sfcnor_lite"
else ifeq ($(BR2_SOC_INGENIC_T31LC),y)
SOC_MODEL := t31lc
SOC_RAM := 64
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31lc_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T31N),y)
SOC_MODEL := t31n
SOC_RAM := 64
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T31X),y)
SOC_MODEL := t31x
SOC_RAM := 128
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T31A),y)
SOC_MODEL := t31a
SOC_RAM := 128
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31a_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T31AL),y)
SOC_MODEL := t31al
SOC_RAM := 128
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31al_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T31ZL),y)
SOC_MODEL := t31zl
SOC_RAM := 64
BR2_SOC_INGENIC_T31=y
BR2_XBURST_1=y
UBOOT_BOARDNAME="isvp_t31_sfcnor_lite"
else ifeq ($(BR2_SOC_INGENIC_T31ZX),y)
SOC_MODEL := t31zx
SOC_RAM := 128
BR2_XBURST_1=y
BR2_SOC_INGENIC_T31=y
UBOOT_BOARDNAME := "isvp_t31_sfcnor_ddr128M"
else ifeq ($(BR2_SOC_INGENIC_T40N),y)
SOC_MODEL := t40n
SOC_RAM := 128
BR2_SOC_INGENIC_T40=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t40n_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T40NN),y)
SOC_MODEL := t40nn
SOC_RAM := 128
BR2_XBURST_2=y
BR2_SOC_INGENIC_T40=y
UBOOT_BOARDNAME="isvp_t40n_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T40XP),y)
SOC_MODEL := t40xp
SOC_RAM := 256
BR2_SOC_INGENIC_T40=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t40xp_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T40A),y)
SOC_MODEL := t40a
SOC_RAM := 128
BR2_SOC_INGENIC_T40=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t40a_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T41LQ),y)
SOC_MODEL := t41lq
SOC_RAM := 64
BR2_SOC_INGENIC_T41=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t41_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T41NQ),y)
SOC_MODEL := t41nq
SOC_RAM := 128
BR2_SOC_INGENIC_T41=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t41_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T41ZL),y)
SOC_MODEL := t41zl
SOC_RAM := 64
BR2_SOC_INGENIC_T41=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t41_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T41ZN),y)
SOC_MODEL := t41zn
SOC_RAM := 128
BR2_SOC_INGENIC_T41=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t41_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T41ZX),y)
SOC_MODEL := t41zx
SOC_RAM := 256
BR2_SOC_INGENIC_T41=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t41_sfcnor"
else ifeq ($(BR2_SOC_INGENIC_T41A),y)
SOC_MODEL := t41a
SOC_RAM := 512
BR2_SOC_INGENIC_T41=y
BR2_XBURST_2=y
UBOOT_BOARDNAME="isvp_t41_sfcnor"
endif

Expand Down Expand Up @@ -599,6 +634,14 @@ FLASH_SIZE := $(SIZE_8M)
endif
$(info FLASH_SIZE=$(FLASH_SIZE))

ifeq ($(BR2_XBURST_1),y)
$(info Building for XBURST 1 architecture)
INGENIC_ARCH = xburst1
else ifeq ($(BR2_XBURST_2),y)
$(info Building for XBURST 2 architecture)
INGENIC_ARCH = xburst2
endif

# default to older kernel if none set
ifneq ($(KERNEL_VERSION_3)$(KERNEL_VERSION_4),y)
$(info Defaulting to kernel 3.x)
Expand Down Expand Up @@ -631,8 +674,15 @@ $(info KERNEL_HASH=$(shell git ls-remote $(KERNEL_SITE) $(KERNEL_BRANCH) | head
THINGINO_KERNEL = $(KERNEL_SITE)/archive/$(KERNEL_HASH).tar.gz
$(info THINGINO_KERNEL=$(THINGINO_KERNEL))

THINGINO_UBOOT_REPO = https://github.com/gtxaspec/u-boot-ingenic
THINGINO_UBOOT_REPO = https://github.com/gtxaspec/ingenic-u-boot-$(INGENIC_ARCH)
ifeq ($(BR2_SOC_INGENIC_T40),y)
THINGINO_UBOOT_REPO_BRANCH = t40
else ifeq ($(BR2_SOC_INGENIC_T41),y)
THINGINO_UBOOT_REPO_BRANCH = t41
else
THINGINO_UBOOT_REPO_BRANCH = master
endif

THINGINO_UBOOT_REPO_VERSION = $(shell git ls-remote $(THINGINO_UBOOT_REPO) $(THINGINO_UBOOT_REPO_BRANCH) | head -1 | cut -f1)
$(info THINGINO_UBOOT_REPO=$(THINGINO_UBOOT_REPO))
$(info THINGINO_UBOOT_REPO_BRANCH=$(THINGINO_UBOOT_REPO_BRANCH))
Expand Down Expand Up @@ -699,6 +749,8 @@ export KERNEL_HASH
export KERNEL_VERSION
export STREAMER
export UBOOT_BOARDNAME
export BR2_XBURST_1
export BR2_XBURST_2

export ISP_CLK
export ISP_MEMOPT
Expand Down
16 changes: 12 additions & 4 deletions package/ingenic-lib/ingenic-lib.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ INGENIC_LIB_INSTALL_STAGING = YES
INGENIC_LIB_LICENSE = GPL-2.0
INGENIC_LIB_LICENSE_FILES = COPYING

ifeq ($(CONFIG_SOC_T40)$(CONFIG_SOC_T41),y)
LIBALOG_FILE = $(@D)/$(SOC_FAMILY_CAPS)/$(SDK_VERSION)/$(SDK_LIBC_NAME)/$(SDK_LIBC_VERSION)/libalog.so
ifeq ($(BR2_SOC_FAMILY_INGENIC_T40)$(BR2_SOC_FAMILY_INGENIC_T41),y)
LIBALOG_FILE = $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/libalog.so
else
# Install libalog.so from T31 1.1.6 for every XBurst1 SoC
# 40032d0802b86f3cfb0b2b13d866556e
Expand All @@ -17,13 +17,21 @@ endif

define INGENIC_LIB_INSTALL_STAGING_CMDS
$(INSTALL) -m 755 -d $(STAGING_DIR)/usr/lib
$(INSTALL) -m 644 -t $(STAGING_DIR)/usr/lib/ $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/$(SDK_LIBC_VERSION)/*.so
if [ "$(BR2_SOC_FAMILY_INGENIC_T40)" = "y" ] || [ "$(BR2_SOC_FAMILY_INGENIC_T41)" = "y" ]; then \
$(INSTALL) -m 644 -t $(STAGING_DIR)/usr/lib/ $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/*.so; \
else \
$(INSTALL) -m 644 -t $(STAGING_DIR)/usr/lib/ $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/$(SDK_LIBC_VERSION)/*.so; \
fi; \
$(INSTALL) -m 644 -t $(STAGING_DIR)/usr/lib/ $(LIBALOG_FILE)
endef

define INGENIC_LIB_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/$(SDK_LIBC_VERSION)/*.so
if [ "$(BR2_SOC_FAMILY_INGENIC_T40)" = "y" ] || [ "$(BR2_SOC_FAMILY_INGENIC_T41)" = "y" ]; then \
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/*.so; \
else \
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(@D)/$(SOC_FAMILY_CAPS)/lib/$(SDK_VERSION)/$(SDK_LIBC_NAME)/$(SDK_LIBC_VERSION)/*.so; \
fi; \
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/ $(LIBALOG_FILE)
endef

Expand Down
1 change: 1 addition & 0 deletions package/prudynt-t/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ config BR2_PACKAGE_PRUDYNT_T
select BR2_PACKAGE_THINGINO_FONTS
select BR2_PACKAGE_THINGINO_OPUS
select BR2_PACKAGE_FAAC
depends on !BR2_SOC_FAMILY_INGENIC_T40 && !BR2_SOC_FAMILY_INGENIC_T41
help
Video streamer for Ingenic T-series.

Expand Down

0 comments on commit 0732d8b

Please sign in to comment.