Commit Graph

71 Commits

Author SHA1 Message Date
Krzysztof Kozlowski
c4121dac1c ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family
[ Upstream commit 6503c568e9 ]

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: eea6653aae ("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
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-14 09:50:06 +02:00
Krzysztof Kozlowski
53bf2776e3 ARM: dts: exynos: revert "add input clock to CMU in Exynos4412 Odroid"
This reverts commit eaf2d2f689.

The commit eaf2d2f689 ("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-13 13:42:20 +01:00
Krzysztof Kozlowski
eaf2d2f689 ARM: dts: exynos: add input clock to CMU in Exynos4412 Odroid
Commit 6860510146 ("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-11 16:52:27 +02:00
Krzysztof Kozlowski
1f2448dcb9 ARM: dts: exynos: Override thermal by label in Exynos4412 Odroids
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-09-02 17:46:28 +02:00
Marek Szyprowski
5453c5c9c5 ARM: dts: exynos: Correct regulator names
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-04-13 11:42:36 +02:00
Marek Szyprowski
b9631bc201 ARM: dts: exynos: Fix broken reboot on some Odroid U2/X2/U3 boards
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>
2020-02-10 20:23:15 +01:00
Marek Szyprowski
5206265f78 ARM: dts: exynos: Correct USB3503 GPIOs polarity
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-12-12 21:18:36 +01:00
Krzysztof Kozlowski
13efd80aca ARM: dts: exynos: Add GPU/Mali 400 node to Exynos4
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-06-24 20:03:42 +02:00
Marek Szyprowski
ec33745bcc ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3
Commit 225da7e65a ("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 d97a1e5d7c ("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: 225da7e65a ("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-25 20:18:10 +01:00
Marek Szyprowski
0b94260ac1 ARM: dts: exynos: Fix eMMC regulator properties on Odroid U3 boards
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 05f224ca66 ("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>
2019-01-10 21:02:56 +01:00
Viresh Kumar
670734f558 ARM: dts: exynos: Add all CPUs in cooling maps
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-11-18 15:17:08 +01:00
Krzysztof Kozlowski
b803211825 ARM: dts: exynos: Remove double SD card detect pin inversion
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-09-06 18:07:38 +02:00
Sylwester Nawrocki
6860510146 ARM: dts: exynos: Add support for audio over HDMI for Odroid X/X2/U3
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-05-15 18:46:14 +02:00
Maciej Purski
47c7df789e ARM: dts: exynos: Use label instead of full path in exynos4412-odroid-common
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-02-13 18:41:11 +01:00
Krzysztof Kozlowski
cc4637f7c9 ARM: dts: exynos: Add SPDX license identifiers
Replace GPL v2.0 license statements with SPDX license identifiers.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-01-03 18:27:26 +01:00
Arnd Bergmann
061ae53266 Merge tag 'samsung-dt-4.15' of 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-20 00:38:51 +02:00
Rob Herring
8dccafaa28 arm: dts: fix unit-address leading 0s
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-10-20 00:37:54 +02:00
Marek Szyprowski
82bce9cf15 ARM: dts: exynos: Remove redundant interrupt properties in gpio-keys on 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-09-19 19:19:42 +02:00
Shawn Lin
9d2770b8e4 ARM: dts: exynos: Remove num-slots from exynos platforms
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-07-18 07:14:22 +02:00
Krzysztof Kozlowski
6ff0b90d74 ARM: dts: exynos: Use human-friendly symbols for interrupt flags in board 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-06-07 20:51:24 +02:00
Krzysztof Kozlowski
de44097b25 ARM: dts: exynos: Enable watchdog on all Exynos4 boards
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>
2017-03-13 19:34:15 +02:00
Bartlomiej Zolnierkiewicz
80b7a2e249 ARM: dts: exynos: Add CPU OPPs for Exynos4412 Prime
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-30 16:45:13 +02:00
Marek Szyprowski
f3a3a3bf71 ARM: dts: exynos: Fix initial audio clocks configuration on Exynos4 boards
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-28 19:26:57 +02:00
Marek Szyprowski
087ce39cdf ARM: dts: exynos: Correct clocks for Exynos4 I2S module
"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-12-28 19:25:13 +02:00
Arnd Bergmann
2008ee090c Merge tag 'samsung-dt-pinctrl-4.9' of 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-19 17:46:56 +02:00
Krzysztof Kozlowski
c35bc3f9fa ARM: dts: exynos: Use macros for pinctrl configuration on exynos4x12
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-09-16 13:31:50 +02:00
Milo Kim
05b01dd936 ARM: dts: exynos: Use 'hpd-gpios' instead of 'hpd-gpio'
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-08-24 21:09:24 +02:00
Olof Johansson
8fe9c8b750 Merge tag 'samsung-drivers-exynos-mfc-4.8-2' of 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-07-05 22:46:39 -07:00
Marek Szyprowski
9f7d27fa1b ARM: dts: exynos: enable MFC device for all boards
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-08 09:46:00 +02:00
Marek Szyprowski
4ceaa148b0 ARM: dts: exynos: move MFC reserved memory regions from boards to .dtsi
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-08 09:45:59 +02:00
Marek Szyprowski
96167bd37d ARM: dts: exynos: Enable MFC device on Exynos4412 Odroid boards
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-06-06 09:30:43 +02:00
Krzysztof Kozlowski
885fdf7b13 ARM: dts: exynos: Lower SD card interface voltage to 2.8 V on Odroid X/X2/U3
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-30 09:46:02 +02:00
Krzysztof Kozlowski
303ce7161c ARM: dts: exynos: Define vqmmc for eMMC card on Odroid X/X2/U3
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-30 09:46:01 +02:00
Krzysztof Kozlowski
0f0677f6eb ARM: dts: exynos: Define vqmmc for SD card and allow disabling regulators on 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-30 09:45:57 +02:00
Linus Torvalds
08344f3b43 Merge tag 'armsoc-late' of 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-24 15:46:06 -07:00
Chanwoo Choi
4f20aa0eeb ARM: dts: exynos: Add support of bus frequency for exynos4412-trats/odroidu3
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-03 12:22:59 +02:00
Chanwoo Choi
918f7c2d50 ARM: dts: exynos: Expand the voltage range of buck1/3 regulator for 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-03 12:22:59 +02:00
Chanwoo Choi
4a80467a7c ARM: dts: exynos: Add exynos4412-ppmu-common dtsi to delete duplicate PPMU nodes
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-05-03 12:22:58 +02:00
Krzysztof Kozlowski
8691f91b5f ARM: dts: exynos: Enable PRNG and SSS for all Exynos4 devices
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-04-27 10:14:12 +02:00
Marek Szyprowski
f1be903dbe ARM: dts: exynos: Enable the HDMI CEC device on Exynos4412 Odroid boards
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-29 15:22:51 +09:00
Krzysztof Kozlowski
fb2d1b847f ARM: dts: exynos: Enable SSS on Odroid X/X2/U3 family
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-03-29 10:37:56 +09:00
Sudeep Holla
36a0282a41 ARM: dts: Replace legacy *,wakeup property with wakeup-source for exynos boards
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>
2016-01-29 09:09:49 +09:00
Marek Szyprowski
bf0dda345b ARM: dts: Unify G2D device node with other devices on exynos4
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>
2015-12-29 09:07:44 +09:00
Javier Martinez Canillas
c10d3290cb ARM: dts: Use GPIO constants for flags cells in exynos4412 boards
The board DTS are using numeric values instead of the defined GPIO
constanst to express polarity, use them to make the DTS more clear.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-08 07:39:58 +09:00
Tobias Jakobi
00e5e8c47b ARM: dts: Unify voltage regulator style in exynos4412-odroid
Use 'ldoN_reg: LDON' syntax and drop the deprecated
'regulator-compatible' property.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-09-29 16:01:25 +09:00
Tobias Jakobi
4e33714eb4 ARM: dts: Remove redundant pinctrl settings in exynos4412-odroid
The pinctrl settings in i2c_0 and i2c_1 are already provided
through the exynos4 dtsi.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-09-29 16:00:55 +09:00
Bartlomiej Zolnierkiewicz
f44997412e ARM: dts: add CPU OPP and regulator supply property for exynos4x12
For Exynos4x12 platforms, add CPU operating points (using
opp-v2 bindings) and CPU regulator supply properties for
migrating from Exynos specific cpufreq driver to using
generic cpufreq driver.

Based on the earlier work by Thomas Abraham.

Cc: Doug Anderson <dianders@chromium.org>
Cc: Andreas Faerber <afaerber@suse.de>
Cc: Thomas Abraham <thomas.ab@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-08-14 02:06:15 +09:00
Krzysztof Kozlowski
49c1a163b3 ARM: dts: Use labels for overriding nodes in exynos4412-odroid
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@gmail.com>

For thermal zones:
Acked-by: Eduardo Valentin <edubezval@gmail.com>

Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-06-03 09:56:42 +09:00
Markus Reichl
ee2020a4ca ARM: dts: add 'rtc_src' clock to rtc node for exynos4412-odroid boards
The Exynos4412 SoC has a s3c6410 RTC where the source clock
is now a mandatory property.
This patch fixes probe failure of s3c-rtc on Odroid-X2/U2/U3 boards.

Signed-off-by: Markus Reichl <m.reichl@fivetechno.de>
Tested-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-05-09 03:06:02 +09:00
Olof Johansson
fb0d305dcb Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
Merge "Samsung DT updates for v4.1" from Kukjin Kim:

- for exynos3250
  : add assigned clock parents for CMU nodes

- for exynos4412-odroid
  : add eMMC reset line

- for exynos5250
  : fixed typo for interrupt-cells

- for exynos5250-snow
  : define stdout-path property
  : represent bridge and panel connection
  : enable wifi power-on and add cap-sdio-irq to wifi mmc node

- for exynos5250-spring
  : define stdout-path property

- for exynos5420
  : fixed typo for interrupt-cells
  : add async-bridge clocks for gsc and disp1 PDs

- for exynos5420 boards
  : Mux XMMCnDATA[0] pad correctly

- for exynos5420-odroidxu3
  : add eMMC reset line

- for Peach boards
  : add HS400 support and define stdout-path property
  : add mclk entry and add WiFi module support
  : represent bridge and panel connection

* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Fixed typo interrupt-cells for exynos5420 and exynos5250
  ARM: dts: Add HS400 support for exynos5420 and exynos5800
  ARM: dts: add async-bridge clocks to gsc power domain for exynos5420
  ARM: dts: add async-bridge clocks to disp1 power domain for exynos5420
  dt-bindings: add asynchronous bridge clock for exynos
  ARM: dts: Define stdout-path property for exynos5250-spring
  ARM: dts: Define stdout-path property for exynos5250-snow
  ARM: dts: Define stdout-path property for Peach boards
  ARM: dts: Add assigned clock parents to CMU node for exynos3250
  ARM: dts: Add mclk entry for Peach boards
  ARM: dts: Add WiFi module support for Peach boards
  ARM: dts: Mux XMMCnDATA[0] pad correctly for Exynos5420 boards
  ARM: dts: add eMMC reset line for exynos5422-odroidxu3
  ARM: dts: add eMMC reset line for exynos4412-odroid-common
  ARM: dts: represent bridge and panel connection for exynos5420-peach-pit
  ARM: dts: represent bridge and panel connection for exynos5250-snow
  ARM: dts: Add cap-sdio-irq to wifi mmc node for exynos5250-snow
  ARM: dts: Enable wifi power-on for exynos5250-snow

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-04-03 14:59:52 -07:00