Add Beaglebone Enhanced support
authorKoen Kooi <koen@dominion.thruhere.net>
Wed, 18 Jul 2018 08:13:59 +0000 (10:13 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 3 Aug 2018 23:53:01 +0000 (19:53 -0400)
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>
Reviewed-by: Tom Rini <trini@konsulko.com>
board/ti/am335x/board.c
board/ti/am335x/board.h
board/ti/am335x/mux.c
include/configs/am335x_evm.h

index 147ff0b2f00278cbf684d52f0f75b7ea5f490617..a359d20021fd97ae92b0d110b7e476b7e2347080 100644 (file)
@@ -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();
 
index 652b10b5e4c35f416c3c2e1589dca9f1d1b650ea..48df914af96cfdc4b05a4ef5bac552b3577bf2da 100644 (file)
@@ -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)
index aa187605d091ef6053da2bdc00180bf1356d0130..41333f93f40dc57fedfcbaec51b93f2aa9446cd9 100644 (file)
@@ -380,6 +380,13 @@ void enable_board_pin_mux(void)
                configure_module_pin_mux(rgmii1_pin_mux);
                configure_module_pin_mux(mmc0_pin_mux_sk_evm);
        } else if (board_is_bone_lt()) {
+               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);
+               }
                /* Beaglebone LT pinmux */
                configure_module_pin_mux(mii1_pin_mux);
                configure_module_pin_mux(mmc0_pin_mux);
index ff87adcd490babc0fa426d06c2f62e08ec7ac6e8..f1aa653a9ae413ef379f47fab9ae6e3f71fa4d40 100644 (file)
                        "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 " \