[U-Boot] [PATCH] Add Beaglebone Enhanced support

The "Beaglebone Enhanced" by Sancloud is based on the Beaglebone Black, but with the following differences:
* Gigabit capable PHY * Extra USB hub, optional i2c control * lps3331ap barometer connected over i2c * MPU6050 6 axis MEMS accelerometer/gyro connected over i2c * 1GiB DDR3 RAM * RTL8723 Wifi/Bluetooth connected over USB
Signed-off-by: Koen Kooi koen@dominion.thruhere.net
---
board/ti/am335x/board.c | 6 ++++-- board/ti/am335x/board.h | 8 +++++++- board/ti/am335x/mux.c | 7 +++++++ include/configs/am335x_evm.h | 2 ++ 4 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index 147ff0b..a359d20 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -725,6 +725,8 @@ int board_late_init(void)
if (board_is_bbg1()) name = "BBG1"; + if (board_is_bben()) + name = "BBEN"; set_board_info_env(name);
/* @@ -870,7 +872,7 @@ int board_eth_init(bd_t *bis) (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))
#ifdef CONFIG_DRIVER_TI_CPSW - if (board_is_bone() || board_is_bone_lt() || + if (board_is_bone() || board_is_bone_lt() || board_is_bben() || board_is_idk()) { writel(MII_MODE_ENABLE, &cdev->miisel); cpsw_slaves[0].phy_if = cpsw_slaves[1].phy_if = @@ -906,7 +908,7 @@ int board_eth_init(bd_t *bis) #define AR8051_DEBUG_RGMII_CLK_DLY_REG 0x5 #define AR8051_RGMII_TX_CLK_DLY 0x100
- if (board_is_evm_sk() || board_is_gp_evm()) { + if (board_is_evm_sk() || board_is_gp_evm() || board_is_bben()) { const char *devname; devname = miiphy_get_current_dev();
diff --git a/board/ti/am335x/board.h b/board/ti/am335x/board.h index 652b10b..48df914 100644 --- a/board/ti/am335x/board.h +++ b/board/ti/am335x/board.h @@ -43,9 +43,15 @@ static inline int board_is_bbg1(void) return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4); }
+static inline int board_is_bben(void) +{ + return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "SE", 2); +} + static inline int board_is_beaglebonex(void) { - return board_is_pb() || board_is_bone() || board_is_bone_lt() || board_is_bbg1(); + return board_is_pb() || board_is_bone() || board_is_bone_lt() || + board_is_bbg1() || board_is_bben(); }
static inline int board_is_evm_sk(void) diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c index aa18760..f38424d 100644 --- a/board/ti/am335x/mux.c +++ b/board/ti/am335x/mux.c @@ -381,6 +381,13 @@ void enable_board_pin_mux(void) configure_module_pin_mux(mmc0_pin_mux_sk_evm); } else if (board_is_bone_lt()) { /* Beaglebone LT pinmux */ + if (board_is_bben()) { + /* SanCloud Beaglebone LT Enhanced pinmux */ + configure_module_pin_mux(rgmii1_pin_mux); + } else { + /* Beaglebone LT pinmux */ + configure_module_pin_mux(mii1_pin_mux); + } configure_module_pin_mux(mii1_pin_mux); configure_module_pin_mux(mmc0_pin_mux); #if defined(CONFIG_NAND) && defined(CONFIG_EMMC_BOOT) diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index ff87adc..f1aa653 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -153,6 +153,8 @@ "setenv fdtfile am335x-bonegreen-wireless.dtb; fi; " \ "if test $board_name = BBBL; then " \ "setenv fdtfile am335x-boneblue.dtb; fi; " \ + "if test $board_name = BBEN; then " \ + "setenv fdtfile am335x-sancloud-bbe.dtb; fi; " \ "if test $board_name = A33515BB; then " \ "setenv fdtfile am335x-evm.dtb; fi; " \ "if test $board_name = A335X_SK; then " \

On Tue, Jul 17, 2018 at 3:01 PM, Koen Kooi koen@dominion.thruhere.net wrote:
The "Beaglebone Enhanced" by Sancloud is based on the Beaglebone Black, but with the following differences:
- Gigabit capable PHY
- Extra USB hub, optional i2c control
- lps3331ap barometer connected over i2c
- MPU6050 6 axis MEMS accelerometer/gyro connected over i2c
- 1GiB DDR3 RAM
- RTL8723 Wifi/Bluetooth connected over USB
Signed-off-by: Koen Kooi koen@dominion.thruhere.net
board/ti/am335x/board.c | 6 ++++-- board/ti/am335x/board.h | 8 +++++++- board/ti/am335x/mux.c | 7 +++++++ include/configs/am335x_evm.h | 2 ++ 4 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index 147ff0b..a359d20 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -725,6 +725,8 @@ int board_late_init(void)
if (board_is_bbg1()) name = "BBG1";
if (board_is_bben())
name = "BBEN"; set_board_info_env(name); /*
@@ -870,7 +872,7 @@ int board_eth_init(bd_t *bis) (defined(CONFIG_SPL_ETH_SUPPORT) && defined(CONFIG_SPL_BUILD))
#ifdef CONFIG_DRIVER_TI_CPSW
if (board_is_bone() || board_is_bone_lt() ||
if (board_is_bone() || board_is_bone_lt() || board_is_bben() || board_is_idk()) { writel(MII_MODE_ENABLE, &cdev->miisel); cpsw_slaves[0].phy_if = cpsw_slaves[1].phy_if =
@@ -906,7 +908,7 @@ int board_eth_init(bd_t *bis) #define AR8051_DEBUG_RGMII_CLK_DLY_REG 0x5 #define AR8051_RGMII_TX_CLK_DLY 0x100
if (board_is_evm_sk() || board_is_gp_evm()) {
if (board_is_evm_sk() || board_is_gp_evm() || board_is_bben()) { const char *devname; devname = miiphy_get_current_dev();
diff --git a/board/ti/am335x/board.h b/board/ti/am335x/board.h index 652b10b..48df914 100644 --- a/board/ti/am335x/board.h +++ b/board/ti/am335x/board.h @@ -43,9 +43,15 @@ static inline int board_is_bbg1(void) return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4); }
+static inline int board_is_bben(void) +{
return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "SE", 2);
+}
static inline int board_is_beaglebonex(void) {
return board_is_pb() || board_is_bone() || board_is_bone_lt() || board_is_bbg1();
return board_is_pb() || board_is_bone() || board_is_bone_lt() ||
board_is_bbg1() || board_is_bben();
}
static inline int board_is_evm_sk(void) diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c index aa18760..f38424d 100644 --- a/board/ti/am335x/mux.c +++ b/board/ti/am335x/mux.c @@ -381,6 +381,13 @@ void enable_board_pin_mux(void) configure_module_pin_mux(mmc0_pin_mux_sk_evm); } else if (board_is_bone_lt()) { /* Beaglebone LT pinmux */
I think this comment is duplicated below so this one should be updated/dropped?
if (board_is_bben()) {
/* SanCloud Beaglebone LT Enhanced pinmux */
configure_module_pin_mux(rgmii1_pin_mux);
} else {
/* Beaglebone LT pinmux */
configure_module_pin_mux(mii1_pin_mux);
} configure_module_pin_mux(mii1_pin_mux); configure_module_pin_mux(mmc0_pin_mux);
#if defined(CONFIG_NAND) && defined(CONFIG_EMMC_BOOT) diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index ff87adc..f1aa653 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -153,6 +153,8 @@ "setenv fdtfile am335x-bonegreen-wireless.dtb; fi; " \ "if test $board_name = BBBL; then " \ "setenv fdtfile am335x-boneblue.dtb; fi; " \
"if test $board_name = BBEN; then " \
"setenv fdtfile am335x-sancloud-bbe.dtb; fi; " \ "if test $board_name = A33515BB; then " \ "setenv fdtfile am335x-evm.dtb; fi; " \ "if test $board_name = A335X_SK; then " \
-- 2.0.1
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

Op 17 jul. 2018, om 16:06 heeft Peter Robinson pbrobinson@gmail.com het volgende geschreven:
On Tue, Jul 17, 2018 at 3:01 PM, Koen Kooi koen@dominion.thruhere.net wrote:
[..]
--- a/board/ti/am335x/mux.c +++ b/board/ti/am335x/mux.c @@ -381,6 +381,13 @@ void enable_board_pin_mux(void) configure_module_pin_mux(mmc0_pin_mux_sk_evm); } else if (board_is_bone_lt()) { /* Beaglebone LT pinmux */
I think this comment is duplicated below so this one should be updated/dropped?
What do you think about moving it below the if statement:
if (board_is_bben()) {
/* SanCloud Beaglebone LT Enhanced pinmux */
configure_module_pin_mux(rgmii1_pin_mux);
} else {
/* Beaglebone LT pinmux */
configure_module_pin_mux(mii1_pin_mux);
}
X marks the spot
configure_module_pin_mux(mii1_pin_mux); configure_module_pin_mux(mmc0_pin_mux);
That would make it clear that it’s the LT pinmux again.
I’m fine with dropping it as well.
regards,
Koen
participants (2)
-
Koen Kooi
-
Peter Robinson