aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* nxp: Migrate CONFIG_DDR_CLK_FREQ to KconfigTom Rini2021-08-312-7/+10
| | | | | | | | | | | | As this symbol can either be a fixed value or the function get_board_ddr_clk, migration is tricky. Introduce a choice of DYNAMIC or STATIC_DDR_CLK_FREQ. If DYNAMIC, we continue to use the board defined get_board_ddr_clk function. If STATIC, set CONFIG_DDR_CLK_FREQ to that value and now include/clock_legacy.h contains the function prototype or defines get_board_ddr_clk() to that static value. Update callers to test for DYNAMIC or STATIC. Signed-off-by: Tom Rini <trini@konsulko.com>
* global: Remove unused or unnecessary CONFIG symbols related to DDRTom Rini2021-08-302-12/+1
| | | | | | | | These symbols are now either unused or were only used within the config file to determine other logic, which could be done in a way that doesn't further pollute the CONFIG namespace. Signed-off-by: Tom Rini <trini@konsulko.com>
* global: Remove dead code that starts with CONFIG_[0-9A]Tom Rini2021-08-302-148/+0
| | | | | | | This removes a number of spots of dead code based on symbols that start with CONFIG_[0-9] or CONFIG_A. Signed-off-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_ID_EEPROM to KconfigTom Rini2021-08-301-0/+1
| | | | | | | This converts the following to Kconfig: CONFIG_ID_EEPROM Signed-off-by: Tom Rini <trini@konsulko.com>
* powerpc: Remove unused FCC ethernet codeTom Rini2021-08-303-465/+0
| | | | | | This code is no longer used, remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
* pci: powerpc: Drop old codeSimon Glass2021-08-053-352/+0
| | | | | | Drop the old pre-driver model code from these drivers. Signed-off-by: Simon Glass <sjg@chromium.org>
* global: Convert simple_strtoul() with decimal to dectoul()Simon Glass2021-08-021-2/+2
| | | | | | | It is a pain to have to specify the value 10 in each call. Add a new dectoul() function and update the code to use it. Signed-off-by: Simon Glass <sjg@chromium.org>
* global: Convert simple_strtoul() with hex to hextoul()Simon Glass2021-08-022-8/+8
| | | | | | | | | It is a pain to have to specify the value 16 in each call. Add a new hextoul() function and update the code to use it. Add a proper comment to simple_strtoul() while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
* i2c: Rename SPL/TPL_I2C_SUPPORT to I2CSimon Glass2021-07-281-7/+7
| | | | | | | Rename these options so that CONFIG_IS_ENABLED can be used with them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Heiko Schocher <hs@denx.de>
* ppc: Remove T4160RDB boardTom Rini2021-07-079-252/+8
| | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the last ARCH_T4160 platform, remove that support as well. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC832XEMDS boardsTom Rini2021-07-071-6/+0
| | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC8323ERDB boardTom Rini2021-07-071-5/+0
| | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC8315ERDB boardTom Rini2021-07-077-103/+9
| | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the last ARCH_MPC8315 platform, remove that support as well. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove sbc8641d boardTom Rini2021-07-0723-4000/+1
| | | | | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. This is also the last of the ARCH_MPC8641/MPC8610 platforms, so remove that support as well. Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* ppc: Remove xpedite boardsTom Rini2021-07-076-122/+4
| | | | | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this includes the last ARCH_MPC8572 platform, remove that as well. Cc: Peter Tyser <ptyser@xes-inc.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Peter Tyser <ptyser@xes-inc.com>
* ppc: Remove MPC8568MDS boardTom Rini2021-07-075-93/+3
| | | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the last ARCH_MPC8568 platform, remove that support as well. Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove T1023RBD boards and T1024RDB_SECURE_BOOTTom Rini2021-07-076-44/+6
| | | | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is the only ARCH_T1023 platform left, remove that support as well. Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC8555CDS boardsTom Rini2021-07-077-52/+5
| | | | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is the only ARCH_MPC8555 platform left, remove that support as well. Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC8541CDS boardTom Rini2021-07-077-26/+8
| | | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the only MPC8541 target left, remove that architecture support as well. Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove TQM834x boardTom Rini2021-07-071-6/+0
| | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove sbc8548 boardsTom Rini2021-07-071-5/+0
| | | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline and are also missing conversion to CONFIG_DM. Remove them. Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove caddy2 / vme8349 boardsTom Rini2021-07-071-9/+0
| | | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC8313ERDB boardsTom Rini2021-07-071-13/+0
| | | | | | | These boards have not been converted to CONFIG_DM_PCI by the deadline. Remove them. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove ve8313 boardTom Rini2021-07-071-5/+0
| | | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline. Remove it. Cc: Heiko Schocher <hs@denx.de> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Heiko Schocher <hs@denx.de>
* ppc: Remove mpc8308_p1m boardTom Rini2021-07-071-5/+0
| | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline. Remove it. Cc: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove many T104x boardsTom Rini2021-07-072-18/+0
| | | | | | | | | These boards have not been converted to CONFIG_DM_PCI, CONFIG_DM_USB or in some cases CONFIG_DM itself by the deadline. Remove them. Cc: Priyanka Jain <priyanka.jain@nxp.com> Cc: Ruchika Gupta <ruchika.gupta@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove sbc8349 boardTom Rini2021-07-071-5/+0
| | | | | | | | This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* mpc8379erdb: enable DM_USB DM_PCI DM_ETHSinan Akman2021-07-062-0/+54
| | | | Signed-off-by: Sinan Akman <sinan@writeme.com>
* Revert "powerpc: fix regression in arch_initr_trap()"Tom Rini2021-06-231-1/+0
| | | | | | | | | | | With the changes in commit 588efcdd72fc ("powerpc: Don't use relative include for config.h in global_data.h") fixing the root of the problem, we no longer need this re-inclusion. This reverts commit f6c0d365d3e8ee8e4fd3ebe2ed957c2bca9d3328. Cc: Matt Merhar <mattmerhar@protonmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* powerpc: Don't use relative include for config.h in global_data.hTom Rini2021-06-231-1/+1
| | | | | | | | | | As there is an arch/powerpc/include/asm/config.h file using "" to get config.h here can lead to using that rather than include/config.h. This in turn can lead to a mismatch in the size of gd. Cc: Matt Merhar <mattmerhar@protonmail.com> Signed-off-by: Tom Rini <trini@konsulko.com> Tested-by: Matt Merhar <mattmerhar@protonmail.com>
* board: freescale: t208xrdb: add a config option for rev D dts fixupsCamelia Groza2021-06-171-0/+7
| | | | | | | | | | | | | | | | | | Under DM, we rely on u-boot's device tree to provide the correct PHY addresses. The board_fix_fdt callback is intended to be used for device tree fixups before relocation. Unfortunately, this isn't an option when booting from flash since the device tree isn't writable before relocation. This patch introduces the CONFIG_T2080RDB_REV_D option to signal that a board revision D or up is the target. The config option is used to set the correct Aquantia PHY address in the board's u-boot device tree. Defconfig files with the option enable explicitly are added for convenience. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: fix regression in arch_initr_trap()Matt Merhar2021-05-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The assembly output of the arch_initr_trap() function differed by a single byte after common.h was removed from traps.c: fff49a18 <arch_initr_trap>: fff49a18: 94 21 ff f0 stwu r1,-16(r1) fff49a1c: 7c 08 02 a6 mflr r0 fff49a20: 90 01 00 14 stw r0,20(r1) -fff49a24: 80 62 00 44 lwz r3,68(r2) +fff49a24: 80 62 00 38 lwz r3,56(r2) fff49a28: 4b ff 76 19 bl fff41040 <trap_init> fff49a2c: 80 01 00 14 lwz r0,20(r1) fff49a30: 38 60 00 00 li r3,0 fff49a34: 38 21 00 10 addi r1,r1,16 fff49a38: 7c 08 03 a6 mtlr r0 This was causing a consistent hard lockup during the MMC read / loading of the QoriQ FMan firmware on a P2041RDB board. Re-adding the header causes identical assembly to be emitted and allows the firmware loading and subsequent boot to succeed. Fixes: 401d1c4f5d ("common: Drop asm/global_data.h from common header") Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
* treewide: Convert macro and uses of __section(foo) to __section("foo")Marek BehĂșn2021-05-241-2/+2
| | | | | | | | | | | | | | | | | This commit does the same thing as Linux commit 33def8498fdd. Use a more generic form for __section that requires quotes to avoid complications with clang and gcc differences. Remove the quote operator # from compiler_attributes.h __section macro. Convert all unquoted __section(foo) uses to quoted __section("foo"). Also convert __attribute__((section("foo"))) uses to __section("foo") even if the __attribute__ has multiple list entry forms. Signed-off-by: Marek BehĂșn <marek.behun@nic.cz> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* boards: Disable CMD_SATA on platforms that no longer have a SATA driver enabledTom Rini2021-05-111-11/+0
| | | | | | | | | There are a number of platforms that depend on a SATA driver that has been converted to require AHCI but the platforms themselves are behind on other migrations that would make it trivial to enable AHCI. Disable SATA in these cases. Signed-off-by: Tom Rini <trini@konsulko.com>
* powerpc: introduce CONFIG_CACHE_FLUSH_WATCHDOG_THRESHOLDRasmus Villemoes2021-04-273-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When flush_cache() is called during boot on our ~7M kernel image, the hundreds of thousands of WATCHDOG_RESET calls end up adding significantly to boottime. Flushing a single cache line doesn't take many microseconds, so doing these calls for every cache line is complete overkill. The generic watchdog_reset() provided by wdt-uclass.c actually contains some rate-limiting logic that should in theory mitigate this, but alas, that rate-limiting must be disabled on powerpc because of its get_timer() implementation - get_timer() works just fine until interrupts are disabled, but it just so happens that the "big" flush_cache() call happens in the part of bootm where interrupts are indeed disabled. [1] [2] [3] I have checked with objdump that the generated code doesn't change when this option is left at its default value of 0: gcc is smart enough to see that the ">=" comparison is tautologically true, hence all assignments to "flushed" are eliminated as dead stores. On our board, setting the option to something like 65536 ends up reducing total boottime by about 0.8 seconds. [1] https://patchwork.ozlabs.org/project/uboot/patch/20200605111657.28773-1-rasmus.villemoes@prevas.dk/ [2] https://lists.denx.de/pipermail/u-boot/2021-April/446906.html [3] https://lists.denx.de/pipermail/u-boot/2021-April/447280.html Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
* powerpc: lib: remove leftover CONFIG_5xxRasmus Villemoes2021-04-271-2/+0
| | | | | | | | CONFIG_5xx hasn't existed since commit 502589777416 (powerpc, 5xx: remove support for 5xx). Remove this last mention of it. Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
* allow opting out of WATCHDOG_RESET() from timer interruptRasmus Villemoes2021-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Having WATCHDOG_RESET() called automatically from the timer interrupt runs counter to the idea of a watchdog device - if the board runs into an infinite loops with interrupts still enabled, the watchdog will never fire. When using CONFIG_(SPL_)WDT, the watchdog_reset function is a lot more complicated than just poking a few SOC-specific registers - it involves accessing all kinds of global data, and if the interrupt happens at the wrong time (say, in the middle of an WATCHDOG_RESET() call from ordinary code), that can end up corrupting said global data. Allow the board to opt out of calling WATCHDOG_RESET() from the timer interrupt handler by setting CONFIG_SYS_WATCHDOG_FREQ to 0 - as that setting is currently nonsensical (it would be compile-time divide-by-zero), it cannot affect any existing boards. Add documentation for both the existing and extended meaning of CONFIG_SYS_WATCHDOG_FREQ. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
* lmb: move CONFIG_LMB in KconfigPatrick Delaunay2021-04-221-1/+0
| | | | | | Migrate CONFIG_LMB in Kconfig. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
* powerpc: dts: t1042d4rdb: add FMan v3 nodesCamelia Groza2021-04-151-1/+54
| | | | | | | | Add the FMan v3 nodes for the T1042D4RDB. The nodes are copied over with little modification from the Linux kernel source code. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: dts: t1042: add QorIQ DPAA 1 FMan v3 nodesCamelia Groza2021-04-151-0/+46
| | | | | | | | | Add the QorIQ DPAA 1 FMan v3 device tree nodes for the T1042 SoC. The device tree nodes are copied over with little modification from the Linux kernel source code. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: dts: qoriq: update the mdio offsets under the second FMan v3Camelia Groza2021-04-1511-14/+14
| | | | | | | | | | | When two FMan's are present on a board, the MDIO nodes are found at the same offsets inside each FMan. This causes "non unique device name" errors when registering the MDIO nodes under the second FMan. Fix this by updating the offsets of the MDIO nodes to include the parent FMan's offset. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: dts: t4240rdb: add FMan v3 nodesCamelia Groza2021-04-151-1/+141
| | | | | | | | Add the FMan v3 nodes for the T4240RDB. The nodes are copied over with little modification from the Linux kernel source code. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: dts: t4240: add QorIQ DPAA 1 FMan v3 nodesCamelia Groza2021-04-151-0/+101
| | | | | | | | | Add the QorIQ DPAA 1 FMan v3 device tree nodes for the T4240 SoC. The device tree nodes are copied over with little modification from the Linux kernel source code. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: dts: t2080rdb: add FMan v3 nodesCamelia Groza2021-04-151-1/+68
| | | | | | | | Add the FMan v3 nodes for the T2080RDB. The nodes are copied over with little modification from the Linux kernel source code. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* powerpc: dts: t2080: add QorIQ DPAA 1 FMan v3 nodesCamelia Groza2021-04-151-0/+51
| | | | | | | | | Add the QorIQ DPAA 1 FMan v3 device tree nodes for the T2080 SoC. The device tree nodes are copied over with little modification from the Linux kernel source code. Signed-off-by: Camelia Groza <camelia.groza@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* ppc: Remove MPC837XEMDS boardTom Rini2021-04-101-8/+0
| | | | | | | | This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove Cyrus_P5020 and P5040 boardsTom Rini2021-04-107-323/+2
| | | | | | | | | | | These boards have not been converted to CONFIG_DM_MMC by the deadline. Remove them. As the P5020 is the last ARCH_P5020 platform, remove that support as well. Cc: Andy Fleming <afleming@gmail.com> Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* ppc: Remove ARCH_P1022 supportTom Rini2021-04-106-171/+2
| | | | | | | | | With the last of the ARCH_P1022 platforms removed, finish removing the rest of the platform support. Cc: Priyanka Jain <priyanka.jain@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
* ppc: Remove controlcenterd boardsTom Rini2021-04-101-5/+0
| | | | | | | | | These boards have not been converted to CONFIG_DM_MMC by the deadline. Remove them. Cc: Mario Six <mario.six@gdsys.cc> Cc: Dirk Eibach <dirk.eibach@gdsys.cc> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove gdsys hrcon boardsTom Rini2021-04-101-4/+0
| | | | | | | | These boards have not been converted to CONFIG_DM_MMC, along with other DM conversions, by the deadline. Remove them. Cc: Dirk Eibach <dirk.eibach@gdsys.cc> Signed-off-by: Tom Rini <trini@konsulko.com>