summaryrefslogtreecommitdiff
path: root/board/ge
AgeCommit message (Collapse)Author
2019-08-11env: Drop environment.h header file where not neededSimon Glass
This header file is now only used by files that access internal environment features. Drop it from various places where it is not needed. Acked-by: Joe Hershberger <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2019-08-11env: Move env_set() to env.hSimon Glass
Move env_set() over to the new header file. Acked-by: Joe Hershberger <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2019-06-23Convert to use fsl_esdhc_imx for i.MX platformsYangbo Lu
Converted to use fsl_esdhc_imx for i.MX platforms. Signed-off-by: Yangbo Lu <[email protected]> Tested-by: Steffen Dirkwinkel <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Reviewed-by: Martyn Welch <[email protected]> Acked-by: Jason Liu <[email protected]>
2019-04-13mx53ppd: bring dock out of reset at bootIan Ray
Configure GPIO BUFFERED_HOST_CONTROLLED_RESET_TO_DOCKING_CONNECTOR_N to bring the dock out of reset at boot. Signed-off-by: Ian Ray <[email protected]>
2019-04-13board: ge: store version information in fdtIan Ray
Add board-specific FDT function to store U-Boot version in device tree. Signed-off-by: Ian Ray <[email protected]>
2019-04-13board: ge: ppd: Enable CONFIG_DM_MMCIan Ray
Use MMC device model, and remove USDHC pin configuration code since the pinctrl driver is used. Signed-off-by: Ian Ray <[email protected]>
2019-04-13board: ge: bx50v3: Enable CONFIG_DM_SPI, CONFIG_DM_SPI_FLASHIan Ray
Use SPI flash device model, and remove SPI pin configuration code since the pinctrl driver is used. Signed-off-by: Ian Ray <[email protected]>
2019-04-13board: ge: bx50v3: Enable CONFIG_DM_GPIOIan Ray
Enable CONFIG_DM_GPIO as a pre-requisite for enabling CONFIG_DM_SPI. Add explicit gpio_requests. Signed-off-by: Ian Ray <[email protected]>
2019-04-13board: ge: bx50v3: Enable CONFIG_DM_MMCIan Ray
Use MMC device model, and remove USDHC pin configuration code since the pinctrl driver is used. Signed-off-by: Ian Ray <[email protected]>
2019-01-01imx: mx53ppd: fix build errorPeng Fan
board/ge/mx53ppd/mx53ppd.c: In function 'board_late_init': board/ge/mx53ppd/mx53ppd.c:359:23: error: passing argument 2 of 'read_vpd' from incompatible pointer type [-Werror=incompatible-pointer-types] res = read_vpd(&vpd, vpd_callback); ^~~~~~~~~~~~ In file included from board/ge/mx53ppd/mx53ppd.c:37:0: board/ge/mx53ppd/../../ge/common/vpd_reader.h:19:5: note: expected 'int (*)(struct vpd_cache *, u8, u8, u8, size_t, const u8 *) {aka int (*)(struct vpd_cache *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}' but argument is of type 'int (*)(void *, u8, u8, u8, size_t, const u8 *) {aka int (*)(void *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}' int read_vpd(struct vpd_cache *cache, ^~~~~~~~ cc1: all warnings being treated as errors Signed-off-by: Peng Fan <[email protected]> Acked-by: Stefano Babic <[email protected]>
2019-01-01board: ge: Move VPD reading to the vpd_readerDenis Zalevskiy
Merge functionality duplicated in bx50v3 and mx53ppd: the logic is the same except that process_vpd is called at different phases. Also read_vpd could end up in error, so there is no VPD data in this case - it shouldn't be processed. Signed-off-by: Denis Zalevskiy <[email protected]> Signed-off-by: Fabien Lahoudere <[email protected]>
2018-12-17board: ge: Move VPD EEPROM configuration to the defconfigDenis Zalevskiy
Use standard configuration logic to define EEPROM constants. Names are based on VPD_EEPROM_ prefix because EEPROM_ is already used by i2c_eeprom driver. Signed-off-by: Denis Zalevskiy <[email protected]> Signed-off-by: Fabien Lahoudere <[email protected]>
2018-12-17board: ge: Remove EEPROM bus param from read_vpd()Denis Zalevskiy
The bus is statically defined, so remove redundant parameters from read_vpd() for PPD and Bx50v3. Signed-off-by: Denis Zalevskiy <[email protected]> Signed-off-by: Fabien Lahoudere <[email protected]>
2018-10-22board: ge: bx50v3: fix initialization of i2c bus0Dan Cimpoca
I2C bus 0 was not initialized correctly. There is an offset between i2c index and the structure number of pad info. So i2c bus 0 can be in an inconsistent state. This problem become visible on B{4,6}50v3 with the CPUC HW watchdog enabled. Sometimes when the CPUC HW watchdog interrupted the boot process, U-Boot was not able to read VPD from I2C/EEPROM and the system failed to boot up again, because a device connected to that bus was stuck in data transfer state (from previous boot attempt) and there was no method to recover (struct mxc_i2c_bus::idle_bus_fn was not set) courtesy of incorrect initialization. Signed-off-by: Dan Cimpoca <[email protected]> Signed-off-by: Fabien Lahoudere <[email protected]>
2018-10-22board: ge: bx50v3: b{4,6}50v3 modelineIan Ray
The b{4,6}50v3 kernel framebuffer console requires a modeline otherwise the LVDS panel shows garbage. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Fabien Lahoudere <[email protected]>
2018-10-22board: ge: bx50v3: correct LDB clockIan Ray
Use Video PLL to provide 65MHz for all displays. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Fabien Lahoudere <[email protected]>
2018-10-22board: ge: bx50v3: Change maintainerFabien Lahoudere
While using ./scripts/get_maintainer.pl I detect that the Maintainer name and address for bx50v3 boards are not valid. The new maintainer for GE bx50v3 products must be Ian Ray. Signed-off-by: Fabien Lahoudere <[email protected]>
2018-06-27imx: bx50v3: fix MaintainersStefano Babic
This fixes the warnings: WARNING: no status info for 'ge_bx50v3' WARNING: no maintainers for 'ge_bx50v3 Signed-off-by: Stefano Babic <[email protected]>
2018-05-17board: ge: bx50v3: remove redundant targetsIan Ray
This replaces TARGET_GE_B{4,6,8}50V3 with common TARGET_GE_BX50V3. The boards are identified automatically at runtime. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-17board: ge: bx50v3: configure video arguments using VPDIan Ray
Configure video arguments at run-time instead of at compile-time. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-17board: ge: bx50v3: use VPD instead of compile-time checksIan Ray
B{46}50v3s have an internal LCD that needs to be configured, in comparison with B850v3 which has only external displays. Use VPD instead of `CONFIG_TARGET_GE_B{4,6,8}50V3' compile-time checks to correct initialize video based on the monitor type. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-17board: ge: bx50v3: detect the monitor type by reading VPD earlierNandor Han
Move the VPD reading earlier in order to establish the monitor type as soon as possible. The configuration of the specific environment variables needs to be done later after the environment is configured. Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-17board: ge: bx50v3: fix display support for b{46}50v3Ian Ray
Enable Video PLL to fix non-working display support for Bx50v3 internal displays. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-17board: ge: bx50v3: unify two switch statementsNandor Han
Simplify process_vpd() by unifying the switch statements handling product specific configurations. Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-17board: ge: bx50v3: rename detect_baseboard functionIan Ray
The detect_baseboard() function actually determines whether there is an internal LCD panel or not. Rename for clarity. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2018-04-15Merge git://git.denx.de/u-boot-imxTom Rini
Signed-off-by: Tom Rini <[email protected]>
2018-04-15board: ge: bx50v3: enable backlight on demandIan Ray
Enable display backlight only if a message needs to be displayed. The kernel re-initializes the backlight, which results in some unwanted artifacts. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-04-08net: Move enetaddr env access code to env config instead of net configAlex Kiernan
In order that we can use eth_env_* even when CONFIG_NET isn't set, move these functions to environment code from net code. This fixes failures such as: board/ti/am335x/built-in.o: In function `board_late_init': board/ti/am335x/board.c:752: undefined reference to `eth_env_set_enetaddr' u-boot/board/ti/am335x/board.c:766: undefined reference to `eth_env_set_enetaddr' which caters for use cases such as: commit f411b5cca48f ("board: am335x: Always set eth/eth1addr environment variable") when Ethernet is required in Linux, but not U-Boot. Signed-off-by: Alex Kiernan <[email protected]>
2018-02-04board,ge,bx50v3 - rtc time validationNandor Han
Validate the time at startup: - in case rtc error add to kernel command line RTC_ERROR - clamp date to 1-Jan-2036 Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-02-04board: ge: bx50v3: Support FIT and select configuration based on VPDIan Ray
Modify configuration to support FIT. Set variable `confidx' from VPD, in order to load the correct device tree. Modify/simplify U-Boot environment to support loading FIT image. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-02-04board: ge: bx50v3: Enable hardware watchdogMartyn Welch
Enable the hardware watchdog on bx50v3 to cause it to reset in the event the board hangs. Configure GPIO_9 pin as WDOG1_B so that a watchdog timeout results in a full system reset. The watchdog is used and reconfigured by systemd approximately 1.7 seconds into boot. Adding a few seconds for U-Boot and a few more seconds as a safety margin. Note that the PCIe controller is _not_ put back into a safe state prior to board reset. This is a problem if board reset is implemented as CPU reset. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-02-04board: ge: bx50v3: program MAC address to I210Hannu Lounento
There are two I210s on the b850v3 and one on the b450v3 and b650v3. One is connected to Marvell 88e6240 which is already programmed. Follow the flow documented in doc/README.enetaddr: set the enet[0-9]*addr environment variable and let the driver program the hardware. The mapping from the driver's index to the environment variable's name is documented in README: Note for Redundant Ethernet Interfaces. It is assumed that eth_devices for the controllers on the board are always indexed in the same order. The environment variables are removed after programming the hardware because the variables seem to influence MAC addresses also after U-Boot. Specifically the MAC address of FEC (MC interface) would be incorrectly set: 'ethaddr', which maps to the first I210 chip and is set to I210's default address read from the driver by eth_write_hwaddr in eth_legacy.c because the variable is undefined (not set even by bx50v3.c), would result in the eth0 interface's MAC address to be set to I210's default address. Signed-off-by: Hannu Lounento <[email protected]> Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-02-04board: ge: bx50v3: move FEC MAC address programming to driverMartyn Welch
Instead of programming the hardware directly in the board implementation, follow the flow documented in doc/README.enetaddr: set the enet[0-9]*addr environment variable and let the driver program the hardware. This avoids duplicating the implementation as it already exists in the driver (drivers/net/fec_mxc.c: fec_set_hwaddr). The mapping from the driver's index to the environment variable's name is documented in README: Note for Redundant Ethernet Interfaces. It is assumed that eth_devices for the controllers on the board are always indexed in the same order, i.e. FEC always has the index 2. The FEC driver does *not* set the flag Set MAC Address on Transmit (bit set_eth0_mac_address used to do but this is unnecessary as the Linux networking stack fills in the MAC address. Signed-off-by: Hannu Lounento <[email protected]> Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2018-02-04board: ge: Enable access to i2c bus 1 and 2Martyn Welch
The change in i2c configuration added to support access to the VPD has inadvertantly caused access to i2c buses 1 & 2 to be lost. This has resulted in the configuration for the PMIC to be attempted on the wrong bus and thus isn't taking effect. Add the required configuration to return access to buses 1 & 2. In order to ensure that any users of the bus numbering prior to addition in VPD patches work, add buses before configuration related to mux on bus 0 and tweak VPD bus usage to fit new numbering scheme. Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2017-12-29board: ge: mx53ppd: Move check_time() to common locationMartyn Welch
We are going to be using check_time() on more than the mx53ppd, move this function to a common location. Signed-off-by: Martyn Welch <[email protected]>
2017-11-20mx53: Add Board support for GE PPDPeter Senna Tschudin
Create board support for GE PPD, based on mx53loco. Use mx53ppd_defconfig make target to configure for this board. Signed-off-by: Peter Senna Tschudin <[email protected]> Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Nandor Han <[email protected]> Signed-off-by: Martyn Welch <[email protected]> Cc: Stefano Babic <[email protected]> Acked-by: Stefano Babic <[email protected]>
2017-11-20board: ge: make VPD code commonMartyn Welch
The VPD data is used on a number of GE products. Move the parsing code to a common location so that we can share this code. Signed-off-by: Martyn Welch <[email protected]> Acked-by: Stefano Babic <[email protected]>
2017-10-12imx: Include <input.h> header fileDiego Dorta
When building with W=1 errors like the one below is seen: board/freescale/mx6sabresd/mx6sabresd.c:546:5: warning: no previous prototype for ‘overwrite_console’ [-Wmissing-prototypes] int overwrite_console(void) Fix the build warnings by including <input.h>. Signed-off-by: Diego Dorta <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2017-09-20board: ge: bx50v3: set eth0 MAC addressIan Ray
Define i2c mux configuration. Add new vpd_reader which is used to read vital product data. Read VPD from EEPROM and set eth0 MAC address. Signed-off-by: Ian Ray <[email protected]> Signed-off-by: Jose Alarcon <[email protected]>
2017-07-12imx: reorganize IMX code as other SOCsStefano Babic
Change is consistent with other SOCs and it is in preparation for adding SOMs. SOC's related files are moved from cpu/ to mach-imx/<SOC>. This change is also coherent with the structure in kernel. Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]> CC: Akshay Bhat <[email protected]> CC: Ken Lin <[email protected]> CC: Marek Vasut <[email protected]> CC: Heiko Schocher <[email protected]> CC: "Sébastien Szymanski" <[email protected]> CC: Christian Gmeiner <[email protected]> CC: Stefan Roese <[email protected]> CC: Patrick Bruenn <[email protected]> CC: Troy Kisky <[email protected]> CC: Nikita Kiryanov <[email protected]> CC: Otavio Salvador <[email protected]> CC: "Eric Bénard" <[email protected]> CC: Jagan Teki <[email protected]> CC: Ye Li <[email protected]> CC: Peng Fan <[email protected]> CC: Adrian Alonso <[email protected]> CC: Alison Wang <[email protected]> CC: Tim Harvey <[email protected]> CC: Martin Donnelly <[email protected]> CC: Marcin Niestroj <[email protected]> CC: Lukasz Majewski <[email protected]> CC: Adam Ford <[email protected]> CC: "Albert ARIBAUD (3ADEV)" <[email protected]> CC: Boris Brezillon <[email protected]> CC: Soeren Moch <[email protected]> CC: Richard Hu <[email protected]> CC: Wig Cheng <[email protected]> CC: Vanessa Maegima <[email protected]> CC: Max Krummenacher <[email protected]> CC: Stefan Agner <[email protected]> CC: Markus Niebel <[email protected]> CC: Breno Lima <[email protected]> CC: Francesco Montefoschi <[email protected]> CC: Jaehoon Chung <[email protected]> CC: Scott Wood <[email protected]> CC: Joe Hershberger <[email protected]> CC: Anatolij Gustschin <[email protected]> CC: Simon Glass <[email protected]> CC: "Andrew F. Davis" <[email protected]> CC: "Łukasz Majewski" <[email protected]> CC: Patrice Chotard <[email protected]> CC: Nobuhiro Iwamatsu <[email protected]> CC: Hans de Goede <[email protected]> CC: Masahiro Yamada <[email protected]> CC: Stephen Warren <[email protected]> CC: Andre Przywara <[email protected]> CC: "Álvaro Fernández Rojas" <[email protected]> CC: York Sun <[email protected]> CC: Xiaoliang Yang <[email protected]> CC: Chen-Yu Tsai <[email protected]> CC: George McCollister <[email protected]> CC: Sven Ebenfeld <[email protected]> CC: Filip Brozovic <[email protected]> CC: Petr Kulhavy <[email protected]> CC: Eric Nelson <[email protected]> CC: Bai Ping <[email protected]> CC: Anson Huang <[email protected]> CC: Sanchayan Maity <[email protected]> CC: Lokesh Vutla <[email protected]> CC: Patrick Delaunay <[email protected]> CC: Gary Bisson <[email protected]> CC: Alexander Graf <[email protected]> CC: [email protected] Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2017-03-26board: ge: bx50v3: apply the proper register setting to fix the voltage peak ↵Yung-Ching LIN
issue Apply the proper setting for the reserved bits in SetDes Test and System Mode Control register to avoid the voltage peak issue while we do the IEEE PHY comformance test Signed-off-by: Ken Lin <[email protected]> Reviewed-by: Stefano Babic <[email protected]> Acked-by: Ian Ray <[email protected]>
2017-03-26board: ge: bx50v3: fix AR8033 reset timing issueYung-Ching LIN
Add the delay (10ms) to ensure the clock is stable and to meet the clock-to-reset(1ms) requirement recommended in the AR8033 datasheet Signed-off-by: Ken Lin <[email protected]> Reviewed-by: Stefano Babic <[email protected]> Acked-by: Ian Ray <[email protected]>
2016-11-29board: ge: bx50v3: add the PMIC configuration supportKen Lin
Change the PMIC bulk configuration from auto mode to sync mode to avoid voltage dropout issue seen in auto mode. Signed-off-by: Ken Lin <[email protected]> Signed-off-by: Akshay Bhat <[email protected]>
2016-09-23treewide: replace #include <asm/errno.h> with <linux/errno.h>Masahiro Yamada
Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have the same content. (both just wrap <asm-generic/errno.h>) Replace all include directives for <asm/errno.h> with <linux/errno.h>. Signed-off-by: Masahiro Yamada <[email protected]> [trini: Fixup include/clk.] Signed-off-by: Tom Rini <[email protected]>
2016-07-28bx50v3: Use imx_ddr_size() for calculating the DDR sizeFabio Estevam
imx_ddr_size() can be used to calculate the DDR size in runtime. By using this function we no longer need to define PHYS_SDRAM_SIZE. Cc: Martin Donnelly <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2016-06-07board: ge: bx50v3: don't configure the backlight when there's no displayAndrew Shadura
Don't try to configure the backlight when CONFIG_VIDEO_IPUV3 isn't set. Signed-off-by: Andrew Shadura <[email protected]>
2016-04-19board: ge: bx50v3: Fix to meet LVDS display power on timingAkshay Bhat
On a reset/reboot, the display power needs to be off for atleast 500ms before turning it back on. So add a delay to the boot process to meet the display timing requirement. Signed-off-by: Akshay Bhat <[email protected]> Cc: Stefano Babic <[email protected]>
2016-04-19board: ge: bx50v3: Use pwm for display backlightAkshay Bhat
Setup the LCD backlight brightness control pin to use PWM Signed-off-by: Akshay Bhat <[email protected]> Cc: Stefano Babic <[email protected]>
2016-04-19board: ge: bx50v3: Setup LDB_DI_CLK sourceAkshay Bhat
To generate accurate pixel clocks required by the displays we need to set the ldb_di_clk source on bx50v3 to PLL3 and b850v3 to PLL5. Since PLL5 is disabled on reset, we need to enable PLL5. Signed-off-by: Akshay Bhat <[email protected]> Cc: Stefano Babic <[email protected]>