Re: [U-Boot] [PATCH 1/4] Add support for BeagleBoard.org PocketBeagle

2018-03-11 Thread David Summers

[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

2018-03-07 Thread Tom Rini
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

2018-03-07 Thread Jason Kridner
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 
---
 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