aboutsummaryrefslogtreecommitdiff
path: root/board/gateworks
AgeCommit message (Collapse)AuthorFilesLines
2023-03-30arm64: imx8mp: Drop EQoS GPR[1] board workaroundMarek Vasut1-15/+0
The EQoS interface mode is now configured in common board_interface_eth_init() and called by EQoS MAC driver when appropriate. Drop the board side duplicates if the same functionality. Signed-off-by: Marek Vasut <marex@denx.de>
2023-03-30configs: remove gwventana_gw5904_defconfigTim Harvey1-1/+0
Now that the gwventana_emmc_defconfig is the same as the gwventana_gw5904_defconfig we can remove the latter. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2023-03-30board: gateworks: venice: enable XWAY PHY supportTim Harvey1-16/+0
Enable XWAY PHY driver and remove board specific config from board_phy_config weak override. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-03-03venice: Simplify conditions for network initSimon Glass1-3/+3
The conditions in this code do not align when doing an SPL build with split config. Use __maybe_unused to avoid needing to be so explicit. Of course a better solution would be to refactor all of this to avoid using #ifdef. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-19board: gateworks: venice: move README to RSTTim Harvey2-35/+1
Move board/gateworks/venice/README to RST documentation. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2023-02-02board: gw_ventana: enable MV88E61XX DSA supportTim Harvey1-32/+18
Add MV88E61XX DSA support: - update dt to provide internal MDIO bus and port handles. U-Boot requires a more restrictive subset of the dt bindings required by Linux for the sake of simplifying code - update defconfig to remove old driver and enable new one - replace mv88e61xx_hw_reset weak override with board_phy_config support for register configuration that is outside the scope of the DSA driver Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
2023-01-31board: gateworks: venice: poll I2C lines to wait for GSC firmwareTim Harvey1-14/+25
In some situations the GSC firmware where the EEPROM containing the model and DRAM configuration may not be ready by the time the SoC is ready to talk to it over I2C. Instead of a hard delay, poll the I2C lines to wait until they are released to avoid the I2C drivers 'Arbitation lost' error message. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-31imx: Suggest the NXP ATF github repoFabio Estevam1-1/+1
As explained in the text at the bottom of the page https://source.codeaurora.org/external/imx/imx-atf: "QUIC repositories on this site will not receive any updates after March 31, 2022, and will be deleted on March 31, 2023." Point to the NXP ATF github repo instead. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Oliver Graute <oliver.graute@kococonnector.com> Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2023-01-30ARM: imx: Remove PMIC reset configuration from board filesMarek Vasut1-3/+0
The PCA9450 reset configuration can now be performed by the PCA9450 PMIC driver itself, remove the hard-coded variant from board code and let the PMIC driver perform this task using one-liner: ``` $ sed -i '/set WDOG_B_CFG to cold reset/,+2 d' $(git grep -l PCA9450_RESET_CTRL.*0xA1 board/) ``` Venice and i.MX93 EVK required slight manual fix up. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2022-12-23global: Migrate CONFIG_POWER_PFUZE100_I2C_ADDR to CFGTom Rini1-2/+2
Perform a simple rename of CONFIG_POWER_PFUZE100_I2C_ADDR to CFG_POWER_PFUZE100_I2C_ADDR Signed-off-by: Tom Rini <trini@konsulko.com>
2022-12-23global: Migrate CONFIG_POWER_LTC3676_I2C_ADDR to CFGTom Rini1-2/+2
Perform a simple rename of CONFIG_POWER_LTC3676_I2C_ADDR to CFG_POWER_LTC3676_I2C_ADDR Signed-off-by: Tom Rini <trini@konsulko.com>
2022-11-08imx: imx8m{m,n,p}_venice: migrate to CONFIG_EXTRA_ENV_TEXTTim Harvey1-0/+34
Move the majority of the environment from the board headers to a separate text file. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-11-08board: gateworks: venice: remove redundance adjustment of thermal trip pointsTim Harvey1-16/+0
commit 0543a1ed2787 ("imx8m: fixup thermal trips") moved updating the thermal trip points to all IMX8M so we can remove it from our board specific dt config. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-10-24Merge tag 'u-boot-imx-20221024' of ↵Tom Rini5-17/+22
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-20221024 ------------------- CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/13916 - for 2022.01 - rework Kontron boards (mx6 and mx8) - fixes for Toradex - fixes (SPI, CAAM, ) - sync DT with Linux - fixes for Gateworks GW7903 and GW7904 PMIC - Engicam i.Core MX8M Plus EDIMM2.2
2022-10-24board: gateworks: venice: add imx8mm-gw7904 supportTim Harvey1-1/+2
The GW7904 is based on the i.MX 8M Mini SoC featuring: - LPDDR4 DRAM - eMMC FLASH - microSD connector with UHS support - LIS2DE12 3-axis accelerometer - Gateworks System Controller - IMX8M FEC - 2x RS232 off-board connectors - PMIC - 10x bi-color LED's - 1x miniPCIe socket with PCIe and USB2.0 - 802.3at Class 4 PoE - 10-30VDC input via barrel-jack Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-10-24board: gateworks: venice: add GW7903 PMICTim Harvey1-4/+5
The GW7903 has a BD71847 PMIC on I2C1. Adjust the model compare strings to add it. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2022-10-21board: gateworks: gw_ventana: fix building with GCC 12.2Heinrich Schuchardt1-2/+1
Building with GCC 12.2 results in an error board/gateworks/gw_ventana/gw_ventana.c:636:68: error: the comparison will always evaluate as 'true' for the address of 'pwm_padmux' will never be NULL [-Werror=address] 636 | } else if (hwconfig_subarg_cmp(arg, "mode", "pwm") && | ^~ Remove the superfluous check. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-By: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-10-21board: gateworks: gw_ventana: fix mmc env devTim Harvey1-0/+5
Fix the MMC env device for boards with eMMC by adding a board_mmc_get_env_dev override to return the boot device as the MMC env device. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-10-20board: gateworks: venice: update GW74xx PMIC configTim Harvey1-9/+7
Update the GW74xx PMIC configuration: - increase VDD_SOC DVS1 to 0.85V per datasheet - increase VDD_SOC DVS0 to 0.95V before first DRAM access - increase VDD_ARM DVS0 to 0.95V to support kernel overdrive voltage (OD) - remove unnecessary changes to VDD_DRAM as we don't use 3GHz DRAM - remove unnecessary change to LDO2 as it is unused Signed-off-by: Tim Harvey <tharvey@gateworks.com> v2: update commit log with more detail
2022-10-20board: gateworks: venice: rename eeprom_initTim Harvey4-4/+4
rename eeprom_init to avoid build failure when using CMD_EEPROM. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-09-18board: gateworks: venice: add fixup for GW73xx-C+Tim Harvey3-7/+46
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_TEXTWIP/2022-06-28-Kconfig-migrationsTom Rini1-0/+145
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 Fan1-29/+0
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 Harvey1-471/+0
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 Harvey1-6/+21
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 Harvey1-21/+2
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 Vasut1-2/+0
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 Harvey8-10/+1968
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 Harvey1-0/+8
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 Harvey9-177/+261
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 Harvey6-763/+398
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 Harvey5-624/+2997
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 Harvey1-0/+16
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 Harvey1-0/+14
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 Harvey4-155/+146
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 Harvey3-88/+85
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 Harvey3-13/+11
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 Harvey7-292/+331
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 Harvey1-11/+2
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 Harvey1-2/+2
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 Harvey11-7/+2456
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 Glass1-1/+0
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'WIP/10Jan2022Tom Rini1-2/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-07imx8mm_venice: switch to use binman to pack imagesTim Harvey3-3/+11
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ún1-2/+1
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 Harvey1-35/+0
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 Harvey1-17/+42
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 Harvey1-0/+8
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 Harvey1-0/+18
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 Harvey1-1/+2
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>