summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configs: Remove unnecessary CONFIG_DM_PCI_COMPAT=yTom Rini2021-07-07139-139/+0
| | | | | | | The following boards no longer need CONFIG_DM_PCI_COMPAT enabled, so remove that. Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove T4160RDB boardTom Rini2021-07-0716-316/+10
| | | | | | | | 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-0714-1573/+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-078-757/+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-0716-1160/+11
| | | | | | | | 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-0741-5091/+6
| | | | | | | | | | | 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-0744-3765/+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 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 kmcoge4 boardTom Rini2021-07-0715-1297/+0
| | | | | | | | This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. Cc: Valentin Longchamp <valentin.longchamp@hitachi-powergrids.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Remove MPC8568MDS boardTom Rini2021-07-0716-1252/+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-0714-421/+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-0720-1181/+9
| | | | | | | | | 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-0720-1141/+10
| | | | | | | | | 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-078-1007/+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-0715-1676/+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-0714-1525/+1
| | | | | | | | 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-0713-1898/+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-077-655/+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-078-640/+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-0716-1030/+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-0711-1137/+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>
* m68k: Remove M5475x boardsTom Rini2021-07-0742-2654/+4
| | | | | | | | | These board has not been converted to CONFIG_DM_PCI by the deadline. Remove them. As this is the last of the mcf547x_8x family of boards, remove that support as well. Cc: TsiChung Liew <Tsi-Chung.Liew@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* m68k: Remove M5485 boardsTom Rini2021-07-0725-891/+1
| | | | | | | | | These board has not been converted to CONFIG_DM_PCI by the deadline. Remove them. As this is all of the CONFIG_M548x platforms as well, remove that code. Cc: TsiChung Liew <Tsi-Chung.Liew@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* ppc: Drop MPC837XERDB_SLAVE for nowTom Rini2021-07-071-140/+0
| | | | | | | Drop the MPC837XERDB_SLAVE configuration. Cc: Sinan Akman <sinan@writeme.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* pci: Remove non-DM board_pci_fixup_dev() declarationTom Rini2021-07-071-6/+0
| | | | | | | | With the ventana boards migrated to DM_PCI and DM_ETH, we can remove this prototype. Cc: Stefano Babic <sbabic@denx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge tag 'dm-pull-6jul21' of https://source.denx.de/u-boot/custodians/u-boot-dmTom Rini2021-07-0795-24/+348
|\ | | | | | | various minor sandbox improvements
| * tools: Fix default target compile tools in Python toolsAlper Nebi Yasak2021-07-061-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 1e4687aa47ed ("binman: Use target-specific tools when cross-compiling"), a utility function was implemented to get preferred compilation tools using environment variables like CC and CROSS_COMPILE. Although it intended to provide custom default tools (same as those in the global Makefile) when no relevant variables were set (for example using "gcc" for "cc"), it is only doing so when CROSS_COMPILE is set and returning the literal name of the tool otherwise. Remove the check for an empty CROSS_COMPILE, which makes the function use it as an empty prefix to the custom defaults and return the intended executables. Fixes: 1e4687aa47ed ("binman: Use target-specific tools when cross-compiling") Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
| * sandbox: cros-ec: Add tests for the Chromium OS EC PWM driverAlper Nebi Yasak2021-07-0613-5/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a limited pulse-width modulator to sandbox's Chromium OS Embedded Controller emulation. The emulated PWM device supports multiple channels but can only set a duty cycle for each, as the actual EC doesn't expose any functionality or information other than that. Though the EC supports specifying the PWM channel by its type (e.g. display backlight, keyboard backlight), this is not implemented in the emulation as nothing in U-Boot uses this type specification. This emulated PWM device is then used to test the Chromium OS PWM driver in sandbox. Adding the required device node to the sandbox test device-tree unfortunately makes it the first PWM device, so this also touches some other tests to make sure they still use the sandbox PWM. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * remove struct uclass_driver::opsRasmus Villemoes2021-07-062-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each _device_ belonging to a given uclass of course has its own ->ops, of a type determined by and known to the uclass. However, no instance of a uclass_driver seems to populate ->ops, and the only reference to it in code is this relocation. Moreover, it's not really clear what could sensibly be assigned; it would have to be some "struct uclass_ops *" providing a set of methods for the core to call on that particular uclass, but should the need for that ever arise, it would be better to have a member of that particular type instead of void*. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
| * sandbox: don't refer to symbol _initHeinrich Schuchardt2021-07-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC provides a symbol _init in crti.o on x86_64 and aarch64 but not on RISC-V. The following lines leads to a build error for sandbox_defconfig on RISC-V due to the missing symbol: common/board_f.c:269: #elif defined(CONFIG_SANDBOX) || defined(CONFIG_EFI_APP) gd->mon_len = (ulong)&_end - (ulong)_init; The sandbox code is not copied into the memory allocated using mmap(). Hence we can safely use gd->mon_len = 0 to avoid the reference to _init. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Rick Chen <rick@andestech.com>
| * sandbox: fix sandbox_reset()Heinrich Schuchardt2021-07-061-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | state_uninit() and dm_uninit() are mutually exclusive: state_uninit() prints via drivers. So it cannot be executed after dm_uninit(). dm_uninit() requires memory. So it cannot be executed after state_uninit() which releases all memory. Just skip dm_uninit() when resetting the sandbox. We will wake up in a new process and allocate new memory. So this cleanup is not required. We don't do it in sandbox_exit() either. This avoids a segmentation error when efi_reset_system_boottime() is invoked by a UEFI application. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * sandbox: ensure that state->ram_buf is in low memoryHeinrich Schuchardt2021-07-061-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Addresses in state->ram_buf must be in the low 4 GiB of the address space. Otherwise we cannot correctly fill SMBIOS tables. This shows up in warnings like: WARNING: SMBIOS table_address overflow 7f752735e020 Ensure that state->ram_buf is initialized by the first invocation of os_malloc(). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
| * dm: define LOG_CATEGORY for all uclassPatrick Delaunay2021-07-0677-0/+157
| | | | | | | | | | | | | | | | Define LOG_CATEGORY for all uclass to allow filtering with log command. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * sandbox: Support signal handling only when requestedSimon Glass2021-07-062-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present if sandbox crashes it prints a message and tries to exit. But with the recently introduced signal handler, it often seems to get stuck in a loop until the stack overflows: Segmentation violation Segmentation violation Segmentation violation Segmentation violation Segmentation violation Segmentation violation Segmentation violation ... The signal handler is only useful for a few tests, as I understand it. Make it optional. Signed-off-by: Simon Glass <sjg@chromium.org>
* | Merge branch '2021-07-06-update-to-gcc11-clang11'Tom Rini2021-07-0721-72/+76
|\ \ | | | | | | | | | | | | | | | - Update CI to use gcc-11.1 and clang-11 to build everything. This requires a few fixes to the code that these newer compilers have exposed.
| * | Azure/GitLab: Move to gcc-11.1.0 and LLVM-11Tom Rini2021-07-073-55/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move to gcc-11.1.0 builds from kernel.org for supported platforms and LLVM-11 for those tests. - As Heinrich has noted, the RISC-V platform specification has a profile OS-A for running rich operating systems like Linux and BSD. This profile requires 64bit and UEFI conforming to the EBBR. Only the 'embedded' profile may use 32bit. Given this, drop grub for 32bit RISC-V as it no longer compiles with gcc-11.1 and upstream is unlikely to fix it: https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html - Update to grub-2.06 release to address other issues of building with gcc-11.1. - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Rick Chen <rick@andestech.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * | x86: Drop _X86EMU_env definition when CONFIG_BIOSEMU is usedBin Meng2021-07-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With x86 we can execute an option ROM either natively or using the x86 emulator (if enabled with CONFIG_BIOSEMU). Both of these share the _X86EMU_env variable, with the native code using it to hold register state during interrupt processing. At present, in 32-bit U-Boot, the variable is declared twice, once in common code and once in code only compiled with CONFIG_BIOSEMU. With GCC 11 this causes a 'multiple definitions' error on boards with CONFIG_BIOSEMU. Drop the emulator definition when CONFIG_BIOSEMU is used. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
| * | bootstage: Eliminate when not enabledTom Rini2021-07-0710-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we do not have bootstage enabled, rather than include an empty dummy function, we just don't reference it. This saves us space in some tight builds. This also shows a few cases where show_boot_progress was incorrectly guarded before. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
| * | Makefile: Disable gcc-10.0 introduced warningsTom Rini2021-07-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow what the Linux Kernel does here and disable the 'zero-length-bounds', 'array-bounds' and 'stringop-overflow' warnings here. This brings in commits 5c45de21a2223, 44720996e2d79 and 5a76021c2eff7 from the Linux Kernel. Signed-off-by: Tom Rini <trini@konsulko.com>
| * | pinctrl: mscc: Fix multiple definition errorTom Rini2021-07-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With gcc-11 we get a multiple errors here as the declarations for mscc_pinctrl_ops and mscc_gpio_ops are missing an extern. CC: Gregory CLEMENT <gregory.clement@bootlin.com> Cc: Lars Povlsen <lars.povlsen@microchip.com> Cc: Horatiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Horatiu Vultur <horatiu.vultur@microchip.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | eb_cpu5282: Declare diplay_width / display_height as externsTom Rini2021-07-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The board code here references the display_width / display_height variables set in the video driver, declare these as externs as gcc-11 will notice and lead to a multiple definition error. Signed-off-by: Tom Rini <trini@konsulko.com>
| * | freescale: Drop unnecessary cpld_data_t non-typedefTom Rini2021-07-073-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some board cpld.h files the definition of the cpld_data struct not-quite makes a typedef for cpld_data_t. This problem is caught with gcc-11 as a multiple definition error. As there are no users of this non-typedef, fix this by not declaring it one to begin with. Cc: Priyanka Jain <priyanka.jain@nxp.com> Cc: Shengzhou Liu <Shengzhou.Liu@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
| * | ARM: mvebu: a38x: Correct mismatched bound warningsTom Rini2021-07-071-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With gcc-11 we see: drivers/ddr/marvell/a38x/ddr3_debug.c:672:47: error: argument 2 of type 'u32[5]' {aka 'unsigned int[5]'} with mismatched bound [-Werror=array-parameter=] 672 | int ddr3_tip_read_adll_value(u32 dev_num, u32 pup_values[MAX_INTERFACE_NUM * MAX_BUS_NUM], | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/ddr/marvell/a38x/ddr3_training_ip_engine.h:10, from drivers/ddr/marvell/a38x/ddr3_init.h:17, from drivers/ddr/marvell/a38x/ddr3_debug.c:6: drivers/ddr/marvell/a38x/ddr3_training_ip_flow.h:116:47: note: previously declared as 'u32[]' {aka 'unsigned int[]'} And similar warnings. Correct these by updating the prototype. Remove the prototype for ddr3_tip_read_pup_value as it is unused. Signed-off-by: Tom Rini <trini@konsulko.com>
* | | Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini2021-07-072-3/+4
|\ \ \
| * | | riscv: dts: add OpenPiton RISC-V board dts supportTianrui Wei2021-07-072-3/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous device tree for OpenPiton emits a warning during compilation. This commit fixes the previous warning adds dts to the OpenPiton RISC-V board and added the device tree to MAINTAINER file. Signed-off-by: Tianrui Wei <tianrui-wei@outlook.com> Reported-by: Tom Rini <trini@konsulko.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
* | | Merge tag 'u-boot-atmel-fixes-2021.10-a' of ↵Tom Rini2021-07-078-8/+11
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | https://source.denx.de/u-boot/custodians/u-boot-atmel First set of u-boot-atmel fixes for 2021.10 cycle: This small fixes set is dedicated to fixing the onewire subsystem for the at91 boards which was broken since 2020.04.
| * | ARM: dts: at91: fix the GPIO polarity for onewireEugen Hristev2021-07-067-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GPIO polarity for onewire must be GPIO_ACTIVE_HIGH. On previous versions this used to work as it looks like the right flag values are being passed since : https://lists.denx.de/pipermail/u-boot/2020-April/407195.html And that series broke the old functionality for onewire nodes. Some boards had the correct value for the polarity, but it wasn't clear so I replaced it with the right macro for the flag, instead of an empty value. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
| * | w1: w1-gpio: claim the gpio with correct initial flagEugen Hristev2021-07-061-1/+1
| |/ | | | | | | | | | | | | gpio_request_by_name should be called with proper flags. The 0 value flag is invalid, and causes bad initialization of the gpio. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
* | Merge branch '2021-07-06-platform-updates'Tom Rini2021-07-0672-742/+4320
|\ \ | | | | | | | | | | | | | | | | | | | | | - mpc8379erdb DM_USB, DM_PCI and DM_ETH support. - Drop PCI support from the integrator family of boards - Add synquacer support - Assorted lpc32xx updates and improvements - snapdragon (and related) fixes, Broadcom iproc update
| * | serial: serial_msm: Ensure BAM/single character mode are disabledStephan Gerhold2021-07-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, the U-Boot serial_msm driver does not initialize the UART_DM_DMEN register with the required value. Usually this does not cause any problems, because there is Qualcomm's LK bootloader running before U-Boot which initializes the register with the correct value. It's important that this register is initialized correctly, because the U-Boot driver does not make use of the BAM/DMA or single character mode functionality of the UART controller. A different bootloader before U-Boot might initialize the register differently. For example, on DragonBoard 410c U-Boot can also be installed to the "aboot" partition (replacing LK entirely). In this case U-Boot is loaded directly by SBL, which seems to use the single-character mode for some reason. In single character mode there is always just one char in the FIFO, instead of the 4 characters expected by msm_serial_fetch(). It also causes issues with "earlycon" later in the Linux kernel, which tries to output 4 chars at once, but only the first char will be written. This causes early UART log in Linux to be corrupted like this: [ 00ano:ameoi .Q1B[ 00ac _idaM00080oo'ahani-lcle._20). 15NdNii 5 SPMSJ20:U2 [ 00rkoolmsamel [ 00Fw ]elamletopsioble [ 00ore instead of [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd030] [ 0.000000] Machine model: Qualcomm Technologies, Inc. APQ 8016 SBC [ 0.000000] earlycon: msm_serial_dm0 at MMIO 0x00000000078b0000 (options '') [ 0.000000] printk: bootconsole [msm_serial_dm0] enabled Make sure to initialize UART_DM_DMEN correctly to fix this issue when loading U-Boot directly after SBL (instead of through LK). There is no functional difference when loading U-Boot through LK since LK also initializes UART_DM_DMEN to 0x0. [1] [1]: https://git.linaro.org/landing-teams/working/qualcomm/lk.git/tree/platform/msm_shared/uart_dm.c?h=dragonboard410c-LA.BR.1.2.7-03810-8x16.0-linaro3#n203 Cc: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
| * | arm: dts: db410c: Add missing cd-gpios for SD card detectionStephan Gerhold2021-07-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It looks like SD card detection is broken at the moment for DB410c. The eMMC is detected correctly, but the SD card is not. This is probably similar to the issue fixed in commit 850514740358 ("mmc: msm_sdhci: Use mmc_of_parse for setting host_caps") for eMMC, except that the SD card does not have a property like "non-removable" that skips the card detection. The SDHCI on DB410c cannot detect itself if a SD card is inserted, so add the necessary cd-gpios to make SD card detection work again. While at it, fix the #gpio-cells for the soc_gpios to avoid DTC warnings - the soc_gpios are actually already used with two cells for the gpio-leds so this was just wrong all the time. Cc: Ramon Fried <rfried.dev@gmail.com> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>