board: ti: am33xx: Add support for BeagleBoard Green Eco
SeeedStudio BeagleBone Green Eco (BBGE) is a clone of the BeagleBone Green (BBG). It has minor differences from the BBG, such as a different PMIC, a different Ethernet PHY, and a larger eMMC. The PMIC is not yet supported in mainline, but the work is ongoing. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
This commit is contained in:
@@ -419,6 +419,7 @@ dtb-$(CONFIG_AM33XX) += \
|
|||||||
am335x-evm.dtb \
|
am335x-evm.dtb \
|
||||||
am335x-evmsk.dtb \
|
am335x-evmsk.dtb \
|
||||||
am335x-bonegreen.dtb \
|
am335x-bonegreen.dtb \
|
||||||
|
am335x-bonegreen-eco.dtb \
|
||||||
am335x-bonegreen-wireless.dtb \
|
am335x-bonegreen-wireless.dtb \
|
||||||
am335x-icev2.dtb \
|
am335x-icev2.dtb \
|
||||||
am335x-pocketbeagle.dtb \
|
am335x-pocketbeagle.dtb \
|
||||||
|
34
arch/arm/dts/am335x-bonegreen-eco.dts
Normal file
34
arch/arm/dts/am335x-bonegreen-eco.dts
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2025 Bootlin
|
||||||
|
*/
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "am33xx.dtsi"
|
||||||
|
#include "am335x-bone-common.dtsi"
|
||||||
|
#include "am335x-bonegreen-common.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "TI AM335x BeagleBone Green Eco";
|
||||||
|
compatible = "ti,am335x-bone-green-eco", "ti,am335x-bone-green",
|
||||||
|
"ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
cpu@0 {
|
||||||
|
/delete-property/ cpu0-supply;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb0 {
|
||||||
|
interrupts-extended = <&intc 18>;
|
||||||
|
interrupt-names = "mc";
|
||||||
|
};
|
||||||
|
|
||||||
|
&baseboard_eeprom {
|
||||||
|
/delete-property/ vcc-supply;
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
/delete-node/ tps@24;
|
||||||
|
};
|
@@ -307,6 +307,9 @@ const struct dpll_params *get_dpll_mpu_params(void)
|
|||||||
if (board_is_pb() || board_is_bone_lt())
|
if (board_is_pb() || board_is_bone_lt())
|
||||||
freq = MPUPLL_M_1000;
|
freq = MPUPLL_M_1000;
|
||||||
|
|
||||||
|
if (board_is_bbge())
|
||||||
|
freq = MPUPLL_M_600;
|
||||||
|
|
||||||
switch (freq) {
|
switch (freq) {
|
||||||
case MPUPLL_M_1000:
|
case MPUPLL_M_1000:
|
||||||
return &dpll_mpu_opp[ind][5];
|
return &dpll_mpu_opp[ind][5];
|
||||||
@@ -823,6 +826,8 @@ int board_late_init(void)
|
|||||||
|
|
||||||
if (board_is_bbg1())
|
if (board_is_bbg1())
|
||||||
name = "BBG1";
|
name = "BBG1";
|
||||||
|
if (board_is_bbge())
|
||||||
|
name = "BBGE";
|
||||||
if (board_is_bben()) {
|
if (board_is_bben()) {
|
||||||
char subtype_id = board_ti_get_config()[1];
|
char subtype_id = board_ti_get_config()[1];
|
||||||
|
|
||||||
@@ -955,7 +960,7 @@ int board_fit_config_name_match(const char *name)
|
|||||||
return 0;
|
return 0;
|
||||||
else if (board_is_bone() && !strcmp(name, "am335x-bone"))
|
else if (board_is_bone() && !strcmp(name, "am335x-bone"))
|
||||||
return 0;
|
return 0;
|
||||||
else if (board_is_bone_lt() && !board_is_bbg1() &&
|
else if (board_is_bone_lt() && !board_is_bbg1() && !board_is_bbge() &&
|
||||||
!strcmp(name, "am335x-boneblack"))
|
!strcmp(name, "am335x-boneblack"))
|
||||||
return 0;
|
return 0;
|
||||||
else if (board_is_pb() && !strcmp(name, "am335x-pocketbeagle"))
|
else if (board_is_pb() && !strcmp(name, "am335x-pocketbeagle"))
|
||||||
@@ -964,6 +969,8 @@ int board_fit_config_name_match(const char *name)
|
|||||||
return 0;
|
return 0;
|
||||||
else if (board_is_bbg1() && !strcmp(name, "am335x-bonegreen"))
|
else if (board_is_bbg1() && !strcmp(name, "am335x-bonegreen"))
|
||||||
return 0;
|
return 0;
|
||||||
|
else if (board_is_bbge() && !strcmp(name, "am335x-bonegreen-eco"))
|
||||||
|
return 0;
|
||||||
else if (board_is_icev2() && !strcmp(name, "am335x-icev2"))
|
else if (board_is_icev2() && !strcmp(name, "am335x-icev2"))
|
||||||
return 0;
|
return 0;
|
||||||
else if (board_is_bben()) {
|
else if (board_is_bben()) {
|
||||||
|
@@ -45,6 +45,11 @@ static inline int board_is_bbg1(void)
|
|||||||
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4);
|
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int board_is_bbge(void)
|
||||||
|
{
|
||||||
|
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBGE", 4);
|
||||||
|
}
|
||||||
|
|
||||||
static inline int board_is_bben(void)
|
static inline int board_is_bben(void)
|
||||||
{
|
{
|
||||||
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "SE", 2);
|
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "SE", 2);
|
||||||
|
@@ -52,7 +52,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=nand.0"
|
|||||||
CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
|
CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
|
||||||
# CONFIG_SPL_EFI_PARTITION is not set
|
# CONFIG_SPL_EFI_PARTITION is not set
|
||||||
CONFIG_OF_CONTROL=y
|
CONFIG_OF_CONTROL=y
|
||||||
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-sancloud-bbe am335x-sancloud-bbe-lite am335x-sancloud-bbe-extended-wifi am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle"
|
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-sancloud-bbe am335x-sancloud-bbe-lite am335x-sancloud-bbe-extended-wifi am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle am335x-bonegreen-eco"
|
||||||
CONFIG_ENV_OVERWRITE=y
|
CONFIG_ENV_OVERWRITE=y
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||||
|
@@ -41,7 +41,7 @@ CONFIG_CMD_MTDPARTS=y
|
|||||||
# CONFIG_SPL_EFI_PARTITION is not set
|
# CONFIG_SPL_EFI_PARTITION is not set
|
||||||
CONFIG_OF_CONTROL=y
|
CONFIG_OF_CONTROL=y
|
||||||
CONFIG_SPL_OF_CONTROL=y
|
CONFIG_SPL_OF_CONTROL=y
|
||||||
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle"
|
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle am335x-bonegreen-eco"
|
||||||
CONFIG_ENV_OVERWRITE=y
|
CONFIG_ENV_OVERWRITE=y
|
||||||
# CONFIG_ENV_IS_IN_FAT is not set
|
# CONFIG_ENV_IS_IN_FAT is not set
|
||||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||||
|
@@ -39,7 +39,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=nand.0"
|
|||||||
CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
|
CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
|
||||||
# CONFIG_SPL_EFI_PARTITION is not set
|
# CONFIG_SPL_EFI_PARTITION is not set
|
||||||
CONFIG_OF_CONTROL=y
|
CONFIG_OF_CONTROL=y
|
||||||
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle"
|
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle am335x-bonegreen-eco"
|
||||||
CONFIG_ENV_OVERWRITE=y
|
CONFIG_ENV_OVERWRITE=y
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||||
|
@@ -41,7 +41,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=nand.0"
|
|||||||
CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
|
CONFIG_MTDPARTS_DEFAULT="mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)"
|
||||||
# CONFIG_SPL_EFI_PARTITION is not set
|
# CONFIG_SPL_EFI_PARTITION is not set
|
||||||
CONFIG_OF_CONTROL=y
|
CONFIG_OF_CONTROL=y
|
||||||
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle"
|
CONFIG_OF_LIST="am335x-evm am335x-bone am335x-boneblack am335x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle am335x-bonegreen-eco"
|
||||||
CONFIG_ENV_OVERWRITE=y
|
CONFIG_ENV_OVERWRITE=y
|
||||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||||
|
@@ -126,6 +126,8 @@
|
|||||||
"setenv fdtfile am335x-bonegreen.dtb; fi; " \
|
"setenv fdtfile am335x-bonegreen.dtb; fi; " \
|
||||||
"if test $board_name = BBGW; then " \
|
"if test $board_name = BBGW; then " \
|
||||||
"setenv fdtfile am335x-bonegreen-wireless.dtb; fi; " \
|
"setenv fdtfile am335x-bonegreen-wireless.dtb; fi; " \
|
||||||
|
"if test $board_name = BBGE; then " \
|
||||||
|
"setenv fdtfile am335x-bonegreen-eco.dtb; fi; " \
|
||||||
"if test $board_name = BBBL; then " \
|
"if test $board_name = BBBL; then " \
|
||||||
"setenv fdtfile am335x-boneblue.dtb; fi; " \
|
"setenv fdtfile am335x-boneblue.dtb; fi; " \
|
||||||
"if test $board_name = BBEN; then " \
|
"if test $board_name = BBEN; then " \
|
||||||
|
Reference in New Issue
Block a user