pinctrl: samsung: Document hidden requirement about one external wakeup
authorKrzysztof Kozlowski <krzk@kernel.org>
Thu, 19 Jul 2018 10:34:27 +0000 (12:34 +0200)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 14 Feb 2019 05:57:53 +0000 (14:57 +0900)
commit15d07a5698f2be923645f00857edc0691fb18152
treee236e4488822a0735582513a00c4b5f1b400be54
parent2c9478e6f5ff17e1872c64f7a9b612551733c571
pinctrl: samsung: Document hidden requirement about one external wakeup

Hardware (S5Pv210 and all Exynos SoCs) provides only 32 external
interrupts which can wakeup device from deep sleep modes.  On S5Pv210
these are gph0-gph3.  On all Exynos designs these are gpx0-gpx3.
There is only one 32-bit register for controlling the external wakeup
interrupt mask (masking and unmasking waking capability of these
interrupts).

This lead to implementation in pinctrl driver and machine code which was
using static memory for storing the mask value and not caring about
multiple devices of pin controller... because only one pin controller
device will be handling this.

Since each pin controller node in Device Tree maps onto one device, this
corresponds to hidden assumption in parsing the Device Tree: external
wakeup interrupts can be defined only once.  Make this assumption an
explicit requirement.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Sylwester Nawrocki <snawrocki@kernel.org>
Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
Change-Id: I69ced8e994ab60b85ef509b59d50bf2f4589cf1d
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt