pinctrl: samsung: Include pinctrl-exynos* only when pinctrl-exynos is enabled

Since pinctrl-samsung is a common part of the pin control support for
several Samsung SoCs, it can be compiled without Exynos support enabled.

This patch surrounds Exynos-specific driver data with ifdefs to include
them only when support for Exynos is enabled.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
pinctrl: samsung: Split pin bank description into two structures

This patch splits pin bank description into two structures, one
describing bank type (currently only bitfield widths), which can be
shared across multiple banks and second containing bank-specific
parameters including a pointer to a bank type struct.

It is a prerequisite for further patch removing the statically hardcoded
register offsets, making it impossible to support SoCs with different
set and order of pin control registers.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
pinctrl: samsung: Remove hardcoded register offsets

This patch replaces statically hardcoded register offsets of Exynos SoCs
with an array of register offsets in samsung_pin_bank_type struct.

Thanks to this change, support for SoCs with other set and order of
registers can be added (e.g. S3C24xx and S3C64xx).

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
pinctrl: samsung: Handle banks with two configuration registers

This patch adds support for banks that have more than one function
configuration registers, e.g. some of the banks of S3C64xx SoCs.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
ARM: s3c64xx: Skip legacy EINT setup if pinctrl-s3c64xx driver is present

The new pinctrl-s3c64xx is responsible for EINT handling on DT-enabled
platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
gpio: samsung: Skip legacy GPIO registration if pinctrl-s3c64xx is present

The new driver handles GPIO on DT-enabled platforms.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
pinctrl: Add pinctrl-s3c64xx driver

This patch adds pinctrl-s3c64xx driver which implements pin control
interface for Samsung S3C64xx SoCs.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
ARM: dts: s3c64xx: Add pin control node

This patch adds pin control node for the pin controller present on the
S3C64xx SoCs.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
ARM: dts: s3c6410-mini6410: Add pinctrl properties to device nodes

This patch adds pin control properties to existing device nodes to allow
pin configuration using pinctrl-s3c64xx driver.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
ARM: dts: s3c6410-mini6410: Add device node for gpio keys

This patch adds device tree node for GPIO keys available on mini6410
board.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
ARM: dts: s3c6410-mini6410: Add device node for GPIO leds

This patch adds device tree node for GPIO LEDs available on mini6410
board.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>