Add pinctrl support for audio IPs on exynos7
cover Add pinctrl support for audio IPs on exynos7
Audio interface IPs I2S, PCM and SPDIF on Exynos7 requires GPIOs available on AUD and BUS0 pin controller blocks. So add support for all.
This patchset is dependent on BUS1 pin control support from Vivek in the below link
https://patchwork.kernel.org/patch/5467321/
Padmavathi Venna (2):
pinctrl: exynos: Add AUDIO pin controller for exynos7
arm64: dts: Add pinctrl support for audio IPs on exynos7
.../bindings/pinctrl/samsung-pinctrl.txt | 1 + arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi | 56 ++++++++++++++++++++ arch/arm64/boot/dts/exynos/exynos7.dtsi | 7 +++ drivers/pinctrl/samsung/pinctrl-exynos.c | 10 ++++ 4 files changed, 74 insertions(+), 0 deletions(-)
Signature · 1 line
1.7.4.4
PATCH 1/2 pinctrl: exynos: Add AUDIO pin controller for exynos7
Audio IPs on Exynos7 require gpios available in AUDIO pin controller block. So adding the AUDIO pinctrl support.
--- .../bindings/pinctrl/samsung-pinctrl.txt | 1 + drivers/pinctrl/samsung/pinctrl-exynos.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 0 deletions(-)
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +1 -0
@@ -181,6 +181,7 @@ Aliases for controllers compatible with "samsung,exynos7-pinctrl": - pinctrl6: pin controller of FSYS0 block, - pinctrl7: pin controller of FSYS1 block, - pinctrl8: pin controller of BUS1 block, +- pinctrl9: pin controller of AUDIO block, Example: A pin-controller node with pin banks:
drivers/pinctrl/samsung/pinctrl-exynos.c +10 -0
@@ -1314,6 +1314,11 @@ static const struct samsung_pin_bank_data exynos7_pin_banks8[] __initconst = { EXYNOS_PIN_BANK_EINTG(3, 0x140, "gpv6", 0x24), }; +static const struct samsung_pin_bank_data exynos7_pin_banks9[]__initconst = { +EXYNOS_PIN_BANK_EINTG (7 ,0x000 ,"gpz0" ,0x00 ), +EXYNOS_PIN_BANK_EINTG (4 ,0x020 ,"gpz1" ,0x04 ), +}; +const struct samsung_pin_ctrl exynos7_pin_ctrl[]__initconst = { {/* pin-controller instance 0 Alive data */
@@ -1361,5 +1366,10 @@ const struct samsung_pin_ctrl exynos7_pin_ctrl[] __initconst = { .pin_banks = exynos7_pin_banks8, .nr_banks = ARRAY_SIZE(exynos7_pin_banks8), .eint_gpio_init = exynos_eint_gpio_init, + }, { +/* pin-controller instance 9 AUD data */ + .pin_banks = exynos7_pin_banks9, + .nr_banks = ARRAY_SIZE(exynos7_pin_banks9), + .eint_gpio_init = exynos_eint_gpio_init, }, };
Signature · 1 line
1.7.4.4
PATCH 1/2 pinctrl: exynos: Add AUDIO pin controller for exynos7
Quoted 8 lines · Padmavathi Venna
Audio IPs on Exynos7 require gpios available in AUDIO pin controller block. So adding the AUDIO pinctrl support.
Signed-off-by Padmavathi Venna <[email protected]>--- .../bindings/pinctrl/samsung-pinctrl.txt | 1 + drivers/pinctrl/samsung/pinctrl-exynos.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 0 deletions(-)
Best regards,
Tomasz
PATCH 1/2 pinctrl: exynos: Add AUDIO pin controller for exynos7
In reply to Padmavathi VennaQuoted 4 lines · Padmavathi Venna
Audio IPs on Exynos7 require gpios available in AUDIO pin controller block. So adding the AUDIO pinctrl support.
Signed-off-by Padmavathi Venna <[email protected]>
(...)
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt Aliases for controllers compatible with "samsung,exynos7-pinctrl": · line 184
Quoted 7 lines
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +1
-0@@ -181,6 +181,7 @@ Aliases for controllers compatible with "samsung,exynos7-pinctrl": - pinctrl6: pin controller of FSYS0 block, - pinctrl7: pin controller of FSYS1 block, - pinctrl8: pin controller of BUS1 block, +- pinctrl9: pin controller of AUDIO block,
This doesn't apply at all, the list has never been in the document merged upstream.
Please prepare this patch rebased on a *CLEAN* upstream tree and resend.
Include Tomasz ACK on your repost.
Yours,
Linus Walleij
PATCH 1/2 pinctrl: exynos: Add AUDIO pin controller for exynos7
Hi Linus,
2015-01-14 20:40 GMT+09:00 Linus Walleij <[email protected]>:
Quoted 7 lines · Padmavathi Venna
Quoted 5 lines
Audio IPs on Exynos7 require gpios available in AUDIO pin controller block. So adding the AUDIO pinctrl support.
Signed-off-by Padmavathi Venna <[email protected]>(...)
Quoted 10 lines
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt Aliases for controllers compatible with "samsung,exynos7-pinctrl": · line 184
Quoted 7 lines
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +1
-0@@ -181,6 +181,7 @@ Aliases for controllers compatible with "samsung,exynos7-pinctrl": - pinctrl6: pin controller of FSYS0 block, - pinctrl7: pin controller of FSYS1 block, - pinctrl8: pin controller of BUS1 block, +- pinctrl9: pin controller of AUDIO block,This doesn't apply at all, the list has never been in the document merged upstream.
I believe this patch depends on patch [1], which was mentioned in cover letter and which you seem to have applied two days ago. If it still doesn't apply, please let me know if I should collect the patches myself and prepare a pull request for you.
[1] https://patchwork.kernel.org/patch/5467321/
Best regards,
Tomasz
PATCH 1/2 pinctrl: exynos: Add AUDIO pin controller for exynos7
Quoted 19 lines · Tomasz Figa
2015-01-14 20:40 GMT+09:00 Linus Walleij <[email protected]>:
Quoted 7 lines · Padmavathi Venna
Quoted 5 lines
Audio IPs on Exynos7 require gpios available in AUDIO pin controller block. So adding the AUDIO pinctrl support.
Signed-off-by Padmavathi Venna <[email protected]>(...)
Quoted 10 lines
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt Aliases for controllers compatible with "samsung,exynos7-pinctrl": · line 184
Quoted 7 lines
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +1
-0@@ -181,6 +181,7 @@ Aliases for controllers compatible with "samsung,exynos7-pinctrl": - pinctrl6: pin controller of FSYS0 block, - pinctrl7: pin controller of FSYS1 block, - pinctrl8: pin controller of BUS1 block, +- pinctrl9: pin controller of AUDIO block,This doesn't apply at all, the list has never been in the document merged upstream.
Quoted 6 lines
I believe this patch depends on patch [1], which was mentioned in cover letter and which you seem to have applied two days ago. If it still doesn't apply, please let me know if I should collect the patches myself and prepare a pull request for you.
It applied when I tried it now, sorry I must have screwed up or something :(
Patch applied!
Yours,
Linus Walleij
PATCH 2/2 arm64: dts: Add pinctrl support for audio IPs on exynos7
In reply to Padmavathi VennaAdd pinctrl support for I2S,PCM,SPDIF
--- arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi | 56 +++++++++++++++++++++++ arch/arm64/boot/dts/exynos/exynos7.dtsi | 7 +++ 2 files changed, 63 insertions(+), 0 deletions(-)
arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi +56 -0
@@ -333,6 +333,29 @@ samsung,pin-pud = <3>; samsung,pin-drv = <0>; }; + + i2s1_bus: i2s1-bus { + samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2", + "gpd4-3", "gpd4-4"; + samsung,pin-function = <2>; + samsung,pin-pud = <1>; + samsung,pin-drv = <0>; + }; + + pcm1_bus: pcm1-bus { + samsung,pins = "gpd4-0", "gpd4-2", + "gpd4-3", "gpd4-4"; + samsung,pin-function = <3>; + samsung,pin-pud = <1>; + samsung,pin-drv = <0>; + }; + + spdif_bus: spdif-bus { + samsung,pins = "gpd4-3", "gpd4-4"; + samsung,pin-function = <4>; + samsung,pin-pud = <1>; + samsung,pin-drv = <0>; + }; }; &pinctrl_bus1 {
@@ -668,3 +691,36 @@ samsung,pin-drv = <2>; }; }; + +&pinctrl_aud { + gpz0: gpz0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpz1: gpz1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + i2s0_bus: i2s0-bus { + samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3", + "gpz0-4"; + samsung,pin-function = <2>; + samsung,pin-pud = <1>; + samsung,pin-drv = <0>; + }; + + pcm0_bus: pcm0-bus { + samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3"; + samsung,pin-function = <5>; + samsung,pin-pud = <1>; + samsung,pin-drv = <0>; + }; +};
arch/arm64/boot/dts/exynos/exynos7.dtsi +7 -0
@@ -27,6 +27,7 @@ pinctrl6 = &pinctrl_fsys0; pinctrl7 = &pinctrl_fsys1; pinctrl8 = &pinctrl_bus1; + pinctrl9 = &pinctrl_aud; }; cpus {
@@ -285,6 +286,12 @@ interrupts = <0 203 0>; }; + pinctrl_aud: pinctrl at 114b0000 { + compatible = "samsung,exynos7-pinctrl"; + reg = <0x114b0000 0x1000>; + interrupts = <0 92 0>; + }; + hsi2c_0: hsi2c at 13640000 { compatible = "samsung,exynos7-hsi2c"; reg = <0x13640000 0x1000>;
Signature · 1 line
1.7.4.4