summaryrefslogtreecommitdiff
path: root/board/gateworks
AgeCommit message (Collapse)Author
2022-09-18board: gateworks: venice: add fixup for GW73xx-C+Tim Harvey
The GW73xx-C revision and onward replaced the 5-port PCIe switch with a 4-port (dropping PCIe to one of the miniPCIe sockets) due to part availability. This moved the PCI bus of the GbE eth1 device. Use a fixup to adjust the dt accordingly so that local-mac-address assigned from dt works on new revision boards. While we are at it, rename 'blob' to 'fdt' for clarity. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-06-28gw_ventana: Migrate to using CONFIG_EXTRA_ENV_TEXTTom Rini
Move the environment text over from being set via CONFIG_EXTRA_ENV_SETTINGS in include/configs/gw_ventana.h and over to plain text in board/gateworks/gw_ventana/gw_ventana.env. This lets us drop CONFIG_EXTRA_ENV_SETTINGS_COMMON as everything resides in a single environment file now. Cc: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Tim Harvey <tharvey@gateworks.com>
2022-06-14imx: imx8mm/n/p-venice: enable pinctrl_wdog in SPLPeng Fan
Mark pinctrl_wdog as u-boot,dm-spl to clean up board code, The set_wdog_reset() function is not necessary as this is handled by the imx_watchdog.c driver due to the 'fsl,ext-reset-output' property being set. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-05-20board: gateworks: gw_ventana: remove obsolete fileTim Harvey
commit 61cf22505339 ("board: gateworks: gw_ventana: use comomn GSC driver") moved to the common GSC driver and moved remaining board-specific functions to eeprom.c. The functions in gsc.c are no longer used and it was removed from the Makefile but the file itself was not removed. Remove it now. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-05-20board: gateworks: gw_ventana: add support for GPY111 PHYTim Harvey
The MaxLinear GPY111 PHY is being used on some boards due to part availability. Add support for this PHY which requires a longer reset post-delay and RGMII delay configuration. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-05-20board: gateworks: venice: enable SPL_DM_SERIALTim Harvey
The uart2 and its pinmux are already marked with u-boot,dm-spl but we need to move the call to preloader_console_init() after spl_early_init() to avoid a board hang as dm can't be used until after spl_early_init() due to the uart driver not enabling the uart clock. Remove the manual config of the UART pinmux now that it is no longer needed. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-28led: Drop led_default_state()Marek Vasut
This function is empty, drop it. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Cc: Sean Anderson <seanga2@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Steven Lawrance <steven.lawrance@softathome.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2022-04-21board: gateworks: venice: add imx8mp-venice-gw740x supportTim Harvey
The GW74xx is based on the i.MX 8M Plus SoC featuring: - LPDDR4 DRAM - eMMC FLASH - Gateworks System Controller - PCIe Gen 3.0 switch (build option) - USB 3.0 HUB - USB Type-C front panel connector - GPS - 3-axis accelerometer - CAN bus - 6x GbE RJ45 front-panel jacks - 1x IMX8M FEC RGMII GbE (with Passive PoE) - 5x IMX8M EQOS RGMII 6 port GbE Switch (1x with 802.3af class 5 Active PoE) - RS232/RS485/RS422 serial transceiver - MIPI header (DSI/CSI/GPIO/PWM/I2S) - DigI/O header (UART/GPIO/I2C/ADC) - 802.11ac WiFi - Bluetooth BLE - 3x MiniPCIe sockets with PCI/USB - 1x M.2 Socket with USB2.0, PCIe, and dual-SIM - PMIC - Wide range DC input supply (8V to 60V DC) Do the following to add support for this and future imx8mp-venice boards: - add dts - add DRAM config - add PMIC config - add IMX8MP support in spl.c and venice.c Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-21board: gateworks: venice: add additional levels for dtb name matchTim Harvey
Gateworks produces many products from a single PCB with subloaded components. Add an additional two levels of dtb name matching so that for example a GW7400-A matches the dtb name of gw74xx.dtb Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-21board: gateworks: gw_ventana: use comomn GSC driverTim Harvey
Use the common GSC driver. This allows us to do some additional cleanup: - use the GSC driver functions - move waiting for the EEPROM to the SPL int (it will always be ready after this) - move eeprom functions into eeprom file and elimate GSC_I2C_BUS - eliminate some redundant EEPROM reads (the EEPROM must be read in SPL before relocation, in SPL after relocation, and in U-Boot init. All subsequent uses can use the global structure) - remove unnecessary header files and alphabatize includes Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-21board: gateworks: venice: use common GSC driverTim Harvey
Use the common GSC driver. This allows us to do some additional cleanup: - rename gsc{.c,.h} to eeprom{.c.h} for clarity - collapse eeprom_get_dev - remove unnecessary header files and alphabatize includes Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-13board: gateworks: venice: add imx8mm-gw7903 supportTim Harvey
The GW7903 is based on the i.MX 8M Mini SoC featuring: - LPDDR4 DRAM - eMMC FLASH - microSD socket with voltage select support - Gateworks System Controller - M.2 A-E Socket with USB2.0 and PCIe - MiniPCIe Socket with PCIe, USB2.0, and SIM - IMX8M FEC - RS232/RS485/RS422 serial transceiver - LIS2DE12 3-axis accelerometer - front panel LED's - off-board isolated digital I/O - Wide range DC power input - 802.3at PoE - PMIC Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-04-12board: gateworks venice: add support for GPY111 phyTim Harvey
The TI DP83867 phy has been replaced with the MaxLinear GPY111 phy due to part availability. Add support for it by adding LED config and dt-prop based internal delay config tx-delay/rx-delay per PHY ID. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Acked-by: Peng Fan <peng.fan@nxp.com>
2022-04-12board: venice: add spl_board_loader_nameTim Harvey
Implement spl_board_loader_name to provide more meaningful device names vs MMC1 and MMC2. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-12board: gateworks: gw_ventana: move ft_early_fixups out of commonTim Harvey
DM is not used for the SPL and a generic DT is used in the SPL which requires no fixups. Remove the call in the SPL and move the function into the U-Boot code. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-12board: gateworks: gw_ventana: move GPIO config out of commonTim Harvey
Move gpio configuration out of common and into u-boot code as it is not used by the SPL. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-12board: gateworks: gw_ventana: move SPL uart config out of commonTim Harvey
Since DM_SERIAL is used for U-Boot we no longer need legacy UART code in common.c shared by the SPL and U-Boot. Move the legacy UART config to the non-DM SPL. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-12board: gateworks: gw_ventana: convert to DM_I2CTim Harvey
convert to DM_I2C for U-Boot while leaving SPL legacy I2C: - Move I2C config from common to SPL - Move PMIC config from common to SPL (no need to re-configure pmic) - add DM_I2C support to eeprom/gsc functions shared by SPL and U-Boot Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-03-31board: gateworks: venice: determine dram size at runtimeTim Harvey
The SPL does not update the memory node with the dram size from EEPROM but instead we can use get_ram_size which does a simple memory test to determine the available RAM. Update PHYS_SDRAM_SIZE to 4GiB as that is the max used on the Venice boards. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-03-31board: gw_ventana: gsc: fix GSC read/write functionsTim Harvey
commit 7c84319af9c7 ("dm: gpio: Correct use of -ENODEV in drivers") changed the return code for an I2C NAK from -ENODEV to -EREMOTEIO. Update the gsc_i2c_read and gsc_i2c_write functions for this change to properly retry the transaction on a NAK meaning the GSC is busy. Fixes: 7c84319af9c7 ("dm: gpio: Correct use of -ENODEV in drivers") Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-02-19board: gateworks: venice: add imx8mn-gw7902 supportTim Harvey
The GW7902 is based on the i.MX 8M Mini / Nano SoC featuring: - LPDDR4 DRAM - eMMC FLASH - Gateworks System Controller - LTE CAT M1 modem - USB 2.0 HUB - M.2 Socket with USB2.0, PCIe, and dual-SIM - IMX8M FEC - PCIe based GbE - RS232/RS485/RS422 serial transceiver - GPS - CAN bus - WiFi / Bluetooth - MIPI header (DSI/CSI/GPIO/PWM/I2S) - PMIC To add support for the i.MX8M Nano GW7902: - Add imx8mn-venice dts/defconfig/include - Add imx8mn-gw7902 dts - Add imx8mn-2gb lpddr4 dram configs - Add misc support for IMX8M Nano SoC - rename imx8mm-venice.c to venice.c as it is no longer imx8mm specific - update README with differences for IMX8MN vs IMX8MM Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2022-02-08imx: Don't define __ASSEMBLY__ in source filesSimon Glass
This is supposed to be a build-system flag. Move it there so we can define it before linux/kconfig.h is included. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-10Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-07imx8mm_venice: switch to use binman to pack imagesTim Harvey
Use binman to pack images. Note that imx8mm_venice supports several boards via multiple DTB's thus in the fit node we must use: - fit,fdt-list = "of-list" - fdt-SEQ - config-SEQ Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-12-19fdt_support: Remove FDT_STATUS_FAIL_ERROR_CODEMarek Behún
Since no one uses this feature and I am not aware of any parsers of this in Linux, remove it. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Pratyush Yadav <p.yadav@ti.com> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Michael Walle <michael@walle.cc> Cc: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-10-07imx: ventana: fix USB hub resetTim Harvey
Remove board_ehci_hcd_init function that is not used with DM_USB and replace its functionality with device-tree configuraton that treats USB HUB RST# as a gpio enable for the usbh1 vbus regulator. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07imx: ventana: update LVDS supportTim Harvey
Enable LVDS display detection and panel-specific configuration Make I2C based LVDS detection and configuration model specific: - not all boards support LVDS connectors; fail detection that do not support LVDS to avoid misdetecting an I2C device as a display - GPIO configuration is panel specific; use panel name where needed Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07imx: ventana: remove phy gpio reset from dtTim Harvey
We configure network phy configuration for internal delay, LED config, and clock config. If we leave the phy reset gpio defined in dt the kernel may issue a reset to the phy and break these configs. While some may be handled by a kernel phy driver, others may not (typically LED config). Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07board: gateworks: venice: update thermal temp thresholds per cpu gradeTim Harvey
Update the passive/critical thermal zone dt config per CPU temperature grade. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07board: gateworks: venice: do not overwrite serial#Tim Harvey
Do not overwrite existing serial# env to avoid: ## Error: Can't overwrite "serial#" ## Error inserting "serial#" variable, errno=1 Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07board: gateworks: venice: display hwmon details by defaultTim Harvey
Display hwmon values by default when using the 'gsc' command. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-09-30WS cleanup: remove trailing empty linesWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2021-08-31imx: Finish migration of IMX_CONFIG to KconfigTom Rini
- Provide a default Kconfig value of the default script - Largely continue to define this via the board Kconfig file - For the boards that select a script based on defconfig rather than TARGET, keep this within the defconfig. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-08-09board: gateworks: venice: add board model to dtTim Harvey
Add the specific board model from EEPROM config to the device-tree to make it easier to access from Linux userspace. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09board: gateworks: venice: add imx8mm-gw7902 supportTim Harvey
The GW7902 is based on the i.MX 8M Mini / Nano SoC featuring: - LPDDR4 DRAM - eMMC FLASH - Gateworks System Controller - LTE CAT M1 modem - USB 2.0 HUB - M.2 Socket with USB2.0, PCIe, and dual-SIM - IMX8M FEC - PCIe based GbE - RS232/RS485/RS422 serial transceiver - GPS - CAN bus - WiFi / Bluetooth - MIPI header (DSI/CSI/GPIO/PWM/I2S) - PMIC Do the following to add support for it: - add dts - add PMIC config Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09board: gateworks: venice: add board model/serial# to envTim Harvey
Add board model/serial# strings to env. Move the creation of the strings to gsc_read() and the display of the info into gsc_info() so they are available to U-Boot proper. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09board: gateworks: venice: use bus numbers vs namesTim Harvey
replace looking up i2c bus name by bus number and define bus numbers and eeprom address with #defines. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09board: gateworks: venice: get mem size from dtTim Harvey
Get mem size from dt which SPL updated per EEPROM config. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: add support for GW54xx-G revisionTim Harvey
The GW54xx-G revision has the foolowing changes: - replaces the EOL GbE PHY with an updated part (requires an enable pin) - replaces the EOL analog video decoder with an updated part (requires dt prop) - add power control to miniPCIe socket Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: add support for GW53xx-G revisionTim Harvey
The GW53xx-G revision has the foolowing changes: - replaces the EOL GbE PHY with an updated part (requires an enable pin) - replaces the EOL analog video decoder with an updated part (requires dt prop) - add power control to miniPCIe socket Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: add GW5913 supportTim Harvey
The GW5913 is a Single Board Computer based on the NXP i.MX6Q/DL SoC with the following features: - DDR3 DRAM - NAND FLASH (256MiB or 2048MiB) - Gateworks System Periperhal Controller - front panel LED's - front panel pushbutton - Digital I/O connector (I2C/GPIO/UART) - u-blox Zoe-M8Q GPS - 1x RJ45 GbE - 1x MiniPCIe socket with PCIe USB 2.0 and nanoSIM socket - Passive PoE and wide-range DC power supply Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: add GW5912 supportTim Harvey
The GW5912 is a Single Board Computer based on the NXP i.MX6Q/DL SoC with the following features: - DDR3 DRAM - NAND FLASH (256MiB or 2048MiB) - microSD socket - Gateworks System Periperhal Controller - front panel LED's - front panel pushbutton - RS232 connector (2x UARTs) - CAN/RS485 connector - Digital I/O connector (I2C/GPIO) - SPI connector - u-blox Zoe-M8Q GPS - LIS2DE12 Accellerometer - 1x FEC GbE RJ45 with 802.3at Active PoE - 1x PCI GbE RJ45 with Passive PoE - 5x MiniPCIe socket with PCIe/USB 2.0 - 1x MiniPCIe socket with PCIe/USB 2.0 and SIM socket - Aux power input with wide-range DC power supply Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: add GW5910 supportTim Harvey
The GW5910 is a Single Board Computer based on the NXP i.MX6Q/DL SoC with the following features: - DDR3 DRAM - NAND FLASH (256MiB or 2048MiB) - microSD socket - Gateworks System Periperhal Controller - front panel LED's - front panel pushbutton - RS232 connector (2x UARTs) - Digital I/O connector (I2C/GPIO) - SPI connector - u-blox Zoe-M8Q GPS - LIS2DE12 Accellerometer - TI CC1352 ARM Cortex-M4 multiprotocol sub-1GHz / 2.4GHz wireless MCU - On-board brcmfmac WiFi and BT module - RGMII RJ45 GbE - 1x MiniPCIe socket with PCIe/USB 2.0 - 1x MiniPCIe socket with USB 2.0 and nanoSIM socket - Passive PoE and wide-range DC power supply Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: use dt for hwmonTim Harvey
Use dt-bindings for GSC hwmon devices. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: remove hard-coded flexcan standby pinTim Harvey
Flexcan pinmux is configured in kernel dt. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: remove hard-coded analog video codec enableTim Harvey
Analog video codec enable is configured in kernel dt. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: remove hard-coded USB OTG pinmuxTim Harvey
pinmux is now done via dt. Add missing OTG_OC pinmux for boards that use it. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: remove hard-coded PCI resetTim Harvey
PCIe reset configuration is handled via dt now. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: remove hard-coded USB HUBRST# gpio configTim Harvey
The USB HUB reset is handled via dt now. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-08-09imx: ventana: replace hard-coded LED config with dt based configTim Harvey
Use device-tree LED config instead of hard-coded board-specific config. Signed-off-by: Tim Harvey <tharvey@gateworks.com>