summaryrefslogtreecommitdiff
path: root/arch/arm/mach-exynos/include
AgeCommit message (Collapse)Author
2025-11-07mmc: exynos_dw_mmc: Add quirk for disabling FMPSam Protsenko
Add DWMCI_QUIRK_DISABLE_FMP which disables Flash Memory Protector (FMP) during driver's init. It's usually done by early bootloaders, but in some cases (like USB boot) the FMP may be left unconfigured. The issue was observed on Exynos850 SoC (the E850-96 board). Enabling this quirk makes eMMC functional even in such cases. No functional change, as this feature is only added here but not enabled for any chips yet. Signed-off-by: Sam Protsenko <[email protected]> Reviewed-by: Anand Moon <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-06-14arch: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in arch/* Signed-off-by: E Shattow <[email protected]>
2024-08-19mmc: exynos_dw_mmc: Improve coding styleSam Protsenko
Fix most of checkpatch warnings and other obvious style issues. No functional change. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-08-19mmc: exynos_dw_mmc: Add support for ARM64 Exynos chipsSam Protsenko
Add the compatible entry and corresponding chip data for Exynos7 compatible chips, which covers modern ARM64 based Exynos chips. They have some differences w.r.t. old ARM32 Exynos chips: - CLKSEL register offset is different - 64-bit IDMAC descriptor and 64-bit IDMAC registers are used (implemented in dw_mmc core driver) In terms of the driver implementation, the CIU clock is obtained via CCF framework (as opposed to ad-hoc clock driver implementation for ARM32 chips). Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-08-19arm: exynos: Add header guard for dwmmc.hSam Protsenko
Add missing header guard to prevent possible build errors. Fixes: 77b55e8cfcee ("ARM: exynos: move SoC sources to mach-exynos") Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-07-15arm: mach: exynos: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2024-05-20Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini
As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-20Merge tag 'v2024.07-rc3' into nextTom Rini
Prepare v2024.07-rc3
2024-05-19Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""Tom Rini
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"' I failed to notice that b4 noticed it was based on next and so took that as the base commit and merged that part of next to master. This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-13arm: Move sev() and wfe() definitions to common Arm header filePeter Hoyes
The sev() and wfe() asm macros are currently defined only for mach-exynos. As these are common Arm instructions, move them to the common asm/system.h header file, for both Armv7 and Armv8, so they can be used by other machines. wfe may theoretically trigger a context switch if an interrupt occurs so add a memory barrier to this call. Signed-off-by: Peter Hoyes <[email protected]> Reviewed-by: Andre Przywara<[email protected]>
2024-05-06arm: exynos: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all mach-exynos files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2023-11-13arm: exynos: Include missing CPU header in gpio.hSam Protsenko
arch/arm/include/asm/arch/gpio.h relies on definitions from cpu.h. Include it explicitly in gpio.h. Otherwise next build error may occur: In file included from ./arch/arm/include/asm/gpio.h:7, from include/cros_ec.h:14, from board/samsung/common/board.c:8: ./arch/arm/include/asm/arch/gpio.h:1357:4: error: 'EXYNOS4_GPIO_PART1_BASE' undeclared here (not in a function); did you mean 'EXYNOS4_GPIO_MAX_PORT'? 1357 | { EXYNOS4_GPIO_PART1_BASE, EXYNOS4_GPIO_MAX_PORT_PART_1 }, | ^~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2023-10-09exynos: Cleanup exynos_initTom Rini
- None of the callers perform error checking and based on the non-empty versions of this function, there's no checking to be done, so make this a void. - Add a default weak version of the function. - Remove the empty versions of exynos_init now that we have a weak version. Signed-off-by: Tom Rini <[email protected]>
2023-01-18trace: Use notrace for shortSimon Glass
The attribute syntax is quite verbose. Use the macro provided for this purpose. Signed-off-by: Simon Glass <[email protected]>
2022-12-23exynos: Rework legacy PWM usageTom Rini
The way that the timer support is currently done for exynos/nexell platforms relies on the legacy PWM infrastructure, and that needs to be updated. However, we really cannot safely undef CONFIG_DM_PWM to build the timer.c file without warnings. For now, rename the relevant legacy functions to be prefixed with s5p_ and add prototypes to the arch pwm.h files. Cc: Minkyu Kang <[email protected]> Cc: Jaehoon Chung <[email protected]> Cc: Dzmitry Sankouski <[email protected]> Cc: Stefan Bosch <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-30video: samsung: Drop old LCD codeSimon Glass
This relies on the old LCD implementation which is to be removed. Drop it. Signed-off-by: Simon Glass <[email protected]>
2022-06-28arm: exynos: Remove old pwm backlight driverTom Rini
Remove the unused older exynos pwm backlight driver. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2022-06-28arm: samsung: Remove dead LCD codeTom Rini
Since bb5930d5c97f ("exynos: video: Convert several boards to driver model for video") there have been no callers of any of the exynos_lcd_* family of functions. Remove these from the boards, and then remove unused logo and related code as well. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2022-01-19doc: replace @return by Return:Heinrich Schuchardt
Sphinx expects Return: and not @return to indicate a return value. find . -name '*.c' -exec \ sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \; find . -name '*.h' -exec \ sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \; Signed-off-by: Heinrich Schuchardt <[email protected]>
2021-07-27samsung: exynos: Convert SROMC interface to a driverSimon Glass
Add a bus driver for this and use it to configure the bus parameters for the Ethernet interface. Drop the old pre-driver-model code. Switch over to use driver model for Ethernet. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2021-01-13samsung: arndale: remove board_mmc_init functionJaehoon Chung
Remove board_mmc_init function. It will be probed with driver-model. Signed-off-by: Jaehoon Chung <[email protected]> Reviewed-by: Peng Fan <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2020-05-18common: Drop linux/bitops.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop linux/delay.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-01-28arm: exynos: Read default MMC device from XOM[7:5] pinsMarek Szyprowski
XOM pins provide information for iROM bootloader about the boot device. Those pins are mapped to lower bits of OP_MODE register (0x10000008), which is common for all Exynos SoC variants. Set the default MMC device id to reflect the boot device selected by XOM[7:5] pins (2 for the SD or 0 for the eMMC). Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2019-02-09samsung: mmc: Drop old MMC init codeSimon Glass
Now that these boards use driver model we can drop the old code. At present s5p_mmc_init() is still used by goni and smdkv310 so cannot be removed unless we remove those boards. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2019-01-04exynos: Leave the compiler to choose the register to avoid possible r0 ↵Guillaume GARDET
corruption Reported-by: Siarhei Siamashka <[email protected]> Signed-off-by: Guillaume GARDET <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Tom Rini <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2019-01-03exynos: allow SPL to build in thumb modeGuillaume GARDET
Building peach-pi smdk5420 and peach-pit with thumb mode for SPL ends-up in the following error: Error: Thumb encoding does not support an immediate here -- `msr cpsr_c,#0x13|0xC0' Use an intermediate register to be able to use thumb for exynos5 SPL. Signed-off-by: Guillaume GARDET <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Tom Rini <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2018-12-13exynos: Add support for exynos5420 i2s pinmuxSimon Glass
Allow setting the i2s pinmux correctly on exyno5420 so that i2c can be used on that SoC. Also rename EXYNOS_AUDSS to something consistent with other naming. Signed-off-by: Simon Glass <[email protected]>
2018-12-13exynos: Add proid_is_exynos542x() for common 542xSimon Glass
Add a convenience function for any Exynos 542x chip. Signed-off-by: Simon Glass <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2016-08-05ARM: Rework and correct barrier definitionsTom Rini
As part of testing booting Linux kernels on Rockchip devices, it was discovered by Ziyuan Xu and Sandy Patterson that we had multiple and for some cases incomplete isb definitions. This was causing a failure to boot of the Linux kernel. In order to solve this problem as well as cover any corner cases that we may also have had a number of changes are made in order to consolidate things. First, <asm/barriers.h> now becomes the source of isb/dsb/dmb definitions. This however introduces another complexity. Due to needing to build SPL for 32bit tegra with -march=armv4 we need to borrow the __LINUX_ARM_ARCH__ logic from the Linux Kernel in a more complete form. Move this from arch/arm/lib/Makefile to arch/arm/Makefile and add a comment about it. Now that we can always know what the target CPU is capable off we can get always do the correct thing for the barrier. The final part of this is that need to be consistent everywhere and call isb()/dsb()/dmb() and NOT call ISB/DSB/DMB in some cases and the function names in others. Reviewed-by: Stephen Warren <[email protected]> Tested-by: Stephen Warren <[email protected]> Acked-by: Ziyuan Xu <[email protected]> Acked-by: Sandy Patterson <[email protected]> Reported-by: Ziyuan Xu <[email protected]> Reported-by: Sandy Patterson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2016-07-12mmc: exynos_dw_mmc: remove the unused functionJaehoon Chung
This function have maintained for supporting Non-FDT. Now, Almost all SoC are changed to fdt style. So there are no that this function is called anywhere. Signed-off-by: Jaehoon Chung <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: video: Convert several boards to driver model for videoSimon Glass
Update several boards to use driver model for video. This involves changes to the EDP and FIMD (frame buffer) drivers. Existing PWM, simple-panel and pwm-backlight drivers are used. These work without additional configuration since they use the device tree settings in the same way as Linux. Boards converted are: - snow - spring - peach-pit - peach-pi All have been tested. Not converted: - MIPI display driver - s5pc210_universal - smdk5420 - smdk5250 - trats - trats2 Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: video: Rename edp_device_info to exynos_dp_privSimon Glass
Rename this function to better fit with driver model. It is the private data for the exynos EDP driver. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: Simplify calling of exynos_dp_phy_ctrl()Simon Glass
This function controls enabling the EDP PHY. Rename it and drop the existing weak functions, which are confusing. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: video: Move mipi_lcd_device_dt into a functionSimon Glass
In preparation for making this a parameter, move it into the function that sets it up. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: video: Move struct exynos_platform_mipi_dsim into vidinfoSimon Glass
Put the pointer to this structure in struct vidinfo so that we can reference it without it being global. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: video: Remove use of vidinfo_t typedefSimon Glass
Use 'struct vidinfo' instead so that we can change this to a struct with a different name in future. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25exynos: video: Drop dead codeSimon Glass
We always use device tree with video, so can drop these #ifdefs. Some of the hardware addresses are not needed either. Signed-off-by: Simon Glass <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-05-25arm: exynos: realign the code to allow support for newer 64-bit platformsThomas Abraham
The existing Exynos 32-bit platform support needs to be realigned in order to support newer 64-bit Exynos platforms. The driver model will be utlized for drivers on the 64-bit Exynos platforms and so some of the older platform support code would not be required for the newer 64-bit Exynos platforms. Cc: Minkyu Kang <[email protected]> Signed-off-by: Thomas Abraham <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2016-02-06Use correct spelling of "U-Boot"Bin Meng
Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2015-11-02dm: adc: add Exynos54xx compatible ADC driverPrzemyslaw Marczak
This commit adds driver for Exynos54xx ADC subsystem. The driver is implemented using driver model, amd provides ADC uclass's methods for ADC single channel operations: - adc_start_channel() - adc_channel_data() - adc_stop() The basic parameters of ADC conversion, are: - sample rate: 600KSPS - output the data as average of 8 time conversion ADC features: - sample rate: 600KSPS - resolution: 12-bit - channels: 10 (analog multiplexer) Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2015-11-02Exynos5422/5800: set cpu id to 0x5422Przemyslaw Marczak
The proper CPU ID for those Exynos variants is 0x5422, but before the 0x5800 was set. This commit fix this back. Changes: - set cpu id to 0x5422 instead of 0x5800 - remove macro proid_is_exynos5800() - add macro proid_is_exynos5422() - change the calls to proid_is_exynos5800() with new macro Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Simon Glass <[email protected]> Tested-by: Anand Moon <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2015-08-18of: clean up OF_CONTROL ifdef conditionalsMasahiro Yamada
We have flipped CONFIG_SPL_DISABLE_OF_CONTROL. We have cleansing devices, $(SPL_) and CONFIG_IS_ENABLED(), so we are ready to clear away the ugly logic in include/fdtdec.h: #ifdef CONFIG_OF_CONTROL # if defined(CONFIG_SPL_BUILD) && !defined(SPL_OF_CONTROL) # define OF_CONTROL 0 # else # define OF_CONTROL 1 # endif #else # define OF_CONTROL 0 #endif Now CONFIG_IS_ENABLED(OF_CONTROL) is the substitute. It refers to CONFIG_OF_CONTROL for U-boot proper and CONFIG_SPL_OF_CONTROL for SPL. Also, we no longer have to cancel CONFIG_OF_CONTROL in include/config_uncmd_spl.h and scripts/Makefile.spl. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Linus Walleij <[email protected]>
2015-08-17ARM: exynos: move SoC sources to mach-exynosThomas Abraham
Move arch/arm/cpu/armv7/exynos/* to arch/arm/mach-exynos/* to allow reuse of existing code for ARMv8 based Exynos platforms. Cc: Minkyu Kang <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Masahiro Yamada <[email protected]> Signed-off-by: Thomas Abraham <[email protected]> Reviewed-by: Masahiro Yamada <[email protected]> Tested-by: Przemyslaw Marczak <[email protected]> Acked-by: Przemyslaw Marczak <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>