summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'u-boot-clk-26Jan2020' of ↵Tom Rini2020-01-279-106/+34
|\ | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-clk - Various clock fixes and enhancements
| * clock_imx8mq: Make frac_pll_init() staticPedro Jardim2020-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | Since frac_pll_init() is only used in this file, change it to 'static'. This fixes the following sparse warning: arch/arm/mach-imx/imx8m/clock_imx8mq.c:662:5: warning: no previous prototype for ‘frac_pll_init’ [-Wmissing-prototypes] Signed-off-by: Pedro Jardim <jardim.c.pedro@gmail.com>
| * clock_imx8mq: Remove the function sscg_pll_init()Pedro Jardim2020-01-261-71/+0
| | | | | | | | | | | | | | | | | | | | | | | | Function sscg_pll_init() is not used anywhere, so it can simply be deleted. This was found because of the following sparse warning: arch/arm/mach-imx/imx8m/clock_imx8mq.c:702:5: warning: no previous prototype for ‘sscg_pll_init’ [-Wmissing-prototypes] int sscg_pll_init(u32 pll) ^~~~~~~~~~~~~ Signed-off-by: Pedro Jardim <jardim.c.pedro@gmail.com>
| * clock_imx8mq: Make do_imx8m_showclocks() staticPedro Jardim2020-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Since do_imx8m_showclocks() is only used inside this file, make it 'static'. This fixes the following sparse warning: arch/arm/mach-imx/imx8m/clock_imx8mq.c:836:5: warning: no previous prototype for ‘do_imx8m_showclocks’ [-Wmissing-prototypes] int do_imx8m_showclocks(cmd_tbl_t *cmdtp, int flag, int argc, ^~~~~~~~~~~~~~~~~~~ Signed-off-by: Pedro Jardim <jardim.c.pedro@gmail.com>
| * clock_imx8mq: Delete not used init_usb_clk()Pedro Jardim2020-01-261-22/+0
| | | | | | | | | | | | | | | | | | | | | | | | Function init_usb_clk() is not used anywhere, so it can simply be deleted. This was detected by the following sparse warning: arch/arm/mach-imx/imx8m/clock_imx8mq.c:377:6: warning: no previous prototype for ‘init_usb_clk’ [-Wmissing-prototypes] void init_usb_clk(void) ^~~~~~~~~~~~ Signed-off-by: Pedro Jardim <jardim.c.pedro@gmail.com>
| * clk: imx: pllv3: fix potential 'divide by zero' in av_set_rate()Giulio Benetti2020-01-261-2/+8
| | | | | | | | | | | | | | Guard 'parent_rate==0' to prevent 'divide by zero' issue in clk_pplv3_av_set_rate(). If it is 0, let's return with -EINVAL. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * clk: imx: pllv3: fix potential 'divide by zero' in av_get_rate()Giulio Benetti2020-01-261-0/+3
| | | | | | | | | | | | | | | | Guard 'mfd==0' to prevent 'divide by zero' issue in clk_pplv3_av_get_rate(). If it is 0, let's return with EIO since mfd should never be 0 at all. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * clk: imx: pllv3: fix potential 'divide by zero' in sys_get_rate()Giulio Benetti2020-01-261-2/+8
| | | | | | | | | | | | | | Guard 'parent_rate==0' to prevent 'divide by zero' issue in clk_pplv3_sys_get_rate(). If it is 0, let's return with -EINVAL. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * clk: Fix error checking of dev_read_addr_ptrSean Anderson2020-01-263-3/+3
| | | | | | | | | | | | dev_read_addr_ptr returns NULL on error, not FDT_ADDR_T_NONE. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * clk: Include missing headers for linux/clk-provider.hSean Anderson2020-01-261-0/+4
| | | | | | | | | | | | | | This header was missing a couple of include dependencies when included on its own. Signed-off-by: Sean Anderson <seanga2@gmail.com>
| * clk: uclass: clk_get_by_name() must not be available if CONFIG_OF_PLATDATA ↵Giulio Benetti2020-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | is enabled clk_get_by_name() requires clk_get_by_id() that is not available if CONFIG_OF_PLATDATA is defined, so move clk_get_by_name() into #else condition of #if CONFIG_IS_ENABLED(OF_PLATDATA). Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
| * clk: show more error info when uclass_get_device_by_namePeng Fan2020-01-261-2/+4
| | | | | | | | | | | | | | It will ease debug when uclass_get_device_by_name failed with more error info printed out. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * clk: mediatek: use unsigned type for returning the clk rateFabien Parent2020-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | mtk_clk_find_parent_rate is calling clk_get_rate to know the rate of a parent clock. clk_get_rate returns a ulong, while mtk_clk_find_parent_rate returns an int. This implicit cast creates an issue for clock rates big enough to need the full 32 bits to store its data. When that happen the clk rate will become incorrect because of the implicit cast between ulong -> int -> ulong. This commit change the return type of mtk_clk_find_parent_rate to ulong. Signed-off-by: Fabien Parent <fparent@baylibre.com>
* | common: fix regression on block cache initAngelo Durgehello2020-01-262-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | m68k needs block cache list initialized after relocation. Other architectures must not be involved. Fixing regression related to: commit 1526bcce0f7285087621e16e6720636d01839da8 ("common: add blkcache init") Signed-off-by: Angelo Durgehello <angelo.dureghello@timesys.com>
* | arm: mvebu: fix A38x breakage from commit bb872dd930ccJoel Johnson2020-01-261-1/+1
| | | | | | | | | | | | | | | | | | This function parameter usage of load_addr was incorrectly caught in the clarifying renames of commit bb872dd930cc, which results in boot failures on Marvell A38x. Signed-off-by: Joel Johnson <mrjoel@lixil.net> Patch-to: Simon Glass <sjg@chromium.org>
* | Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxiWIP/26Jan2020Tom Rini2020-01-2661-751/+1782
|\ \ | |/ |/| | | | | | | | | - Libre Computer ALL-H3-IT/ALL-H5-CC board (Chen-Yu Tsai) - Allwinner R40 Ethernet, usb phy enablement (Andre Przywara) - Sunxi auto load from 128KB MMC offset (Andre Przywara) - Orange Pi Win Ethernet phy enablement (Jernej Skrabec)
| * configs: Orange Pi Win: enable ethernet phyJernej Skrabec2020-01-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | Orange Pi Win has gigabit ethernet port, but default U-Boot configuration for that board enabled ethernet driver but didn't enable realtek phy. Fix that. Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: Automate loading from 128KB MMC offsetAndre Przywara2020-01-261-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 067e0b9684d4 ("sunxi: Allow booting from 128KB SD/eMMC offset") we support having the SPL loaded from either the traditional 8KB SD card/eMMC offset, or from the alternative location at 128KB. However the sector to find the U-Boot image was still hard-coded at compile time, and had to be adjusted for one of the two choices. Since we can actually override the function to return the sector offset, we can just check the boot source byte there to select the proper offset based on from where the SPL was loaded. This allows the very same binary image to be loaded from either 128KB or 8KB, with the U-Boot proper image always being located just behind the SPL. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: SPL: Factor out sunxi_get_boot_source()Andre Przywara2020-01-261-5/+13
| | | | | | | | | | | | | | | | | | | | The Boot ROM write some boot source ID (SD card, eMMC, SPI, ...) into a certain location in SRAM, so the SPL can easily determine where to load U-Boot proper from. Factor out reading this value, as it will come in handy again shortly. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: Add Libre Computer ALL-H5-CC H5 boardChen-Yu Tsai2020-01-242-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Libre Computer ALL-H5-CC board is an upgraded version of the ALL-H3-CC. Changes include: - Gigabit Ethernet via external RTL8211E Ethernet PHY - 16 MiB SPI NOR flash memory - PoE tap header - Line out jack removed Only H5 variant test samples were made available, and the vendor is not certain whether other SoC variants would be made or not. Furthermore the board is a minor upgrade compared to the ALL-H3-CC. Thus the device tree simply includes the one for the ALL-H3-CC, and adds the changes on top. The device tree was synced over from the Linux kernel, along with other H3/H5 changes, in a previous patch. Thus only the defconfig and an entry to the MAINTAINERS file is added. Signed-off-by: Chen-Yu Tsai <wens@csie.org> [jagan: drop CONFIG_SYS_SPI_U_BOOT_OFFS] Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: Add Libre Computer ALL-H3-IT H5 boardChen-Yu Tsai2020-01-242-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Libre Computer ALL-H3-IT board is a small single board computer that is roughly the same size as the Raspberry Pi Zero, or around 20% smaller than a credit card. The board features: - H2, H3, or H5 SoC from Allwinner - 2 DDR3 DRAM chips - Realtek RTL8821CU based WiFi module - 128 Mbit SPI-NOR flash - micro-SD card slot - micro HDMI video output - FPC connector for camera sensor module - generic Raspberri-Pi style 40 pin GPIO header - additional pin headers for extra USB host ports, ananlog audio and IR receiver Only H5 variant test samples were made available, but the vendor does have plans to include at least an H3 variant. Thus the device tree is split much like the ALL-H3-CC, with a common dtsi file for the board design, and separate dts files including the common board file and the SoC dtsi file. The other variants will be added as they are made available. The device tree was synced over from the Linux kernel, along with other H3/H5 changes, in a previous patch. Thus only the defconfig and an entry to the MAINTAINERS file is added. Signed-off-by: Chen-Yu Tsai <wens@csie.org> [jagan: drop CONFIG_SYS_SPI_U_BOOT_OFFS] Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: move CONFIG_SYS_SPI_U_BOOT_OFFS out of defconfigAndre Przywara2020-01-249-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Allwinner SoCs the CONFIG_SYS_SPI_U_BOOT_OFFS value is not really a board choice: The boot ROM only loads the SPL from offset 0 of the SPI NOR flash, and loads at most 32KB. This is a similar situation as on MMC, so consequently we create our "joint" image (SPL + U-Boot proper) with that 32KB offset during the build. So define the value of this symbol to be 32KB by default for every Allwinner SoC. This removes the definition of this symbol from the _defconfig files, and avoids every board to define this over and over again. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: defconfig: R40 boards: enable USBAndre Przywara2020-01-242-0/+8
| | | | | | | | | | | | | | | | | | | | Now that the USB PHY on the Allwinner R40 SoC is supported, enable USB support for the two R40 boards U-Boot supports. For this we need to add the GPIO pin that powers the USB port(s), also enable the usual suspects (OHCI/EHCI support). Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * phy: sun4i-usb: Add Allwinner R40 supportAndre Przywara2020-01-242-0/+13
| | | | | | | | | | | | | | | | | | | | | | Since every Allwinner USB PHY seems to be slightly different from each other, we need to add the compatible string and the respective data structure to make it work on the R40/V40 SoC. Nothing spectacular this time, just one less USB controller than the H3. Copied from the Linux kernel. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: defconfig: Bananapi M2 Berry: enable EthernetAndre Przywara2020-01-241-0/+2
| | | | | | | | | | | | | | | | The M2 Berry features the normal Gigabit PHY connected to the SoC's MAC, so enable the sun8i-emac driver to support Ethernet on the board. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: dts: R40: Update Bananapi M2 Berry .dtsAndre Przywara2020-01-241-15/+120
| | | | | | | | | | | | | | | | Update the .dts file from the kernel, which carries much more nodes, some of them we need to enable USB and Ethernet support for the board. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * sunxi: H3/H5 Sync DT files from upstream Linux kernel as of next-20200108Chen-Yu Tsai2020-01-2443-723/+1550
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sync the device tree files and device tree header files from upstream Linux kernel, as of 2020-01-08. The commit synced to in the sunxi repo 98d25b0b266d Merge branch 'sunxi/dt-for-5.6' into sunxi/for-next which is also part of next-20200108. Changes brought in include: - cleanup of pinmux node names - addition of Security ID, MBUS, CSI, crypto engine, video codec, pmu, and thermal sensor device nodes for both SoCs - addition of deinterlacing engine device node on H3 - cleanup of RTC device node and addition of its clocks - various board cleanups and improvements - removal of pinmux node for GPIO lines - cpufreq / DVFS - HDMI output - UART-based Bluetooth - audio codec - USB ports - new boards Most of the changes don't concern U-boot. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
| * common: Update comment to show progressSimon Glass2020-01-241-3/+2
| | | | | | | | | | | | | | This file doesn't include any declarations anymore but it does include other headers. Update the header comment to mention this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Collect all the header files togetherSimon Glass2020-01-241-24/+0
| | | | | | | | | | | | | | There are many header files included here. Put them all together since the blank lines are not useful. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move and rename CONFIG_SYS_SUPPORT_64BIT_DATASimon Glass2020-01-247-38/+37
| | | | | | | | | | | | | | | | This is not really a CONFIG since it is not intended to be set by boards. Move it into the compiler header with other similar defines, and rename it. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move ROUND() into kernel.hSimon Glass2020-01-242-2/+2
| | | | | | | | | | | | Move this macro in with all the other rounding macros. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move check_member() to kernel.hSimon Glass2020-01-242-11/+11
| | | | | | | | | | | | | | The kernel.h file has a number of useful macros including a few related to structures. Move check_member() there too. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move hang() to the same header as panic()Simon Glass2020-01-24128-11/+153
| | | | | | | | | | | | | | | | | | | | At present panic() is in the vsprintf.h header file. That does not seem like an obvious choice for hang(), even though it relates to panic(). So let's put hang() in its own header. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Migrate a few more files] Signed-off-by: Tom Rini <trini@konsulko.com>
| * common: Move testdram() into init.hSimon Glass2020-01-2420-10/+26
| | | | | | | | | | | | This function is called during init so move it to the init header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move RAM-sizing functions to init.hSimon Glass2020-01-24103-5/+106
| | | | | | | | | | | | | | These functions relate to memory init so move them into the init header. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Rename and move source()Simon Glass2020-01-244-7/+15
| | | | | | | | | | | | | | | | This function has a very generic name which does not adequately describe its purpose. Rename it and move it to image.h, since it relates to reading a script from an image. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move the image globals into image.hSimon Glass2020-01-2420-4/+22
| | | | | | | | | | | | | | These three globals relate to image handling. Move them to the image header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * image: Rename load_addr, save_addr, save_sizeSimon Glass2020-01-2427-69/+74
| | | | | | | | | | | | | | | | | | These global variables are quite short and generic. In fact the same name is more often used locally for struct members and function arguments. Add a image_ prefix to make them easier to distinguish. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move reset_cpu() to the CPU headerSimon Glass2020-01-24102-6/+105
| | | | | | | | | | | | Move this function out of common.h and into a relevant header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move reset_misc() function to arch headerSimon Glass2020-01-242-1/+2
| | | | | | | | | | | | | | This function is only used on ARM devices. Move it out of the common file and to a arch-specific header. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move get_tbclk() to time.hSimon Glass2020-01-2427-8/+29
| | | | | | | | | | | | | | This function related to timer and most of the timer functions are in time.h, so move this function there. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move clock functions into a new fileSimon Glass2020-01-2471-11/+86
| | | | | | | | | | | | | | These three clock functions don't use driver model and should be migrated. In the meantime, create a new file to hold them. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move upmconfig() to ppc.hSimon Glass2020-01-243-3/+3
| | | | | | | | | | | | | | This file is only used by PowerPC so move it to an arch-specific header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move ll_boot_init() to init.hSimon Glass2020-01-249-7/+14
| | | | | | | | | | | | This is an init-related function so belongs in that file. Move it. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: arm: Move s_init() to an ARM-specific headerSimon Glass2020-01-242-2/+2
| | | | | | | | | | | | | | This function is only used on ARM devices so does not belong in the global common header file. Move it to an ARM header. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move device-tree setup functions to fdt_support.hSimon Glass2020-01-2438-12/+50
| | | | | | | | | | | | | | | | These functions relate to setting up the device tree for booting the OS. The fdt_support.h header file supports similar functions, so move these there. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Move type declarations to linux/types.hSimon Glass2020-01-242-4/+4
| | | | | | | | | | | | | | | | | | This file already has lots of type declarations so it seems better to put all of them there. Move them. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Drop the symbol_lookup() declarationSimon Glass2020-01-241-3/+0
| | | | | | | | | | | | | | This function is not called anywhere so we can drop the declaration. If it is needed one day, it should be added in its own header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Drop CONFIG_HAS_POSTSimon Glass2020-01-242-5/+3
| | | | | | | | | | | | | | | | This only exists to control whether the post/ directory is build. It is just as easy to check this in the Makefile. Remove CONFIG_HAS_POST and use an ifdef in the Makefile instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Drop CONFIG_POST_STD/ALT_LISTSimon Glass2020-01-243-6/+1
| | | | | | | | | | | | | | | | These CONFIG options are not used anymore. CONFIG_POST_ALT_LIST just causes CONFIG_POST_STD_LIST to be set and it causes tests.c to be compiled. So just make compiling tests.c unconditional. Signed-off-by: Simon Glass <sjg@chromium.org>