Skip to content

arm64: dts: amlogic: set HDMI vendor info on vendor-branded boards#14

Open
allolive wants to merge 1 commit into
CoreELEC:5.15.196_20260225from
allolive:am6b-plus-hdmi-vendor-info
Open

arm64: dts: amlogic: set HDMI vendor info on vendor-branded boards#14
allolive wants to merge 1 commit into
CoreELEC:5.15.196_20260225from
allolive:am6b-plus-hdmi-vendor-info

Conversation

@allolive
Copy link
Copy Markdown

@allolive allolive commented May 25, 2026

The shared coreelec_g12b_common.dtsi sets the amhdmitx vend_data product_desc to "G12B" with the comment "Should modified by Customer". That generic SoC-family string is what AVRs and TVs display in their HDMI source / input list when they read the HDMI Vendor-Specific InfoFrame from the box.

Override the board's vend_data so the broadcast identifier matches the actual product instead of the generic SoC name.

Before:
$ cat /sys/firmware/devicetree/base/amhdmitx/vend_data/vendor_name
Amlogic
$ cat /sys/firmware/devicetree/base/amhdmitx/vend_data/product_desc
G12B # AVR shows "G12B"

After:
vendor_name = UGOOS
product_desc = AM6B+ # AVR shows "AM6B+"

This for all "G12B" variants hopefully.

@Portisch
Copy link
Copy Markdown
Contributor

Can you please rebase the PR?

Also you might do the same for all other unique DTBs?

@allolive allolive force-pushed the am6b-plus-hdmi-vendor-info branch from f21681f to 0b9ff5d Compare May 26, 2026 23:56
@allolive allolive changed the title arm64: dts: ugoos-am6b-plus: set HDMI vendor info arm64: dts: amlogic: set HDMI vendor info on vendor-branded boards May 26, 2026
@allolive
Copy link
Copy Markdown
Author

@Portisch, I rebased and extended this to every vendor-branded boards in with similar issues.

I used the existing model = "..." field on each board as the source for vendor_name / product_desc (first word → vendor, rest → product), with a couple of manual touches.

Only tested on my AM6B+ (UGOOS/AM6B+ confirmed at runtime), so fingers crossed nothing got mis-named or broke for boards I don't have...

@Portisch
Copy link
Copy Markdown
Contributor

Please also squash arm64: dts: ugoos-am6b-plus: set HDMI vendor info into arm64: dts: amlogic: set HDMI vendor info on vendor-branded boards to have only one commit.

Missed DTS:

s4_s905y4_buzztv_hd5
s5_s928x_tencent_aurora_5x
s5_s928x_x96_x10
s7d_s905x5m_xiaomi_3rd_gen
sm1_s905x3_buzztv_xrs4500
sm1_s905x3_starnet_apple_x3
sm1_s905x3_tiger_1b
sm1_s905x3_magicsee_c500_pro
sc2_s905x4_buzztv_u5
sc2_s905x4_buzztv_x5
c2_s905x4_sei_smb_280
sc2_s905x4_x96_x4

When all this finished up we are good to merge!

@allolive allolive force-pushed the am6b-plus-hdmi-vendor-info branch from 0b9ff5d to 809a58d Compare May 28, 2026 13:15
@Portisch
Copy link
Copy Markdown
Contributor

Please remove arch/arm64/boot/dts/amlogic/g12b_a311d_bananapi_m2s.dts as it's set already by g12b_s922x_bananapi_m2s.dts.

@allolive allolive force-pushed the am6b-plus-hdmi-vendor-info branch from 809a58d to 7440c98 Compare May 28, 2026 22:11
@allolive
Copy link
Copy Markdown
Author

Good catch. Done.

@Portisch
Copy link
Copy Markdown
Contributor

Portisch commented May 29, 2026

I just did hit this issue:

vendor: String representing the manufacturer (e.g., "AMD", "Intel", "NVIDIA"). Maximum 8 characters.
product: String describing the source device (e.g., "Radeon", "Core i7"). Maximum 16 characters.
File (.dts) vendor_name len product_desc len SoC status
…g12a_s905x2_beelink_gt1_mini_2g Beelink 7 GT1-Mini 8 G12A ✅ OK
…g12a_s905x2_beelink_gt_mini_a_2g Beelink 7 GT-Mini-A 9 G12A ✅ OK
…g12a_s905x2_mecool_m8s_plus_t2 MECOOL 6 M8S Plus DVB-T2 15 G12A ✅ OK
…g12a_s905y2_radxa_zero Radxa 5 Zero 4 G12A ✅ OK
…g12b_a311d_khadas_vim3 Khadas 6 VIM3 4 G12B ✅ OK
…g12b_a311d_libre_computer_alta Libre-Computer 14 Alta 4 G12B ❌ FAIL
…g12b_a311d_radxa_zero2 Radxa 5 Zero 2 6 G12B ✅ OK
…g12b_s922x_bananapi_m2s Sinovoip 8 Bananapi-M2S 12 G12B ❌ FAIL
…g12b_s922x_beelink_gs_king_x Beelink 7 GS-King X 9 G12B ✅ OK
…g12b_s922x_beelink_gt_king Beelink 7 GT-King 7 G12B ✅ OK
…g12b_s922x_minix_u22xj Minix 5 U22-XJ 6 G12B ✅ OK
…g12b_s922x_minix_u22xj_max Minix 5 U22-XJ Max 10 G12B ✅ OK
…g12b_s922x_odroid_n2 Hardkernel 10 ODROID-N2 9 G12B ❌ FAIL
…g12b_s922x_odroid_n2plus Hardkernel 10 ODROID-N2Plus 13 G12B ❌ FAIL
…g12b_s922x_ugoos_am6_2g UGOOS 5 AM6 3 G12B ✅ OK
…g12b_s922x_ugoos_am6b_2g UGOOS 5 AM6B+ 5 G12B ✅ OK
…g12b_s922z_amazon_2nd_gen_cube Amazon 6 Fire TV Cube 2 14 G12B ✅ OK
…s4_s905y4_buzztv_hd5_2g BuzzTV 6 HD5 3 S4 ✅ OK
…s4_s905y4_khadas_vim1s Khadas 6 VIM1S 5 S4 ✅ OK
…s5_s928x_minix_u8k_ultra Minix 5 U8K-Ultra 9 S5 ✅ OK
…s5_s928x_tencent_aurora_5x Tencent 7 Aurora Box 5X 13 S5 ✅ OK
…s5_s928x_ugoos_am8_4g Ugoos 5 AM8 3 S5 ✅ OK
…s5_s928x_ugoos_am8_8g Ugoos 5 AM8 Pro 7 S5 ✅ OK
…s5_s928x_ugoos_sk1_8g Ugoos 5 SK1 3 S5 ✅ OK
…s5_s928x_x96_x10_4g X96 3 X10 3 S5 ✅ OK
…s5_s928x_x96_x10_8g X96 3 X10 Pro 7 S5 ✅ OK
…s6_s905x5_ugoos_am9 Ugoos 5 AM9 3 S6 ✅ OK
…s6_s905x5_ugoos_am9_pro Ugoos 5 AM9 Pro 7 S6 ✅ OK
…s7d_s905x5m_odroid_c5 Hardkernel 10 ODROID-C5 9 S7D ❌ FAIL
…s7d_s905x5m_ugoos_sk4 Ugoos 5 SK4 3 S7D ✅ OK
…s7d_s905x5m_ugoos_x5m_pro Ugoos 5 X5M Pro 7 S7D ✅ OK
…s7d_s905x5m_xiaomi_3rd_gen Xiaomi 6 3rd Gen 7 S7D ✅ OK
…sc2_s905x4_buzztv_u5_4g_1gbit BuzzTV 6 U5 2 SC2 ✅ OK
…sc2_s905x4_buzztv_x5_2g BuzzTV 6 X5 2 SC2 ✅ OK
…sc2_s905x4_mecool_kt1 Mecool 6 KT1 3 SC2 ✅ OK
…sc2_s905x4_sei_smb_280_id5 Homatics 8 R 4K Plus 9 SC2 ❌ FAIL
…sc2_s905x4_sei_smb_280_id7 RockTek 7 G2 2 SC2 ✅ OK
…sc2_s905x4_ugoos_am7 Ugoos 5 AM7 3 SC2 ✅ OK
…sc2_s905x4_ugoos_x4 Ugoos 5 X4 2 SC2 ✅ OK
…sc2_s905x4_x96_x4_2g X96 3 X4 2 SC2 ✅ OK
…sm1_s905d3_khadas_vim3l Khadas 6 VIM3L 5 SM1 ✅ OK
…sm1_s905d3_libre_computer_solitude Libre-Computer 14 Solitude 8 SM1 ❌ FAIL
…sm1_s905x3_bananapi_m2pro Sinovoip 8 Bananapi-M2Pro 14 SM1 ❌ FAIL
…sm1_s905x3_bananapi_m5 Sinovoip 8 Bananapi-M5 11 SM1 ❌ FAIL
…sm1_s905x3_beelink_gt1mini2_2g Beelink 7 GT1-Mini-2 10 SM1 ✅ OK
…sm1_s905x3_beelink_gt1mini2_4g Beelink 7 GT1-Mini-2 10 SM1 ✅ OK
…sm1_s905x3_buzztv_xrs4500 BuzzTV 6 XRS4500 7 SM1 ✅ OK
…sm1_s905x3_magicsee_c500_pro_2g MagicSee 8 C500 Pro 8 SM1 ❌ FAIL
…sm1_s905x3_magicsee_c500_pro_4g MagicSee 8 C500 Pro 8 SM1 ❌ FAIL
…sm1_s905x3_mecool_k5 Mecool 6 K5 2 SM1 ✅ OK
…sm1_s905x3_odroid_c4 Hardkernel 10 ODROID-C4 9 SM1 ❌ FAIL
…sm1_s905x3_starnet_apple_x3 StarNet 7 Apple-X3 8 SM1 ✅ OK
…sm1_s905x3_tiger_1b Tiger 5 One Billion 11 SM1 ✅ OK
…t7_a311d2_beelink_gt_king_ii_4g Beelink 7 GT-King II 10 T7 ✅ OK
…t7_a311d2_khadas_vim4 Khadas 6 VIM4 4 T7 ✅ OK
…t7c_a311d2_khadas_vim4n Khadas 6 VIM4N 5 T7C ✅ OK

