summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-05-21gdsys: cmd_ioloop: Fix style violationsMario Six1-40/+38
Fix some style violations in the ioloop command, and make the code more readable where possible. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: mpc8308: Add FPGA flavor optionMario Six1-0/+20
More recent versions of IHS FPGAs feature a different memory layout. Add a Kconfig option to differentiate between the legacy layout, and the new layout (which is used on the upcoming "Gazerbeam" and later boards). Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: Introduce GDSYS_LEGACY_DRIVERSMario Six12-0/+60
Future gdsys boards will switch from the legacy drivers in board/gdsys/common to DM-based drivers. Define a Kconfig option that disables the legacy drivers. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: mpc8308: Don't use manual RAM config if RAM driver is activeMario Six1-0/+4
The "manual" RAM configuration should not be used if the DM RAM driver is active, hence, disable the code if the CONFIG_MPC83XX_SDRAM config variable is defined. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: mpc8308: Migrate SYS_FPGA{0, 1}_{BASE, SIZE} to KconfigMario Six3-16/+22
Move CONFIG_SYS_FPGA0_BASE, CONFIG_SYS_FPGA0_SIZE, CONFIG_SYS_FPGA1_BASE, and CONFIG_SYS_FPGA1_SIZE to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: mpc8308: Use shadow register for output GPIO valuesMario Six4-3/+25
Since the gpio output status on MPC8xxx cannot be read back, it has to be buffered locally. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc> Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: mpc8308: Fix style violationsMario Six3-57/+59
Fix some style violations in the gdsys MPC8308 board files, and make the code more readable. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: Post ppc4xx removal cleanupMario Six3-227/+0
The ppc4xx architecture was removed, and with it several old gdsys 44x boards, but some "debris" from these purged boards was left over. This patch removes these remnants (mostly entries in Makefiles, some now superfluous data structures and some now obsolete config variables from the whitelist). Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys: phy: Adapt fixup_88e1518() to latest Release NotesDirk Eibach1-2/+0
The initialization sequence in the newest release notes of the 88e1518 phy omits two commands. Remove them from the sequence. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2019-05-21ihs_mdio: Use new regmap interfaceMario Six1-2/+3
For the DM case, use the proper parameter for the regmap_init_mem call (which is the ofnode, not the udevice). Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-05-21gdsys_rxaui_ctrl: Use new regmap interfaceMario Six1-1/+1
For the DM case, use the proper parameter for the regmap_init_mem call (which is the ofnode, not the udevice). Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21gdsys_rxaui_ctrl: Return old stateMario Six1-1/+6
Make the gdsys_rxaui_ctrl polarity setting function return the old state to comply with the API requirements. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21i2c: ihs: Improve error handlingMario Six1-24/+43
Improve the error handling and reporting of the IHS I2C driver. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Heiko Schocher <hs@denx.de>
2019-05-21i2c: ihs: Get rid of fpgamapMario Six1-34/+23
Since the IHS I2C driver want upstream, the surrounding infrastructure has changed quite a bit (notably, the fpgamap driver was replaced with a regmap driver). Update the driver to work with these changes. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Heiko Schocher <hs@denx.de>
2019-05-21cmd: binop: Use hex2binMario Six1-25/+3
Use the new hex2bin function in the binop command instead of converting the data manually. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-05-21cmd: binop: Use new environment apiMario Six1-2/+2
Since the binop command was introduced, the environment API was changed. Use the new API to make the command work again. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-05-21mpc83xx_clk: Add enable methodMario Six1-0/+7
Some DM drivers have hardcoded clk_enable calls when handling clocks (for example the fsl_esdhc driver). To work with these drivers, add an enable method to the MCP83xx clock driver (which does nothing, because the clocks are always enabled). Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Define _end symbolMario Six1-0/+6
To support OF_EMBED, the MPC83xx architecture has to define the "_end" symbol to correctly access the appended DT. Fortunately, MPC8xx already defines the symbol, and the linker script is quite similar to that of MPC83xx, so copy this approach for MPC83xx. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21powerpc: Simplify processor.hMario Six1-120/+0
Lots of stuff in processor.h was taken verbatim from the Linux kernel. It was never synced, so most of it was removed or changed in the kernel since it was imported. Remove all the stuff that is unused in the current U-Boot sources; should anybody feel the need to re-sync with the kernel, they can do it later on. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21keymile: Factor out common includes againMario Six14-2836/+500
Not that the Kconfig conversion of a lot of variables is done, we can factor out the common include files for the keymile boards again (which now contain hardly any #ifdef logic at all). Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21keymile: Remove CONFIG_SYS_APP{1, 2}_{BASE, SIZE}Mario Six9-40/+0
CONFIG_SYS_APP1_BASE, CONFIG_SYS_APP2_BASE, CONFIG_SYS_APP1_SIZE, and CONFIG_SYS_APP2_SIZE are no longer used in the keymile config files (they were used for setting values, which were converted to Kconfig earlier in the series). Remove them from the configs and the whitelist. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Use pre-defined asm functionsMario Six4-43/+60
For a lot of inline assembly calls in the mpc8xxx and mpc83xx directories, we already have convenient pre-defined helper functions, but they're not used, resulting in hard-to-read code. Use these helper functions where ever possible and useful. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Replace ppcDWstore with inline assemblyMario Six2-12/+18
ppcDWstore/ppcDWload are hardly used by any board, but since they're implemented in start.S, they're always present in every U-Boot image, even if they're not needed. Re-implement these fuctions in C with inline assembly, so that the compiler can decide when to actually include them. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Don't define cpu_eth_init for DM ethMario Six1-0/+2
Don't use the legacy method of initializing the ethernet controller on MPC83xx when DM is active. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Add arch clock.h to make SDHC workMario Six1-0/+22
The fsl-esdhc driver can be used for the SDHC functionality on MPC83xx, but it needs some additional definitions. Add a clock.h file, so we can use the driver for MPC83xx. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Get rid of CONFIG_SYS_LBC_*Mario Six32-195/+43
Except for one counter example, CONFIG_SYS_LBC_LBCR always has a value of either 0x00040000 or 0x00000000. CONFIG_SYS_LBC_MRTPR always has the value 0x20000000. CONFIG_SYS_LBC_LSDMR_{1,2,4,5} are not set for any mpc83xx board. CONFIG_SYS_LBC_LSRT is set by one board (to 0x32000000). To simplify the configuration files, hardcode the setting of these values for mpc83xx. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Get rid of CONFIG_SYS_DDR_SDRAM_BASEMario Six44-61/+35
CONFIG_SYS_DDR_SDRAM_BASE is set to the same value as CONFIG_SYS_SDRAM_BASE on all existing boards. Just use CONFIG_SYS_SDRAM_BASE instead. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Get rid of CONFIG_SYS_DDR_BASEMario Six41-104/+73
CONFIG_SYS_DDR_BASE is specific to mpc83xx an is always set to the same value as CONFIG_SYS_SDRAM_BASE. Just use CONFIG_SYS_SDRAM_BASE instead. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate CONFIG_LCRR_* to KconfigMario Six83-120/+281
Migrate the CONFIG_LCRR_* settings to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate SPCR to KconfigMario Six37-52/+192
Migrate the SPCR setting to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate arbiter config to KconfigMario Six69-172/+269
Migrate the arbiter configuration to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc8308: Migrate system io config to KconfigMario Six17-100/+434
Migrate the system IO configuration setting to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate CONFIG_SYS_IMMR to KconfigMario Six33-121/+9
Migrate CONFIG_SYS_IMMR to Kconfig for MPC83xx. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate HID config to KconfigMario Six84-243/+795
Mirate the HID configuration settings to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Prepare usage of DM gpio driverMario Six1-0/+8
The MPC85xx GPIO driver was converted to handle a broader range of SoCs. Prepare the MPC83xx code for usage of this driver. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Remove last CONFIG_MPC83xxMario Six2-2/+0
Remove the last instances of the CONFIG_MPC83xx symbol. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21powerpc: mpc83xx: fdt: Use get_serial_clock()Mario Six1-2/+2
Replace the hard-coded CONFIG_SYS_NS16550_CLK value for the FDT fixup with the previously introduced get_serial_clock function This will make it possible to activate DM for serial devices on MPC83xx later on. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21powerpc: mpc83xx: Implement get_serial_clock()Mario Six1-0/+5
DM serial drivers on PowerPC determine their clock frequency via the get_serial_clock function. This function is not Implemented yet for MPC83xx. This patch Implements the function so that DM serial drivers work on MPC83xx. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21powerpc: mpc83xx: Fix MPC8308 IMMR memory layoutMario Six2-3/+41
The MPC8308 has two I2C controllers, but no PCI controller. Fix the register map layout for this SoC. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate CONFIG_SYS_{BR, OR}*_PRELIM to KconfigMario Six92-277/+5606
Migrate the BR/OR settings to Kconfig. These must be known at compile time, so cannot be configured via DT. Configuration of this crucial variable should still be somewhat comfortable. Hence, make its fields configurable in Kconfig, and assemble the final value from these. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21sbc8349: Remove SDRAM functionalityMario Six1-67/+0
The MPC8349EMDS configuration was the basis for the sbc8349, so it also contains its SDRAM option. Since * the SDRAM has to be soldered onto the board, * the sbc8349 never used the support, and * the support never worked (see previous patch fixing it), we can assume that the support on the sbc8349 is an artifact created by copying the MPC8349EMDS config wholesome. Hence, instead of creating a separate sbc8349 config that supports SDRAM, we can remove the SDRAM option for this board. Should it be needed in the future, it can be copied from the new MPC8349EMDS_SDRAM board. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Simplify BR,OR linesMario Six30-1028/+302
Re-format all BR,OR #define lines into single lines. This makes them harder to read, but accessible to semi-automatic replacement. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21tqm834x: Expand CONFIG_SYS_OR_TIMING_FLASH macroMario Six1-2/+2
We want to normalize all BR/OR config lines as much as possible. The TQM834x board uses CONFIG_SYS_OR_TIMING_FLASH in a OR definition, which we want to remove. But CONFIG_SYS_OR_TIMING_FLASH is also used outside of the config file. Replace these usages with the definition of the variable, so we can remove the variable in the next patch. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Normalize BR/OR option linesMario Six27-69/+69
All BR/OR option lines should have the same layout to make them easier to migrate to Kconfig. This includes using the same option macros everywhere. The normalize the lines, * replace function macros with their results, and * replace hardcoded hex values with standard macros Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate LBLAW_* to KconfigMario Six85-316/+1125
The LBLAW_* values determine the window configuration of the memory controller. Hence, they must be known at compile time, and cannot be implemented in the DT mechanism. Configuration of this crucial variable should still be somewhat comfortable. Hence, make its fields configurable in Kconfig, and assemble the final value from these. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate BATS config to KconfigMario Six83-2343/+4082
The BATs (block address translation registers) determine the initial memory window mappings. Hence, they must be known at compile time and cannot be implemented in the DT mechanism. Configuration of this crucial variable should still be somewhat comfortable. Hence, make its fields configurable in Kconfig, and assemble the final value from these. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21powerpc: Migrate HIGH_BATS to KconfigMario Six75-50/+49
Migrate the CONFIG_HIGH_BATS variable to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: pcie: Read the clock from registersMario Six1-3/+36
The MPC83xx DM timer driver disables arch.pciexp*_clk, and uses clk_get_rate instead. But the legacy MPC83xx PCIe driver still uses arch.pciexp*_clk for the clock. Hence, read the PCIe clock from the registers in the legacy MPC83xx PCIe driver. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Kconfig: Migrate HRCW to KconfigMario Six87-1039/+1330
The HRCW (hardware reset configuration word) is a constant that must be hard-coded into the boot loader image. So, it must be available at compile time, and cannot be migrated to the DT mechanism, but has to be kept in Kconfig. Configuration of this crucial variable should still be somewhat comfortable. Hence, make its fields configurable in Kconfig, and assemble the final value from these. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Get rid of CONFIG_83XX_CLKINMario Six74-208/+119
MPC83xx uses CONFIG_83XX_CLKIN instead of CONFIG_SYS_CLK_FREQ to set the system clock. To migrate the architecture, we can replace CONFIG_83XX_CLKIN with CONFIG_SYS_CLK_FREQ. To do this * replace all occurrences of CONFIG_83XX_CLKIN with CONFIG_SYS_CLK_FREQ * set CONFIG_SYS_CLK_FREQ to the old value of CONFIG_83XX_CLKIN in all MPC83xx config files Signed-off-by: Mario Six <mario.six@gdsys.cc>