Commit 94bc967b authored by Linus Walleij's avatar Linus Walleij

Merge tag 'samsung-pinctrl-6.1' of...

Merge tag 'samsung-pinctrl-6.1' of https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into devel

Samsung pinctrl drivers changes for v6.1

1. Minor fix in order of initializing pinctrl driver - GPIOs should be
   configured before registering gpiolib.
2. Final steps to deprecated bindings headers with register constants.
   The constants were moved to include files in DTS directories, because
   these are not suitable for bindings.  Remove final references and
   mark binding header as deprecated to warn any users.
parents 3f668365 9d929257
...@@ -20,7 +20,6 @@ description: | ...@@ -20,7 +20,6 @@ description: |
The values used for config properties should be derived from the hardware The values used for config properties should be derived from the hardware
manual and these values are programmed as-is into the pin pull up/down and manual and these values are programmed as-is into the pin pull up/down and
driver strength register of the pin-controller. driver strength register of the pin-controller.
See also include/dt-bindings/pinctrl/samsung.h with useful constants.
See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for
additional information and example. additional information and example.
......
...@@ -15,9 +15,6 @@ description: | ...@@ -15,9 +15,6 @@ description: |
This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin
controller. controller.
Pin group settings (like drive strength, pull up/down) are available as
macros in include/dt-bindings/pinctrl/samsung.h.
All the pin controller nodes should be represented in the aliases node using All the pin controller nodes should be represented in the aliases node using
the following format 'pinctrl{n}' where n is a unique number for the alias. the following format 'pinctrl{n}' where n is a unique number for the alias.
...@@ -141,8 +138,6 @@ additionalProperties: false ...@@ -141,8 +138,6 @@ additionalProperties: false
examples: examples:
- | - |
#include <dt-bindings/pinctrl/samsung.h>
pinctrl@7f008000 { pinctrl@7f008000 {
compatible = "samsung,s3c64xx-pinctrl"; compatible = "samsung,s3c64xx-pinctrl";
reg = <0x7f008000 0x1000>; reg = <0x7f008000 0x1000>;
...@@ -169,8 +164,8 @@ examples: ...@@ -169,8 +164,8 @@ examples:
uart0-data-pins { uart0-data-pins {
samsung,pins = "gpa-0", "gpa-1"; samsung,pins = "gpa-0", "gpa-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>; samsung,pin-function = <2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; samsung,pin-pud = <0>;
}; };
// ... // ...
...@@ -178,7 +173,6 @@ examples: ...@@ -178,7 +173,6 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/samsung.h>
pinctrl@11400000 { pinctrl@11400000 {
compatible = "samsung,exynos4210-pinctrl"; compatible = "samsung,exynos4210-pinctrl";
...@@ -200,9 +194,9 @@ examples: ...@@ -200,9 +194,9 @@ examples:
uart0-data-pins { uart0-data-pins {
samsung,pins = "gpa0-0", "gpa0-1"; samsung,pins = "gpa0-0", "gpa0-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>; samsung,pin-function = <2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; samsung,pin-pud = <0>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; samsung,pin-drv = <0>;
}; };
// ... // ...
...@@ -210,14 +204,14 @@ examples: ...@@ -210,14 +204,14 @@ examples:
sleep0: sleep-state { sleep0: sleep-state {
gpa0-0-pin { gpa0-0-pin {
samsung,pins = "gpa0-0"; samsung,pins = "gpa0-0";
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; samsung,pin-con-pdn = <2>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; samsung,pin-pud-pdn = <0>;
}; };
gpa0-1-pin { gpa0-1-pin {
samsung,pins = "gpa0-1"; samsung,pins = "gpa0-1";
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>; samsung,pin-con-pdn = <0>;
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; samsung,pin-pud-pdn = <0>;
}; };
// ... // ...
...@@ -226,7 +220,6 @@ examples: ...@@ -226,7 +220,6 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/samsung.h>
pinctrl@11000000 { pinctrl@11000000 {
compatible = "samsung,exynos4210-pinctrl"; compatible = "samsung,exynos4210-pinctrl";
...@@ -275,26 +268,26 @@ examples: ...@@ -275,26 +268,26 @@ examples:
sd0-clk-pins { sd0-clk-pins {
samsung,pins = "gpk0-0"; samsung,pins = "gpk0-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>; samsung,pin-function = <2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; samsung,pin-pud = <0>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; samsung,pin-drv = <3>;
}; };
sd4-bus-width8-pins { sd4-bus-width8-pins {
part-1-pins { part-1-pins {
samsung,pins = "gpk0-3", "gpk0-4", samsung,pins = "gpk0-3", "gpk0-4",
"gpk0-5", "gpk0-6"; "gpk0-5", "gpk0-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>; samsung,pin-function = <3>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; samsung,pin-pud = <3>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; samsung,pin-drv = <3>;
}; };
part-2-pins { part-2-pins {
samsung,pins = "gpk1-3", "gpk1-4", samsung,pins = "gpk1-3", "gpk1-4",
"gpk1-5", "gpk1-6"; "gpk1-5", "gpk1-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>; samsung,pin-function = <4>;
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; samsung,pin-pud = <3>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; samsung,pin-drv = <3>;
}; };
}; };
...@@ -302,16 +295,15 @@ examples: ...@@ -302,16 +295,15 @@ examples:
otg-gp-pins { otg-gp-pins {
samsung,pins = "gpx3-3"; samsung,pins = "gpx3-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; samsung,pin-function = <1>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; samsung,pin-pud = <0>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; samsung,pin-drv = <0>;
samsung,pin-val = <0>; samsung,pin-val = <0>;
}; };
}; };
- | - |
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/samsung.h>
pinctrl@10580000 { pinctrl@10580000 {
compatible = "samsung,exynos5433-pinctrl"; compatible = "samsung,exynos5433-pinctrl";
...@@ -355,9 +347,9 @@ examples: ...@@ -355,9 +347,9 @@ examples:
initial_alive: initial-state { initial_alive: initial-state {
gpa0-0-pin { gpa0-0-pin {
samsung,pins = "gpa0-0"; samsung,pins = "gpa0-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; samsung,pin-function = <0>;
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; samsung,pin-pud = <1>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; samsung,pin-drv = <0>;
}; };
// ... // ...
...@@ -366,7 +358,6 @@ examples: ...@@ -366,7 +358,6 @@ examples:
- | - |
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pinctrl/samsung.h>
pinctrl@114b0000 { pinctrl@114b0000 {
compatible = "samsung,exynos5433-pinctrl"; compatible = "samsung,exynos5433-pinctrl";
...@@ -387,9 +378,9 @@ examples: ...@@ -387,9 +378,9 @@ examples:
i2s0-bus-pins { i2s0-bus-pins {
samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3", samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
"gpz0-4", "gpz0-5", "gpz0-6"; "gpz0-4", "gpz0-5", "gpz0-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>; samsung,pin-function = <2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; samsung,pin-pud = <0>;
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; samsung,pin-drv = <0>;
}; };
// ... // ...
......
...@@ -1166,15 +1166,15 @@ static int samsung_pinctrl_probe(struct platform_device *pdev) ...@@ -1166,15 +1166,15 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
if (ret) if (ret)
goto err_put_banks; goto err_put_banks;
ret = samsung_gpiolib_register(pdev, drvdata);
if (ret)
goto err_unregister;
if (ctrl->eint_gpio_init) if (ctrl->eint_gpio_init)
ctrl->eint_gpio_init(drvdata); ctrl->eint_gpio_init(drvdata);
if (ctrl->eint_wkup_init) if (ctrl->eint_wkup_init)
ctrl->eint_wkup_init(drvdata); ctrl->eint_wkup_init(drvdata);
ret = samsung_gpiolib_register(pdev, drvdata);
if (ret)
goto err_unregister;
platform_set_drvdata(pdev, drvdata); platform_set_drvdata(pdev, drvdata);
return 0; return 0;
......
...@@ -10,6 +10,13 @@ ...@@ -10,6 +10,13 @@
#ifndef __DT_BINDINGS_PINCTRL_SAMSUNG_H__ #ifndef __DT_BINDINGS_PINCTRL_SAMSUNG_H__
#define __DT_BINDINGS_PINCTRL_SAMSUNG_H__ #define __DT_BINDINGS_PINCTRL_SAMSUNG_H__
/*
* These bindings are deprecated, because they do not match the actual
* concept of bindings but rather contain pure register values.
* Instead include the header in the DTS source directory.
*/
#warning "These bindings are deprecated. Instead use the header in the DTS source directory."
#define EXYNOS_PIN_PULL_NONE 0 #define EXYNOS_PIN_PULL_NONE 0
#define EXYNOS_PIN_PULL_DOWN 1 #define EXYNOS_PIN_PULL_DOWN 1
#define EXYNOS_PIN_PULL_UP 3 #define EXYNOS_PIN_PULL_UP 3
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment