Re: [U-Boot] [PATCH 1/4] Add support for BeagleBoard.org PocketBeagle
[U-Boot] [PATCH 1/4] Add support for BeagleBoard.org PocketBeagle Texas Instruments AM3358 based low-cost board using Octavo Systems OSD3358 SIP with built-in TPS65217 PMIC and 512MB DDR3. Board features small 35mm x 55mm size, high-speed USB OTG, microSD and 72 0.1" expansion header pins with 2xSPI, 2xI2C, 2xUART, USB, 8xADC, up-to-44 GPIO, PRU pins and much more. https://beagleboard.org/pocket This was tested using the am335x_evm_usbspl_defconfig. Note that MII pins are enabled despite not having Ethernet on this board. This avoids an issue where otherwise many timeout errors would be generated. Seehttps://e2e.ti.com/support/arm/sitara_arm/f/791/t/298976 for some related discussion. Signed-off-by: Jason Kridner https://lists.denx.de/listinfo/u-boot>> Cc: Tom Rini https://lists.denx.de/listinfo/u-boot>> --- board/ti/am335x/board.c | 10 ++ board/ti/am335x/board.h | 7 ++- board/ti/am335x/mux.c| 3 +++ include/configs/am335x_evm.h | 2 ++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index b144fd1821..87bdd2d63d 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -264,7 +264,7 @@ const struct dpll_params *get_dpll_ddr_params(void) if (board_is_evm_sk()) return _ddr3_303MHz[ind]; - else if (board_is_bone_lt() || board_is_icev2()) + else if (board_is_pb() || board_is_bone_lt() || board_is_icev2()) return _ddr3_400MHz[ind]; else if (board_is_evm_15_or_later()) return _ddr3_303MHz[ind]; @@ -295,7 +295,7 @@ const struct dpll_params *get_dpll_mpu_params(void) if (bone_not_connected_to_ac_power()) freq = MPUPLL_M_600; - if (board_is_bone_lt()) + if (board_is_pb() || board_is_bone_lt()) freq = MPUPLL_M_1000; switch (freq) { @@ -341,7 +341,7 @@ static void scale_vcores_bone(int freq) * Override what we have detected since we know if we have * a Beaglebone Black it supports 1GHz. */ - if (board_is_bone_lt()) + if (board_is_pb() || board_is_bone_lt()) freq = MPUPLL_M_1000; switch (freq) { @@ -542,7 +542,7 @@ void sdram_init(void) if (board_is_evm_sk()) config_ddr(303, _evmsk, _data, _cmd_ctrl_data, _emif_reg_data, 0); - else if (board_is_bone_lt()) + else if (board_is_pb() || board_is_bone_lt()) config_ddr(400, _bonelt, _beagleblack_data, _beagleblack_cmd_ctrl_data, @@ -931,6 +931,8 @@ int board_fit_config_name_match(const char *name) return 0; else if (board_is_bone_lt() && !strcmp(name, "am335x-boneblack")) return 0; + else if (board_is_pb() && !strcmp(name, "am335x-pocketbeagle")) + return 0; else if (board_is_evm_sk() && !strcmp(name, "am335x-evmsk")) return 0; else if (board_is_bbg1() && !strcmp(name, "am335x-bonegreen")) diff --git a/board/ti/am335x/board.h b/board/ti/am335x/board.h index e13fcff02a..bab5b77f34 100644 --- a/board/ti/am335x/board.h +++ b/board/ti/am335x/board.h @@ -34,6 +34,11 @@ static inline int board_is_bone_lt(void) return board_ti_is("A335BNLT"); } +static inline int board_is_pb(void) +{ + return board_ti_is("A335PBGL"); +} + static inline int board_is_bbg1(void) { return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4); @@ -41,7 +46,7 @@ static inline int board_is_bbg1(void) static inline int board_is_beaglebonex(void) { - return board_is_bone() || board_is_bone_lt() || board_is_bbg1(); + return board_is_pb() || board_is_bone() || board_is_bone_lt() || board_is_bbg1(); } static inline int board_is_evm_sk(void) diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c index ad85b3a19a..aa187605d0 100644 --- a/board/ti/am335x/mux.c +++ b/board/ti/am335x/mux.c @@ -390,6 +390,9 @@ void enable_board_pin_mux(void) #else configure_module_pin_mux(mmc1_pin_mux); #endif + } else if (board_is_pb()) { + configure_module_pin_mux(mii1_pin_mux); + configure_module_pin_mux(mmc0_pin_mux); } else if (board_is_icev2()) { configure_module_pin_mux(mmc0_pin_mux); configure_module_pin_mux(gpio0_18_pin_mux); diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 158b7d4e8e..8d45b6fade 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -133,6 +133,8 @@ "setenv fdtfile am335x-bone.dtb; fi; " \ "if te
Re: [U-Boot] [PATCH 1/4] Add support for BeagleBoard.org PocketBeagle
On Wed, Mar 07, 2018 at 05:40:41AM -0500, Jason Kridner wrote: > Texas Instruments AM3358 based low-cost board using Octavo Systems OSD3358 SIP > with built-in TPS65217 PMIC and 512MB DDR3. Board features small 35mm x > 55mm size, high-speed USB OTG, microSD and 72 0.1" expansion header > pins with 2xSPI, 2xI2C, 2xUART, USB, 8xADC, up-to-44 GPIO, PRU pins and much > more. > > https://beagleboard.org/pocket > > This was tested using the am335x_evm_usbspl_defconfig. > > Note that MII pins are enabled despite not having Ethernet on this > board. This avoids an issue where otherwise many timeout errors would be > generated. See https://e2e.ti.com/support/arm/sitara_arm/f/791/t/298976 > for some related discussion. > > Signed-off-by: Jason Kridner> Cc: Tom Rini Reviewed-by: Tom Rini -- Tom signature.asc Description: PGP signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 1/4] Add support for BeagleBoard.org PocketBeagle
Texas Instruments AM3358 based low-cost board using Octavo Systems OSD3358 SIP with built-in TPS65217 PMIC and 512MB DDR3. Board features small 35mm x 55mm size, high-speed USB OTG, microSD and 72 0.1" expansion header pins with 2xSPI, 2xI2C, 2xUART, USB, 8xADC, up-to-44 GPIO, PRU pins and much more. https://beagleboard.org/pocket This was tested using the am335x_evm_usbspl_defconfig. Note that MII pins are enabled despite not having Ethernet on this board. This avoids an issue where otherwise many timeout errors would be generated. See https://e2e.ti.com/support/arm/sitara_arm/f/791/t/298976 for some related discussion. Signed-off-by: Jason KridnerCc: Tom Rini --- board/ti/am335x/board.c | 10 ++ board/ti/am335x/board.h | 7 ++- board/ti/am335x/mux.c| 3 +++ include/configs/am335x_evm.h | 2 ++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index b144fd1821..87bdd2d63d 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -264,7 +264,7 @@ const struct dpll_params *get_dpll_ddr_params(void) if (board_is_evm_sk()) return _ddr3_303MHz[ind]; - else if (board_is_bone_lt() || board_is_icev2()) + else if (board_is_pb() || board_is_bone_lt() || board_is_icev2()) return _ddr3_400MHz[ind]; else if (board_is_evm_15_or_later()) return _ddr3_303MHz[ind]; @@ -295,7 +295,7 @@ const struct dpll_params *get_dpll_mpu_params(void) if (bone_not_connected_to_ac_power()) freq = MPUPLL_M_600; - if (board_is_bone_lt()) + if (board_is_pb() || board_is_bone_lt()) freq = MPUPLL_M_1000; switch (freq) { @@ -341,7 +341,7 @@ static void scale_vcores_bone(int freq) * Override what we have detected since we know if we have * a Beaglebone Black it supports 1GHz. */ - if (board_is_bone_lt()) + if (board_is_pb() || board_is_bone_lt()) freq = MPUPLL_M_1000; switch (freq) { @@ -542,7 +542,7 @@ void sdram_init(void) if (board_is_evm_sk()) config_ddr(303, _evmsk, _data, _cmd_ctrl_data, _emif_reg_data, 0); - else if (board_is_bone_lt()) + else if (board_is_pb() || board_is_bone_lt()) config_ddr(400, _bonelt, _beagleblack_data, _beagleblack_cmd_ctrl_data, @@ -931,6 +931,8 @@ int board_fit_config_name_match(const char *name) return 0; else if (board_is_bone_lt() && !strcmp(name, "am335x-boneblack")) return 0; + else if (board_is_pb() && !strcmp(name, "am335x-pocketbeagle")) + return 0; else if (board_is_evm_sk() && !strcmp(name, "am335x-evmsk")) return 0; else if (board_is_bbg1() && !strcmp(name, "am335x-bonegreen")) diff --git a/board/ti/am335x/board.h b/board/ti/am335x/board.h index e13fcff02a..bab5b77f34 100644 --- a/board/ti/am335x/board.h +++ b/board/ti/am335x/board.h @@ -34,6 +34,11 @@ static inline int board_is_bone_lt(void) return board_ti_is("A335BNLT"); } +static inline int board_is_pb(void) +{ + return board_ti_is("A335PBGL"); +} + static inline int board_is_bbg1(void) { return board_is_bone_lt() && !strncmp(board_ti_get_rev(), "BBG1", 4); @@ -41,7 +46,7 @@ static inline int board_is_bbg1(void) static inline int board_is_beaglebonex(void) { - return board_is_bone() || board_is_bone_lt() || board_is_bbg1(); + return board_is_pb() || board_is_bone() || board_is_bone_lt() || board_is_bbg1(); } static inline int board_is_evm_sk(void) diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c index ad85b3a19a..aa187605d0 100644 --- a/board/ti/am335x/mux.c +++ b/board/ti/am335x/mux.c @@ -390,6 +390,9 @@ void enable_board_pin_mux(void) #else configure_module_pin_mux(mmc1_pin_mux); #endif + } else if (board_is_pb()) { + configure_module_pin_mux(mii1_pin_mux); + configure_module_pin_mux(mmc0_pin_mux); } else if (board_is_icev2()) { configure_module_pin_mux(mmc0_pin_mux); configure_module_pin_mux(gpio0_18_pin_mux); diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 158b7d4e8e..8d45b6fade 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -133,6 +133,8 @@ "setenv fdtfile am335x-bone.dtb; fi; " \ "if test $board_name = A335BNLT; then " \ "setenv fdtfile am335x-boneblack.dtb; fi; " \ + "if test $board_name = A335PBGL; then " \ + "setenv fdtfile am335x-pocketbeagle.dtb; fi; " \ "if test $board_name = BBBW; then " \ "setenv fdtfile