summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
AgeCommit message (Collapse)Author
2021-05-11ARM: dts: exynos: enable PMIC wakeup from suspend on Odroid X/U3Krzysztof Kozlowski
The RTC on Maxim max77686 PMIC can wakeup the system from suspend to RAM. Add a generic property for this. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20210420164943.11152-6-krzysztof.kozlowski@canonical.com
2021-03-19ARM: dts: exynos: white-space cleanupsKrzysztof Kozlowski
Fixups some white-space issues. Checkpatch reported: WARNING: Block comments should align the * on each line WARNING: please, no spaces at the start of a line ERROR: code indent should use tabs where possible Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20210315124313.114842-2-krzysztof.kozlowski@canonical.com
2021-03-07ARM: dts: exynos: add input clock to CMU in Exynos4412 OdroidKrzysztof Kozlowski
Commit 68605101460e ("ARM: dts: exynos: Add support for audio over HDMI for Odroid X/X2/U3") added assigned clocks under Clock Management Unit. However the dtschema expects "clocks" property if "assigned-clocks" are used. Add reference to input clock to silence the dtschema warnings: arch/arm/boot/dts/exynos4412-odroidu3.dt.yaml: clock-controller@10030000: 'clocks' is a dependency of 'assigned-clocks' Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200906142146.21266-2-krzk@kernel.org
2021-03-07ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 familyKrzysztof Kozlowski
The Maxim PMIC datasheets describe the interrupt line as active low with a requirement of acknowledge from the CPU. Without specifying the interrupt type in Devicetree, kernel might apply some fixed configuration, not necessarily working for this hardware. Additionally, the interrupt line is shared so using level sensitive interrupt is here especially important to avoid races. Fixes: eea6653aae7b ("ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common") Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20201210212534.216197-6-krzk@kernel.org
2020-12-16Merge tag 'arm-soc-dt-5.11' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM device tree updates from Arnd Bergmann: "Across all platforms, there is a continued move towards DT schema for validating the dts files. As a result there are bug fixes for mistakes that are found using these schema, in addition to warnings from the dtc compiler. As usual, many changes are for adding support for additional on-chip and on-board components in the machines we already support. The newly supported SoCs for this release are: - MStar Infinity2M, a low-end IP camera chip based on a dual-core Cortex-A7, otherwise similar to the Infinity chip we already support. This is also known as the SigmaStar SSD202D, and we add support for the Honestar ssd201htv2 development kit. - Nuvoton NPCM730, a Cortex-A9 based Baseboard Management Controller (BMC), in the same family as the NPCM750. This gets used in the Ampere Altra based "Fii Kudo" server and the Quanta GSJ, both of which are added as well. - Broadcom BCM4908, a 64-bit home router chip based on Broadcom's own Brahma-B53 CPU. Support is also added for the Asus ROG Rapture GT-AC5300 high-end WiFi router based on this chip. - Mediatek MT8192 is a new SoC based on eight Cortex-A76/A55 cores, meant for faster Chromebooks and tablets. It gets added along with its reference design. - Mediatek MT6779 (Helio P90) is a high-end phone chip from last year's generation, also added along with its reference board. This one is still based on Cortex-A75/A55. - Mediatek MT8167 is a version of the already supported MT8516 chip, both based on Cortex-A35. It gets added along with the "Pumpkin" single board computer, but is likely to also make its way into low-end tablets in the future. For the already supported chips, there are a number of new boards. Interestingly there are more 32-bit machines added this time than 64-bit. Here is a brief list of the new boards: - Three new Mikrotik router variants based on Marvell Prestera 98DX3236, a close relative of the more common Armada XP - A reference board for the Marvell Armada 382 - Three new servers using ASpeed baseboard management controllers, the actual machines being from Bytedance, Facebook and IBM, and one machine using the Nuvoton NPCM750 BMC. - The Galaxy Note 10.1 (P4) tablet, using an Exynos 4412. - The usual set of 32-bit i.MX industrial/embedded hardware: * Protonic WD3 (tractor e-cockpit) * Kamstrup OMNIA Flex Concentrator (smart grid platform) * Van der Laan LANMCU (food storage) * Altesco I6P (vehicle inspection stations) * PHYTEC phyBOARD-Segin/phyCORE-i.MX6UL baseboard - DH electronics STM32MP157C DHCOM, a PicoITX carrier board for the aleady supported DHCOM module - Three new Allwinner SoC based single-board computers: * NanoPi R1 (H3 based) * FriendlyArm ZeroPi (H3 based) * Elimo Initium SBC (S3 based) - Ouya Game Console based on Nvidia Tegra 3 - Version 5 of the already supported Zynq Z-Turn MYIR Board - LX2162AQDS, a reference platform for NXP Layerscape LX2162A, which is a repackaged 16-core LX2160A - A series of Kontron i.MX8M Mini baseboard/SoM versions - Espressobin Ultra, a new variant of the popular Armada 3700 based board, - IEI Puzzle-M801, a rackmount network appliance based on Marvell Armada 8040 - Microsoft Lumia 950 XL, a phone - HDK855 and HDK865 Hardware development kits for Qualcomm sm8250 and sm8150, respectively - Three new board variants of the "Trogdor" Chromebook (sc7180) - New board variants of the Renesas based "Kingfisher" and "HiHope" reference boards - Kobol Helios64, an open source NAS appliance based on Rockchips RK3399 - Engicam PX30.Core, a SoM based on Rockchip PX30, along with a few carrier boards" * tag 'arm-soc-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (679 commits) arm64: dts: sparx5: Add SGPIO devices arm64: dts: sparx5: Add reset support dt-bindings: gpio: Add a binding header for the MSC313 GPIO driver ARM: mstar: SMP support ARM: mstar: Wire up smpctrl for SSD201/SSD202D ARM: mstar: Add smp ctrl registers to infinity2m dtsi ARM: mstar: Add dts for Honestar ssd201htv2 ARM: mstar: Add chip level dtsi for SSD202D ARM: mstar: Add common dtsi for SSD201/SSD202D ARM: mstar: Add infinity2m support dt-bindings: mstar: Add Honestar SSD201_HT_V2 to mstar boards dt-bindings: vendor-prefixes: Add honestar vendor prefix dt-bindings: mstar: Add binding details for mstar,smpctrl ARM: mstar: Fill in GPIO controller properties for infinity ARM: mstar: Add gpio controller to MStar base dtsi ARM: zynq: Fix incorrect reference to XM013 instead of XM011 ARM: zynq: Convert at25 binding to new description on zc770-xm013 ARM: zynq: Fix OCM mapping to be aligned with binding on zc702 ARM: zynq: Fix leds subnode name for zc702/zybo-z7 ARM: zynq: Rename bus to be align with simple-bus yaml ...
2020-11-13ARM: dts: exynos: revert "add input clock to CMU in Exynos4412 Odroid"Krzysztof Kozlowski
This reverts commit eaf2d2f6895d676dda6c95a652b58594f2887720. The commit eaf2d2f6895d ("ARM: dts: exynos: add input clock to CMU in Exynos4412 Odroid") breaks probing of usb3503 USB hub on Odroid U3. It changes the order of clock drivers probe: the clkout (Exynos PMU) driver is probed before the main clk-exynos4 driver. The clkout driver on Exynos4412 depends on clk-exynos4 but it does not support deferred probe, therefore this dependency and changed probe order causes probe failure. The usb3503 USB hub on Odroid U3 on the other hand requires clkout clock. This can be seen in logs: [ 5.007442] usb3503 0-0008: unable to request refclk (-517) Reported-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200921174818.15525-1-krzk@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-05ARM: dts: exynos: Enable DWC2 dual-role support on OdroidU3+ boardsMarek Szyprowski
MicroUSB port on OdroidU3+ boards can operate both as peripheral or as host port. Till now it was configured as pheriperal only port, but it turned out that the DWC2 driver code already handles everything needed to support USB role-switch, so switch it to dual-role (OTG) mode. This has no effect on OdroidU3 (without 'plus') and OdroidX2, which doesn't have USB needed ID pin and VBUS wiring. Those will still operate correctly in pheriperal mode only. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Anand Moon <linux.amoon@gmail.com> Link: https://lore.kernel.org/r/20201103140214.21690-1-m.szyprowski@samsung.com Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-10-28ARM: dts: exynos: adjust node names to DT spec in Exynos4412 boardsKrzysztof Kozlowski
The Devicetree specification expects device node names to have a generic name, representing the class of a device. Also the convention for node names is to use hyphens, not underscores. No functional changes. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20201027170947.132725-5-krzk@kernel.org
2020-10-28ARM: dts: exynos: override GPIO keys node by label in Exynos4412 Odroid familyKrzysztof Kozlowski
Using full paths to extend or override a device tree node is error prone. If there was a typo error, a new node will be created instead of extending the existing node. This will lead to run-time errors that could be hard to detect. A mistyped label on the other hand, will cause a dtc compile error (during build time). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20201027170947.132725-4-krzk@kernel.org
2020-09-11ARM: dts: exynos: add input clock to CMU in Exynos4412 OdroidKrzysztof Kozlowski
Commit 68605101460e ("ARM: dts: exynos: Add support for audio over HDMI for Odroid X/X2/U3") added assigned clocks under Clock Management Unit. However the dtschema expects "clocks" property if "assigned-clocks" are used. Add reference to input clock to silence the dtschema warnings: arch/arm/boot/dts/exynos4412-odroidu3.dt.yaml: clock-controller@10030000: 'clocks' is a dependency of 'assigned-clocks' Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200906142146.21266-2-krzk@kernel.org
2020-09-02ARM: dts: exynos: Override thermal by label in Exynos4412 OdroidsKrzysztof Kozlowski
Using full paths to extend or override a device tree node is error prone since if there was a typo error, a new node will be created instead of extending the node as it was desired. This will lead to run-time errors that could be hard to detect. A mistyped label on the other hand, will cause a dtc compile error (during build time). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Link: https://lore.kernel.org/r/20200830135200.24304-27-krzk@kernel.org
2020-04-13ARM: dts: exynos: Correct regulator namesMarek Szyprowski
Both CPU-freq and dev-freq drivers support proper regulator lookup from device-tree, so the early introduced hacks for registering main ARM VDD regulator under 'vdd_arm' name are no longer needed. Similar for devfreq. Fix this by removing the obsolete comments and changing the regulator names to the one, which match the schematics and style for the given board. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-02-10ARM: dts: exynos: Fix broken reboot on some Odroid U2/X2/U3 boardsMarek Szyprowski
The bootloader on Odroid U2/X2/U3 boards configures main ARM clock to 1GHz. During the system shutdown procedure Linux kernel selects so called 'suspend-opp' for the CPU cores, what means that ARM clock is set to 800MHz and the CPU supply voltage is adjusted to that value. PMIC configuration is preserved during the board reboot. Later when the bootloader tries to enter the 1GHz mode, the voltage value configured by the kernel might be not high enough for the CPU to operate stable. This depends on the individual physical properties of each SoC (usually it is related to the production series) and varies between the boards. Typically most of the Odroid U3 boards work fine, while most of the U2 and X2 hangs during the reboot. This commit switches suspend-opp to 1GHz for the Odroid U2/X2/U3 boards, what finally fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-12-12ARM: dts: exynos: Correct USB3503 GPIOs polarityMarek Szyprowski
Current USB3503 driver ignores GPIO polarity and always operates as if the GPIO lines were flagged as ACTIVE_HIGH. Fix the polarity for the existing USB3503 chip applications to match the chip specification and common convention for naming the pins. The only pin, which has to be ACTIVE_LOW is the reset pin. The remaining are ACTIVE_HIGH. This change allows later to fix the USB3503 driver to properly use generic GPIO bindings and read polarity from DT. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-06-24ARM: dts: exynos: Add GPU/Mali 400 node to Exynos4Krzysztof Kozlowski
Add nodes for GPU (Mali 400) to Exynos4210 and Exynos4412. Describe the GPU as much as possible however still few elements are missing: 1. Exynos4210 bus clock is not described in hardware manual therefore the IP gate clock was provided, 2. Exynos4412: Not sure what to do with CLK_G3D clock responsible for gating entire IP block (it is now being disabled as unused), 3. Regulator supplies on Trats board. Limited testing on Odroid U3 (Exynos4412). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-01-25ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3Marek Szyprowski
Commit 225da7e65a03 ("ARM: dts: add eMMC reset line for exynos4412-odroid-common") added MMC power sequence for eMMC card of Odroid X2/U3. It reused generic sd1_cd pin control configuration node and only disabled pull-up. However that time the pinctrl configuration was not applied during MMC power sequence driver initialization. This has been changed later by commit d97a1e5d7cd2 ("mmc: pwrseq: convert to proper platform device"). It turned out then, that the provided pinctrl configuration is not correct, because the eMMC_RTSN line is being re-configured as 'special function/card detect function for mmc1 controller' not the simple 'output', thus the power sequence driver doesn't really set the pin value. This in effect broke the reboot of Odroid X2/U3 boards. Fix this by providing separate node with eMMC_RTSN pin configuration. Cc: <stable@vger.kernel.org> Reported-by: Markus Reichl <m.reichl@fivetechno.de> Suggested-by: Ulf Hansson <ulf.hansson@linaro.org> Fixes: 225da7e65a03 ("ARM: dts: add eMMC reset line for exynos4412-odroid-common") Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2019-01-10ARM: dts: exynos: Fix eMMC regulator properties on Odroid U3 boardsMarek Szyprowski
LDO20 regulator provides power for the MMC card on Odroid U3 boards. That regulator has been marked as 'boot-on' since the beginning of Odroid X/U3 support, but such flag is not really needed for it. That regulator is correctly described as supply for eMMC card and controlled by its driver. Commit 05f224ca6693 ("regulator: core: Clean enabling always-on regulators + their supplies") changed the way the boot-on regulators are handled and since then regulators marked as 'boot-on' got increased reference count and are not turned off for the system suspend time. The new approach turned out to break suspend/resume support on Odroid U3 with eMMC card, because the card is not properly shutdown due to missing of power cycle. Fix this by removing excessive 'boot-on' flag and let MMC driver to control turning power on and off. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-11-18ARM: dts: exynos: Add all CPUs in cooling mapsViresh Kumar
Each CPU can (and does) participate in cooling down the system but the DT only captures a handful of them, normally CPU0, in the cooling maps. Things work by chance currently as under normal circumstances its the first CPU of each cluster which is used by the operating systems to probe the cooling devices. But as soon as this CPU ordering changes and any other CPU is used to bring up the cooling device, we will start seeing failures. Also the DT is rather incomplete when we list only one CPU in the cooling maps, as the hardware doesn't have any such limitations. Update cooling maps to include all devices affected by individual trip points. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-09-06ARM: dts: exynos: Remove double SD card detect pin inversionKrzysztof Kozlowski
The SDHCI standard, MMC host controller bindings and MMC core defines card detect pin as active low. Therefore there is no point to invert it twice. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
2018-05-15ARM: dts: exynos: Add support for audio over HDMI for Odroid X/X2/U3Sylwester Nawrocki
This patch switches Odroid X/X2/U3 to use dedicated Odroid audio subsystem DT bindings instead of the simple-card in order to add support for audio over HDMI. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-02-13ARM: dts: exynos: Use label instead of full path in exynos4412-odroid-commonMaciej Purski
Extend camera node by label, not by full path in Exynos 4412 Odroid boards. This avoids error-prone redefinition of nodes. Signed-off-by: Maciej Purski <m.purski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-01-03ARM: dts: exynos: Add SPDX license identifiersKrzysztof Kozlowski
Replace GPL v2.0 license statements with SPDX license identifiers. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-10-20Merge tag 'samsung-dt-4.15' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc Pull "Samsung DTS ARM changes for 4.15" from Krzysztof Kozłowski: 1. Add new board: Hardkernel Odroid HC1. 2. Fix incomplete Odroid-XU3/4 thermal-zones definition leading to possible overheat if first pair of A7+A15 cores is idle but rest of CPUs are busy. 3. Add capacity-dmips-mhz properties for CPUs of octa-core SoCs. 4. Add power button to Odroid XU3/4. 5. Improvements in Gscaler, HDMI and Mixer blocks on Exynos5. 6. Add suspend quirk to DWC3 USB controller to fix enumeration of SuperSpeed devices on Odroid XU4. 7. Add HDMI and MHL to Trats2. 8. Cleanups (redundant properties and nodes). * tag 'samsung-dt-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: dt-bindings: samsung: Document binding for new Odroid HC1 board ARM: dts: exynos: Add HDMI and Sil9234 to Trats2 board ARM: dts: exynos: Add support for Hardkernel's Odroid HC1 board ARM: dts: exynos: Move audio clocks configuration to odroidxu3-audio.dtsi ARM: dts: exynos: Add dwc3 SUSPHY quirk ARM: dts: exynos: Add status property to Exynos 542x Mixer nodes ARM: dts: exynos: Add status property to Exynos 5250 HDMI and Mixer nodes ARM: dts: exynos: Cleanup HDMI DCC definitions on Exynos5250 and Exynos542x boards ARM: dts: exynos: Move HDMI PHY node from boards to exynos5250.dtsi ARM: dts: exynos: Use specific compatibles for proper Gscaler limits on Exynos5250 and Exynos5420 ARM: dts: exynos: Remove redundant interrupt properties in gpio-keys on Odroid boards ARM: dts: exynos: Add power button for Odroid XU3/4 ARM: dts: exynos: Remove the display-timing and delay from Rinato ARM: dts: exynos: add exynos5422 cpu capacity-dmips-mhz information ARM: dts: exynos: add exynos5420 cpu capacity-dmips-mhz information ARM: dts: exynos: fix incomplete Odroid-XU3/4 thermal-zones definition
2017-10-20arm: dts: fix unit-address leading 0sRob Herring
Fix dtc warnings for 'simple_bus_reg' due to leading 0s. Converted using the following command: perl -p -i -e 's/\@0+([0-9a-f])/\@$1/g' `find arch/arm/boot/dts -type -f -name '*.dts*' Dropped changes to ARM, Ltd. boards LED nodes and manually fixed up some occurrences of uppercase hex. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-09-19ARM: dts: exynos: Remove redundant interrupt properties in gpio-keys on ↵Marek Szyprowski
Odroid boards GPIO keys don't need interrupt property. Interrupt number can be derived directly from the GPIO pin definition, so remove redundant 'interrupts' and 'interrupt-parent' properties from gpio-keys nodes on Exynos4412-based Odroid boards. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-07-18ARM: dts: exynos: Remove num-slots from exynos platformsShawn Lin
dwmmc driver deprecated num-slots and plan to get rid of it finally. Just move a step to cleanup it from DT. Cc: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-06-07ARM: dts: exynos: Use human-friendly symbols for interrupt flags in board ↵Krzysztof Kozlowski
sources Replace hard-coded values of interrupt flags with respective macros from header to increase code readability. Suggested-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-03-13ARM: dts: exynos: Enable watchdog on all Exynos4 boardsKrzysztof Kozlowski
Watchdog module does not have external dependencies so it can be safely enabled in exynos4.dtsi thus making it available for all Exynos4-based boards. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Guenter Roeck <linux@roeck-us.net>
2016-12-30ARM: dts: exynos: Add CPU OPPs for Exynos4412 PrimeBartlomiej Zolnierkiewicz
Add CPU operating points for Exynos4412 Prime (it supports additional 1704MHz & 1600MHz OPPs and 1500MHz OPP is just a regular non-turbo OPP on this SoC). Also update relevant cooling maps to account for new OPPs. ODROID-X2/U2/U3 boards use Exynos4412 Prime SoC version so update their board files accordingly. Based on Hardkernel's kernel for ODROID-X2/U2/U3 boards. Cc: Doug Anderson <dianders@chromium.org> Cc: Andreas Faerber <afaerber@suse.de> Cc: Thomas Abraham <thomas.ab@samsung.com> Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Cc: Ben Gamari <ben@smart-cactus.org> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2016-12-28ARM: dts: exynos: Fix initial audio clocks configuration on Exynos4 boardsMarek Szyprowski
Move assigned clocks properties from sound node to audio subsystem clock controller node. This way clocks topology and rates are set just after probing audio clocks controller. Leaving those properties under sound node doesn't guarantee to configure them before they are being used (for example i2s hardware module can be probed in parallel and it also require proper audio clocks configuration). Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2016-12-28ARM: dts: exynos: Correct clocks for Exynos4 I2S moduleMarek Szyprowski
"iis", "i2s_opclk0" and "i2s_opclk1" are standard clocks for Exynos4 I2S hardware module, so they should be defined in .dtsi file not in the random board .dts file. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2016-09-19Merge tag 'samsung-dt-pinctrl-4.9' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Pull "Topic branch for Samsung DeviceTree cleanup for 4.9" from Krzysztof Kozłowski: Replace in DT sources hard-coded values for pinctrl configuration like pull up/down, drive strength and function. This makes the DTS easier to read, especially that some drive strengths values are quite non-obvious. * tag 'samsung-dt-pinctrl-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: s3c64xx: Use macros for pinctrl configuration ARM: dts: s3c2416: Use macros for pinctrl configuration ARM: dts: s5pv210: Use macros for pinctrl configuration ARM: dts: s3c64xx: Use common macros for pinctrl configuration ARM: dts: exynos: Fix mismatched values of SD drive strengh configuration on exynos4415 ARM: dts: exynos: Fix mismatched value for SD4 pull up/down configuration on exynos4210 ARM: dts: exynos: Use macros for pinctrl configuration on exynos542x/exynos5800 ARM: dts: exynos: Use macros for pinctrl configuration on exynos5410 ARM: dts: exynos: Use macros for pinctrl configuration on exynos5260 ARM: dts: exynos: Use macros for pinctrl configuration on exynos5250 ARM: dts: exynos: Use macros for pinctrl configuration on exynos4415 ARM: dts: exynos: Use macros for pinctrl configuration on exynos4x12 ARM: dts: exynos: Use macros for pinctrl configuration on exynos4210 ARM: dts: exynos: Use macros for pinctrl configuration on exynos3250 ARM: dts: exynos: Use common macros for pinctrl configuration pinctrl: dt-bindings: samsung: Update documentation with new macros pinctrl: dt-bindings: samsung: Add header with values used for configuration
2016-09-16ARM: dts: exynos: Use macros for pinctrl configuration on exynos4x12Krzysztof Kozlowski
Usage of DTS macros instead of hard-coded numbers makes code easier to read. One does not have to remember which value means pull-up/down or specific driver strength. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
2016-08-24ARM: dts: exynos: Use 'hpd-gpios' instead of 'hpd-gpio'Milo Kim
This patch enables getting a HPD GPIO descriptor quicker. The exynos-hdmi driver uses "hpd" for HDMI hot plug detection. static int hdmi_resources_init(struct hdmi_context *hdata) { ... hdata->hpd_gpio = devm_gpiod_get(dev, "hpd", GPIOD_IN); ... } This calls 'of_find_gpio()' and it generates the GPIO consumer ID by referring GPIO suffix. So 'hpd-gpios' is preferred on getting a GPIO descriptor. However, if the device tree uses 'hpd-gpio', then the exynos-hdmi driver always retries to get a GPIO descriptor because the first GPIO suffix is not 'gpio' but 'gpios'. So you always see the debug message below. of_get_named_gpiod_flags: can't parse 'hpd-gpios' property of node '/soc/hdmi@14530000[0]' Use the preferred property, 'hpd-gpios' instead of 'hpd-gpio'. Acked-by: Rob Herring <robh@kernel.org> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> Cc: devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Milo Kim <woogyom.kim@gmail.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2016-07-05Merge tag 'samsung-drivers-exynos-mfc-4.8-2' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Topic branch for Exynos MFC changes for v4.8, part 2: Replace hardcoded reserved memory ranges with auto-allocated ones and enable MFC for all boards. * tag 'samsung-drivers-exynos-mfc-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: enable MFC device for all boards ARM: dts: exynos: move MFC reserved memory regions from boards to .dtsi ARM: dts: exynos: replace hardcoded reserved memory ranges with auto-allocated ones ARM: dts: exynos: Enable MFC device on Exynos4412 Odroid boards ARM: dts: exynos: Convert MFC device to generic reserved memory bindings ARM: EXYNOS: Remove code for MFC custom reserved memory handling media: s5p-mfc: add iommu support media: s5p-mfc: replace custom reserved memory handling code with generic one media: s5p-mfc: use generic reserved memory bindings of: reserved_mem: add support for using more than one region for given device media: set proper max seg size for devices on Exynos SoCs media: vb2-dma-contig: add helper for setting dma max seg size s5p-mfc: Fix race between s5p_mfc_probe() and s5p_mfc_open() s5p-mfc: Add release callback for memory region devs s5p-mfc: Set device name for reserved memory region devs Signed-off-by: Olof Johansson <olof@lixom.net>
2016-06-08ARM: dts: exynos: enable MFC device for all boardsMarek Szyprowski
MFC device can be used without any external hardware dependencies (when IOMMU is enabled), so it can be enabled by default (like it has been already done for Exynos 542x platforms). This unifies handling of this device for Exynos3250, Exynos4 and Exynos542x platforms. Board can still include exynos-mfc-reserved-memory.dtsi to enable using this device without IOMMU being enabled. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-06-08ARM: dts: exynos: move MFC reserved memory regions from boards to .dtsiMarek Szyprowski
This patch moves assigning reserved memory regions from each board dts to common exynos-mfc-reserved-memory.dtsi file, where those regions are defined. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Tested-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-06-06ARM: dts: exynos: Enable MFC device on Exynos4412 Odroid boardsMarek Szyprowski
Enable support for Multimedia Codec (MFC) device for all Exynos4412-based Odroid boards. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-05-30ARM: dts: exynos: Lower SD card interface voltage to 2.8 V on Odroid X/X2/U3Krzysztof Kozlowski
Odroid X/X2/U3 schematics say that SD card vmmc regulator (LDO21/TFLASH) operates on 2.8 V. Mainline U-Boot uses that value as well and 2.8 V is common on Exynos-based boards. Additionally use some descriptive name for this regulator. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
2016-05-30ARM: dts: exynos: Define vqmmc for eMMC card on Odroid X/X2/U3Krzysztof Kozlowski
The eMMC card vmmc-supply contained incorrectly two regulators: LDO20 and buck8. The second one is ignored. Additionally the buck8 is a vqmmc supply only on X and X2. On U3 the buck8 is providing power to the LAN (SMSC95xx) so instead the LDO22 should be used. Fix this by defining proper vmmc and vqmmc supplies for respective boards. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
2016-05-30ARM: dts: exynos: Define vqmmc for SD card and allow disabling regulators on ↵Krzysztof Kozlowski
Odroid X/X2/U3 The SD-card vmmc-supply contained incorrectly two regulators. The second one is ignored. Fix this by defining proper vmmc and vqmmc supplies. Additionally these regulators do not have to be always on, so allow disabling them to reduce energy consumption. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
2016-05-24Merge tag 'armsoc-late' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC late DT updates from Arnd Bergmann: "This is a collection of a few late fixes and other misc stuff that had dependencies on things being merged from other trees. The Renesas R-Car power domain handling, and the Nvidia Tegra USB support both hand notable changes that required changing the DT binding in a way that only provides compatibility with old DT blobs on new kernels but not vice versa. As a consequence, the DT changes are based on top of the driver changes and are now in this branch. For NXP i.MX and Samsung Exynos, the changes in here depend on other changes that got merged through the clk maintainer tree" * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (35 commits) ARM: dts: exynos: Add support of Bus frequency using VDD_INT for exynos5422-odroidxu3 ARM: dts: exynos: Add bus nodes using VDD_INT for Exynos542x SoC ARM: dts: exynos: Add NoC Probe dt node for Exynos542x SoC ARM: dts: exynos: Add support of bus frequency for exynos4412-trats/odroidu3 ARM: dts: exynos: Expand the voltage range of buck1/3 regulator for exynos4412-odroidu3 ARM: dts: exynos: Add support of bus frequency using VDD_INT for exynos3250-rinato ARM: dts: exynos: Add exynos4412-ppmu-common dtsi to delete duplicate PPMU nodes ARM: dts: exynos: Add bus nodes using VDD_MIF for Exynos4210 ARM: dts: exynos: Add bus nodes using VDD_INT for Exynos4x12 ARM: dts: exynos: Add bus nodes using VDD_MIF for Exynos4x12 ARM: dts: exynos: Add bus nodes using VDD_INT for Exynos3250 ARM: dts: exynos: Add DMC bus frequency for exynos3250-rinato/monk ARM: dts: exynos: Add DMC bus node for Exynos3250 ARM: tegra: Enable XUSB on Nyan ARM: tegra: Enable XUSB on Jetson TK1 ARM: tegra: Enable XUSB on Venice2 ARM: tegra: Add Tegra124 XUSB controller ARM: tegra: Move Tegra124 to the new XUSB pad controller binding ARM: dts: r8a7794: Use SYSC "always-on" PM Domain ARM: dts: r8a7793: Use SYSC "always-on" PM Domain ...
2016-05-03ARM: dts: exynos: Add support of bus frequency for exynos4412-trats/odroidu3Chanwoo Choi
This patch adds the bus device tree nodes for both MIF (Memory) and INT (Internal) block to enable the bus frequency. The DMC bus is parent device in MIF block using VDD_MIF and the LEFTBUS bus is parent device in INT block using VDD_INT. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> [m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board] Tested-by: Markus Reichl <m.reichl@fivetechno.de> Tested-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-05-03ARM: dts: exynos: Expand the voltage range of buck1/3 regulator for ↵Chanwoo Choi
exynos4412-odroidu3 This patch expands the voltage range of buck1/3 regulator due to as following: - MIF (Memory Interface) bus frequency needs the range of '900 - 1100 mV'. - INT (Internal) bus frequency needs the range of '900 - 1050 mV'. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> [m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board] Tested-by: Markus Reichl <m.reichl@fivetechno.de> Tested-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-05-03ARM: dts: exynos: Add exynos4412-ppmu-common dtsi to delete duplicate PPMU nodesChanwoo Choi
This patch adds the exynos4412-ppmu-common.dtsi to remove duplicate PPMU nodes because exynos3250-rinato/monk, exynos4412-trats2/odroidu3 has the same PPMU device tree node. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> [m.reichl and linux.amoon: Tested it on exynos4412-odroidu3 board] Tested-by: Markus Reichl <m.reichl@fivetechno.de> Tested-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-04-27ARM: dts: exynos: Enable PRNG and SSS for all Exynos4 devicesKrzysztof Kozlowski
There is no external dependency for Security SubSystem (SSS) block so the nodes for Pseudo Random Number Generator and AES hardware acceleration can be enabled always for all Exynos4 devices. Suggested-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-03-29ARM: dts: exynos: Enable the HDMI CEC device on Exynos4412 Odroid boardsMarek Szyprowski
Add a dts node entry and enable the HDMI CEC device present in the Exynos4 family of SoCs. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> [k.kozlowski: Put the node in alphabetical order] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-03-29ARM: dts: exynos: Enable SSS on Odroid X/X2/U3 familyKrzysztof Kozlowski
Enable the Security SubSystem (SSS) on Exynos4412-based Odroid boards to provide hardware acceleration for AES operations. Suggested-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Tested-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
2016-01-29ARM: dts: Replace legacy *,wakeup property with wakeup-source for exynos boardsSudeep Holla
Though the keyboard and other driver will continue to support the legacy "gpio-key,wakeup", "linux-keypad,wakeup" boolean property to enable the wakeup source, "wakeup-source" is the new standard binding. This patch replaces all the legacy wakeup properties with the unified "wakeup-source" property in order to avoid any further copy-paste duplication. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-12-29ARM: dts: Unify G2D device node with other devices on exynos4Marek Szyprowski
G2D device is always available and doesn't depend on any external (board specific) peripherals, so it can be unconditionally enabled. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>