summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-21mpc83xx_clk: Add enable methodMario Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
Migrate the CONFIG_LCRR_* settings to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate SPCR to KconfigMario Six
Migrate the SPCR setting to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate arbiter config to KconfigMario Six
Migrate the arbiter configuration to Kconfig. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc8308: Migrate system io config to KconfigMario Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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 Six
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>
2019-05-21mpc83xx: Replace CONFIG_83XX_CLKIN in calculationsMario Six
CONFIG_SYS_CLK_FREQ is the standard way to set the system clock frequency. On MPC83xx, CONFIG_83XX_CLKIN is used for this purpose. Hence, the obvious way is to replace CONFIG_83XX_CLKIN with CONFIG_SYS_CLK_FREQ. A few MPC83xx boards use the CONFIG_83XX_CLKIN variable for computing CONFIG_SYS_NS16550_CLK. This makes it harder to replace CONFIG_83XX_CLKIN. But the value of the multiplicator can be read from the SPMR register. Hence, replace the static calculations with a call to a new get_bus_freq function, as other architectures do. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Migrate legacy PCI options to KconfigMario Six
The MPC83xx include files contain some settings of the PCI subsystem. Migrate these to Kconfig until a proper DM PCI driver exists. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21MPC837XERDB: Remove CONFIG_MPC837XERDBMario Six
CONFIG_MPC837XERDB is unused, and TARGET_MPC837XERDB could replace it. Hence, get rid of CONFIG_MPC837XERDB. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21MPC837XEMDS: Remove CONFIG_MPC837XEMDSMario Six
CONFIG_MPC837XEMDS is unused, and TARGET_MPC837XEMDS could replace it. Hence, get rid of CONFIG_MPC837XEMDS. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21MPC8315ERDB: Remove CONFIG_MPC8315ERDBMario Six
CONFIG_MPC8315ERDB is unused, and TARGET_MPC8315ERDB could replace it. Hence, get rid of CONFIG_MPC8315ERDB. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21MPC8313ERDB: Remove CONFIG_MPC8313ERDBMario Six
CONFIG_MPC8313ERDB is unused, and TARGET_MPC8313ERDB_NAND/TARGET_MPC8313ERDB_NOR Kconfig could replace it. Hence, get rid of CONFIG_MPC8313ERDB. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21strider: Migrate to CONFIG_TARGET_STRIDERMario Six
Use the proper CONFIG_TARGET_STRIDER Kconfig option to replace the CONFIG_STRIDER ad-hoc config option. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21hrcon: Migrate to CONFIG_TARGET_HRCONMario Six
Use the proper CONFIG_TARGET_HRCON Kconfig option to replace the CONFIG_HRCON ad-hoc config option. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21MPC8349ITX: Migrate to CONFIG_TARGET_MPC8349ITXMario Six
Use the proper CONFIG_TARGET_MPC8349ITX Kconfig option to replace the CONFIG_MPC8349ITX ad-hoc config option. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21MPC832XEMDS: Migrate to CONFIG_TARGET_MPC832XEMDSMario Six
Use the proper CONFIG_TARGET_MPC832XEMDS Kconfig option to replace the CONFIG_MPC832XEMDS ad-hoc config option. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21ve8313: Merge BR/OR settingsMario Six
The ve8313 has the option of either configuring the eLBC (enhanced local system bus) such that * NOR flash is the first memory bank, and NAND flash is the second memory bank, or * NAND flash is the first memory bank, and NOR flash is the second memory bank, by using CONFIG_SYS_NOR_{BR,OR}_PRELIM and CONFIG_SYS_NAND_{BR,OR}_PRELIM for defining CONFIG_SYS_{BR,OR}{0,1}_PRELIM. After Kconfig migration, replacing some lines in the defconfig will have the same effect. Hence, we will not create distinct ve8313_{NOR,NAND} configs for such a small change. Instead, fix the current default (NOR first, NAND second), and unroll the CONFIG_SYS_NAND_{BR,OR}_PRELIM options. This will ease the Kconfig migration Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc8315erdb: Merge BR/OR settingsMario Six
The mpc8315erdb has the option of either configuring the eLBC (enhanced local system bus) such that * NOR flash is the first memory bank, and NAND flash is the second memory bank, or * NAND flash is the first memory bank, and NOR flash is the second memory bank, by using CONFIG_SYS_NOR_{BR,OR}_PRELIM and CONFIG_SYS_NAND_{BR,OR}_PRELIM for defining CONFIG_SYS_{BR,OR}{0,1}_PRELIM. After Kconfig migration, replacing some lines in the defconfig will have the same effect. Hence, we will not create distinct ve8313_{NOR,NAND} configs for such a small change. Instead, fix the current default (NOR first, NAND second), and unroll the CONFIG_SYS_NAND_{BR,OR}_PRELIM options. This will ease the Kconfig migration. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-21mpc83xx: Make distinct MPC8349EMDS_SDRAM boardMario Six
The MPC8349EMDS config file contains config options to enable SDRAM support. To keep this ability after the Kconfig migration, create a new MPC8349EMDS_SDRAM board that enables the SDRAM support and remove the SDRAM support from the original board. Signed-off-by: Mario Six <mario.six@gdsys.cc>
2019-05-20Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
- H6 WDT reset fix (Clément) - H6 SPL_TEXT_BASE fixes (Clément, Jonas) - NPI-M1+ emac enablment (Emmanuel)
2019-05-20sun8i: h3: NanoPi M1 Plus: Add emac configurationEmmanuel Vadot
NanoPi M1 plus have a 10/100/1000M ethernet with external phy. Phy power is controlled by PD6. Add the required configuration for it. Signed-off-by: Emmanuel Vadot <manu@freebsd.org> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2019-05-20sun50i: a64: teres_i: Fix broken SPL_TEXT_BASEJonas Smedegaard
SPL_TEXT_BASE was moved into Kconfig, which previously part of include/configs before this teres_i support gets merged. Fix it by explicitly define in defconfig like other boards does. Signed-off-by: Jonas Smedegaard <dr@jones.dk> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>