Limits: vendor_name max 7 chars (char[8] null-terminated) · product_desc max 15 chars (char[16] null-terminated)

@allolive
Copy link
Copy Markdown
Author

allolive commented May 29, 2026

@Portisch may I ask how did you test that?

As for the updated vendor names, I propose the following changes:

  • Libre-Computer (14) -->> Libre (5)
  • Hardkernel (10) -->> Hardkrn (7)
  • Sinovoip (8) -->> Sinovip (7)
  • Homatics (8) -->> Homatic (7)
  • MagicSee (8) -->> Magic (5)

If you're good with that, I'll push an update.

@Portisch
Copy link
Copy Markdown
Contributor

This was a good job for AI, to filter it he changes and check the strings.

Please update this PR now after merge of #16.

I will check the to long strings later on.

Override &amhdmitx vend_data on each vendor-branded board so AVRs/TVs
show the real product name in their HDMI input list instead of the
generic SoC name ("G12B", "SM1", ...) from the common dtsi.

Values come from each board's model = "..." field. vendor_name is
char[8] (max 7), product_desc char[16] (max 15); over-long vendor
names are abbreviated (Hardkrn, Sinovip, Homatic, Libre, Magic).

Signed-off-by: allolive <160342668+allolive@users.noreply.github.com>
@allolive allolive force-pushed the am6b-plus-hdmi-vendor-info branch from 7440c98 to a9c80aa Compare May 30, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants