Skip to contentSkip to conversation

ventana: Add Gateworks Ventana family support

PATCH New Tim Harvey 2 participants 2 messages Mar 6, 2014 – Mar 12, 2014

lore
Share & tools
lore

Tim Harvey

author
#0 lore raw

PATCH v5 1/1 ventana: Add Gateworks Ventana family support

Gateworks Ventana is a product family based on the i.MX6. This patch adds support for all boards in the Ventana family. Where possible, data from the boards EEPROM is used to determine various details about the board at runtime.

---
Changed in v5:
- rebased on latest u-boot-imx
- only init pmic on baseboards that are known to use it
- add memory config for IMX6Q+512MB for gwventanaq config

Changes in v4:
- fixed FP calculation
- fixed invalid return type for read_eeprom()
- use enum and defines for GSC HWMON registers/bits
- removed unused CONFIG_SPI_FLASH_WINBOND_ERASESIZE
- use defines for I2C bus numbers
- added PCIE support
- moved board-specific gpio iomux to board_init as imx6_pcie_toggle_reset needs it

Changes in v3:
- update README fixing typo and removing Freescale document link
- use debug() instead of printf()
- be more explicit with hwmon error output and use macro for min/max percent
- use #defines for GSC slave address and registers
- remove extern from function prototype
- moved gpio config into structure for better readability
- use enum for eeprom bit configs and array to map to fdt property alias
- add SATA regardless of cpu type
- add FIT support regardless of flash type
- display PMIC and device id in misc_init_r() instead of pmic driver

Changes in v2:
- rebase on top of u-boot-imx
- use switch..case for model specific init instead of strcmps
- move checkboard to late init allowing i2c_setup to be moved to board_init() eeprom reading to be done after relocation, and move eeprom struct from data segment
- move SPI/I2C init to board_init()
- update README
- remove unnecessary console overwrite function
- fix multiline comment style and eliminate >80 char lines
- eliminate unnecessary loop in board_mmc_init()
- add missing copyright to clocks.cfg
- avoid duplicating cfg files where no changes exist
- added missing SPDX header to ventana_eeprom.h
- use puts() instead of printf() for constant strings
- remove messages regarding /dev/i2c-<n>
- use get_ram_size() for determing ram_size
- cleanup gpio configuration using tables for baseboard pinmux combinations
- remove phy init errata as it doesn't pertain to use case
(it is for 802.3az which IMX6 MAC does not support)
- added pfuze100_pmic driver using PMIC API
- moved GSC code (gsc command and i2c_read/i2c_write wrappers into own file)
- allow user to quiet down some of the data displayed
- remove display support for now - will revisit later
- remove display of boot mode info - may revisit later
- replace bitwise fields in eeprom structure with bit definitions

---
 board/gateworks/gw_ventana/Makefile         |   10 +
 board/gateworks/gw_ventana/README           |   55 ++
 board/gateworks/gw_ventana/clocks.cfg       |   42 +
 board/gateworks/gw_ventana/gsc.c            |  129 +++
 board/gateworks/gw_ventana/gsc.h            |   64 ++
 board/gateworks/gw_ventana/gw_ventana.c     | 1263 +++++++++++++++++++++++++++
 board/gateworks/gw_ventana/gw_ventana.cfg   |   44 +
 board/gateworks/gw_ventana/ventana_eeprom.h |  106 +++
 boards.cfg                                  |    5 +
 include/configs/gw_ventana.h                |  425 +++++++++
 10 files changed, 2143 insertions(+)
 create mode 100644 board/gateworks/gw_ventana/Makefile
 create mode 100644 board/gateworks/gw_ventana/README
 create mode 100644 board/gateworks/gw_ventana/clocks.cfg
 create mode 100644 board/gateworks/gw_ventana/gsc.c
 create mode 100644 board/gateworks/gw_ventana/gsc.h
 create mode 100644 board/gateworks/gw_ventana/gw_ventana.c
 create mode 100644 board/gateworks/gw_ventana/gw_ventana.cfg
 create mode 100644 board/gateworks/gw_ventana/ventana_eeprom.h
 create mode 100644 include/configs/gw_ventana.h
board/gateworks/gw_ventana/Makefile new file +10 -0
new file mode 100644
index 0000000..e8dab89
@@ -0,0 +1,10 @@
+#
+# Copyright (C) 2012-2013, Guennadi Liakhovetski <[email protected]>
+# (C) Copyright 2012-2013 Freescale Semiconductor, Inc.
+# Copyright (C) 2013, Gateworks Corporation
+#
+# SPDX-License-Identifier:  GPL-2.0+
+#
+
+obj-y  := gw_ventana.o gsc.o
+
board/gateworks/gw_ventana/README new file +55 -0

55 lines not on this page · raw message

board/gateworks/gw_ventana/clocks.cfg new file +42 -0

42 lines not on this page · raw message

board/gateworks/gw_ventana/gsc.c new file +129 -0

129 lines not on this page · raw message

board/gateworks/gw_ventana/gsc.h new file +64 -0

64 lines not on this page · raw message

board/gateworks/gw_ventana/gw_ventana.c new file +1263 -0

1,263 lines not on this page · raw message

board/gateworks/gw_ventana/gw_ventana.cfg new file +44 -0

44 lines not on this page · raw message

board/gateworks/gw_ventana/ventana_eeprom.h new file +106 -0

106 lines not on this page · raw message

boards.cfg +5 -0
index d28e09b..a7be5a3 100644
@@ -320,6 +320,11 @@ Active  arm         armv7          mx6         freescale       mx6qsabreauto
 Active  arm         armv7          mx6         freescale       mx6sabresd          mx6dlsabresd                         mx6sabresd:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL                                                             Fabio Estevam <[email protected]>
 Active  arm         armv7          mx6         freescale       mx6sabresd          mx6qsabresd                          mx6sabresd:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q                                                           Fabio Estevam <[email protected]>
 Active  arm         armv7          mx6         freescale       mx6slevk            mx6slevk                             mx6slevk:IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL                                                                   Fabio Estevam <[email protected]>
+Active  arm         armv7          mx6         gateworks       gw_ventana          gwventanadl                          gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6DL,DDR_MB=512                                                  Tim Harvey <[email protected]>
+Active  arm         armv7          mx6         gateworks       gw_ventana          gwventanadl1g                        gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6DL,DDR_MB=1024                                                 Tim Harvey <[email protected]>
+Active  arm         armv7          mx6         gateworks       gw_ventana          gwventanaq                           gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=512                                                   Tim Harvey <[email protected]>
+Active  arm         armv7          mx6         gateworks       gw_ventana          gwventanaq1g                         gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=1024                                                  Tim Harvey <[email protected]>
+Active  arm         armv7          mx6         gateworks       gw_ventana          gwventanaq1gspi                      gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=1024,SPI_FLASH                                        Tim Harvey <[email protected]>
 Active  arm         armv7          mx6         solidrun        hummingboard        hummingboard_solo                    hummingboard:IMX_CONFIG=board/solidrun/hummingboard/solo.cfg,MX6S,DDR_MB=512                                                      Jon Nettleton <[email protected]>
 Active  arm         armv7          omap3       -               overo               omap3_overo                          -                                                                                                                                 Steve Sakoman <[email protected]>
 Active  arm         armv7          omap3       -               pandora             omap3_pandora                        -                                                                                                                                 Grazvydas Ignotas <[email protected]>
include/configs/gw_ventana.h new file +425 -0

425 lines not on this page · raw message

Signature · 1 line
1.8.3.2
#1 lore raw

PATCH v5 1/1 ventana: Add Gateworks Ventana family support

Hi Tim,

Quoted 7 lines · Tim Harvey

Gateworks Ventana is a product family based on the i.MX6. This patch adds support for all boards in the Ventana family. Where possible, data from the boards EEPROM is used to determine various details about the board at runtime.

---

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================