Re: [PATCH 3/4] pinctrl: samsung: Add support for Exynos4x12

2012-10-30 Thread Linus Walleij
On Mon, Oct 29, 2012 at 12:27 PM, Kukjin Kim kgene@samsung.com wrote:

 On 10/29/12 19:28, Tomasz Figa wrote:
 On Monday 29 of October 2012 09:30:26 Kyungmin Park wrote:

 Since this depends on the patch adding Exynos4x12 dts files
 ([PATCH] ARM: dts: exynos4: Add support for Exynos4x12 SoCs),
 which will be going through Kgene's tree and this patch series contains
 mostly SoC-specific code, maybe this should rather go through Kgene's
 tree? Or this is not a problem?

 Yeah, I agree with Tomasz's opinion and let me pick this into Samsung tree
 with Linus's ack.

Seems to have worked out well, just one minor conflict in -next
so let's go for this...

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/4] pinctrl: samsung: Add support for Exynos4x12

2012-10-29 Thread Tomasz Figa
Hi Linus, Kyungmin,

On Monday 29 of October 2012 09:30:26 Kyungmin Park wrote:
 On 10/29/12, Linus Walleij linus.wall...@linaro.org wrote:
  On Wed, Oct 24, 2012 at 4:37 PM, Tomasz Figa t.f...@samsung.com 
wrote:
  This patch extends the driver with any necessary SoC-specific
  definitions to support Exynos4x12 SoCs.
  
  Signed-off-by: Tomasz Figa t.f...@samsung.com
  Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
  
  Acked-by: Linus Walleij linus.wall...@linaro.org
  
  I guess you need all of this to go into my Samsung branch?
  I need and ACK from the Samsung maintainer and preferably
  Thomas A as well.
 
 Hi,
 
 Now we're trying to send the standalone patches to avoid the conflict.
 and hope to merge patches via proper subsystem. In this case, pinctl.

Since this depends on the patch adding Exynos4x12 dts files
([PATCH] ARM: dts: exynos4: Add support for Exynos4x12 SoCs),
which will be going through Kgene's tree and this patch series contains 
mostly SoC-specific code, maybe this should rather go through Kgene's 
tree? Or this is not a problem?

Best regards,
-- 
Tomasz Figa
Samsung Poland RD Center
SW Solution Development, Linux Platform

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/4] pinctrl: samsung: Add support for Exynos4x12

2012-10-29 Thread Kukjin Kim

On 10/29/12 19:28, Tomasz Figa wrote:

Hi Linus, Kyungmin,

On Monday 29 of October 2012 09:30:26 Kyungmin Park wrote:

On 10/29/12, Linus Walleijlinus.wall...@linaro.org  wrote:

On Wed, Oct 24, 2012 at 4:37 PM, Tomasz Figat.f...@samsung.com

wrote:

This patch extends the driver with any necessary SoC-specific
definitions to support Exynos4x12 SoCs.

Signed-off-by: Tomasz Figat.f...@samsung.com
Signed-off-by: Kyungmin Parkkyungmin.p...@samsung.com


Acked-by: Linus Walleijlinus.wall...@linaro.org

I guess you need all of this to go into my Samsung branch?
I need and ACK from the Samsung maintainer and preferably
Thomas A as well.


Hi,

Now we're trying to send the standalone patches to avoid the conflict.
and hope to merge patches via proper subsystem. In this case, pinctl.


Since this depends on the patch adding Exynos4x12 dts files
([PATCH] ARM: dts: exynos4: Add support for Exynos4x12 SoCs),
which will be going through Kgene's tree and this patch series contains
mostly SoC-specific code, maybe this should rather go through Kgene's
tree? Or this is not a problem?

Yeah, I agree with Tomasz's opinion and let me pick this into Samsung 
tree with Linus's ack.


Thanks.

Best regards,
Kgene.
--
Kukjin Kim kgene@samsung.com, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/4] pinctrl: samsung: Add support for Exynos4x12

2012-10-28 Thread Linus Walleij
On Wed, Oct 24, 2012 at 4:37 PM, Tomasz Figa t.f...@samsung.com wrote:

 This patch extends the driver with any necessary SoC-specific
 definitions to support Exynos4x12 SoCs.

 Signed-off-by: Tomasz Figa t.f...@samsung.com
 Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com

Acked-by: Linus Walleij linus.wall...@linaro.org

I guess you need all of this to go into my Samsung branch?
I need and ACK from the Samsung maintainer and preferably
Thomas A as well.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/4] pinctrl: samsung: Add support for Exynos4x12

2012-10-28 Thread Kyungmin Park
On 10/29/12, Linus Walleij linus.wall...@linaro.org wrote:
 On Wed, Oct 24, 2012 at 4:37 PM, Tomasz Figa t.f...@samsung.com wrote:

 This patch extends the driver with any necessary SoC-specific
 definitions to support Exynos4x12 SoCs.

 Signed-off-by: Tomasz Figa t.f...@samsung.com
 Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com

 Acked-by: Linus Walleij linus.wall...@linaro.org

 I guess you need all of this to go into my Samsung branch?
 I need and ACK from the Samsung maintainer and preferably
 Thomas A as well.

Hi,

Now we're trying to send the standalone patches to avoid the conflict.
and hope to merge patches via proper subsystem. In this case, pinctl.

Thank you,
Kyungmin Park

 Yours,
 Linus Walleij

 ___
 linux-arm-kernel mailing list
 linux-arm-ker...@lists.infradead.org
 http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 3/4] pinctrl: samsung: Add support for Exynos4x12

2012-10-24 Thread Tomasz Figa
This patch extends the driver with any necessary SoC-specific
definitions to support Exynos4x12 SoCs.

Signed-off-by: Tomasz Figa t.f...@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
---
 .../bindings/pinctrl/samsung-pinctrl.txt   |   1 +
 drivers/pinctrl/pinctrl-exynos.c   | 110 +
 drivers/pinctrl/pinctrl-samsung.c  |   2 +
 drivers/pinctrl/pinctrl-samsung.h  |   1 +
 4 files changed, 114 insertions(+)

diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt 
b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index 63806e2..e97a278 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -8,6 +8,7 @@ on-chip controllers onto these pads.
 Required Properties:
 - compatible: should be one of the following.
   - samsung,pinctrl-exynos4210: for Exynos4210 compatible pin-controller.
+  - samsung,pinctrl-exynos4x12: for Exynos4x12 compatible pin-controller.
   - samsung,pinctrl-exynos5250: for Exynos5250 compatible pin-controller.
 
 - reg: Base address of the pin controller hardware module and length of
diff --git a/drivers/pinctrl/pinctrl-exynos.c b/drivers/pinctrl/pinctrl-exynos.c
index 73a0aa2..19fab68 100644
--- a/drivers/pinctrl/pinctrl-exynos.c
+++ b/drivers/pinctrl/pinctrl-exynos.c
@@ -566,3 +566,113 @@ struct samsung_pin_ctrl exynos4210_pin_ctrl[] = {
.label  = exynos4210-gpio-ctrl2,
},
 };
+
+/* pin banks of exynos4x12 pin-controller 0 */
+static struct samsung_pin_bank exynos4x12_pin_banks0[] = {
+   EXYNOS_PIN_BANK_EINTG(8, 0x000, gpa0, 0x00),
+   EXYNOS_PIN_BANK_EINTG(6, 0x020, gpa1, 0x04),
+   EXYNOS_PIN_BANK_EINTG(8, 0x040, gpb, 0x08),
+   EXYNOS_PIN_BANK_EINTG(5, 0x060, gpc0, 0x0c),
+   EXYNOS_PIN_BANK_EINTG(5, 0x080, gpc1, 0x10),
+   EXYNOS_PIN_BANK_EINTG(4, 0x0A0, gpd0, 0x14),
+   EXYNOS_PIN_BANK_EINTG(4, 0x0C0, gpd1, 0x18),
+   EXYNOS_PIN_BANK_EINTG(8, 0x180, gpf0, 0x30),
+   EXYNOS_PIN_BANK_EINTG(8, 0x1A0, gpf1, 0x34),
+   EXYNOS_PIN_BANK_EINTG(8, 0x1C0, gpf2, 0x38),
+   EXYNOS_PIN_BANK_EINTG(6, 0x1E0, gpf3, 0x3c),
+   EXYNOS_PIN_BANK_EINTG(8, 0x240, gpj0, 0x40),
+   EXYNOS_PIN_BANK_EINTG(5, 0x260, gpj1, 0x44),
+};
+
+/* pin banks of exynos4x12 pin-controller 1 */
+static struct samsung_pin_bank exynos4x12_pin_banks1[] = {
+   EXYNOS_PIN_BANK_EINTG(7, 0x040, gpk0, 0x08),
+   EXYNOS_PIN_BANK_EINTG(7, 0x060, gpk1, 0x0c),
+   EXYNOS_PIN_BANK_EINTG(7, 0x080, gpk2, 0x10),
+   EXYNOS_PIN_BANK_EINTG(7, 0x0A0, gpk3, 0x14),
+   EXYNOS_PIN_BANK_EINTG(7, 0x0C0, gpl0, 0x18),
+   EXYNOS_PIN_BANK_EINTG(2, 0x0E0, gpl1, 0x1c),
+   EXYNOS_PIN_BANK_EINTG(8, 0x100, gpl2, 0x20),
+   EXYNOS_PIN_BANK_EINTG(8, 0x260, gpm0, 0x24),
+   EXYNOS_PIN_BANK_EINTG(7, 0x280, gpm1, 0x28),
+   EXYNOS_PIN_BANK_EINTG(5, 0x2A0, gpm2, 0x2c),
+   EXYNOS_PIN_BANK_EINTG(8, 0x2C0, gpm3, 0x30),
+   EXYNOS_PIN_BANK_EINTG(8, 0x2E0, gpm4, 0x34),
+   EXYNOS_PIN_BANK_EINTN(6, 0x120, gpy0),
+   EXYNOS_PIN_BANK_EINTN(4, 0x140, gpy1),
+   EXYNOS_PIN_BANK_EINTN(6, 0x160, gpy2),
+   EXYNOS_PIN_BANK_EINTN(8, 0x180, gpy3),
+   EXYNOS_PIN_BANK_EINTN(8, 0x1A0, gpy4),
+   EXYNOS_PIN_BANK_EINTN(8, 0x1C0, gpy5),
+   EXYNOS_PIN_BANK_EINTN(8, 0x1E0, gpy6),
+   EXYNOS_PIN_BANK_EINTW(8, 0xC00, gpx0, 0x00),
+   EXYNOS_PIN_BANK_EINTW(8, 0xC20, gpx1, 0x04),
+   EXYNOS_PIN_BANK_EINTW(8, 0xC40, gpx2, 0x08),
+   EXYNOS_PIN_BANK_EINTW(8, 0xC60, gpx3, 0x0c),
+};
+
+/* pin banks of exynos4x12 pin-controller 2 */
+static struct samsung_pin_bank exynos4x12_pin_banks2[] = {
+   EXYNOS_PIN_BANK_EINTG(7, 0x000, gpz, 0x00),
+};
+
+/* pin banks of exynos4x12 pin-controller 3 */
+static struct samsung_pin_bank exynos4x12_pin_banks3[] = {
+   EXYNOS_PIN_BANK_EINTG(8, 0x000, gpv0, 0x00),
+   EXYNOS_PIN_BANK_EINTG(8, 0x020, gpv1, 0x04),
+   EXYNOS_PIN_BANK_EINTG(8, 0x040, gpv2, 0x08),
+   EXYNOS_PIN_BANK_EINTG(8, 0x060, gpv3, 0x0c),
+   EXYNOS_PIN_BANK_EINTG(2, 0x080, gpv4, 0x10),
+};
+
+/*
+ * Samsung pinctrl driver data for Exynos4x12 SoC. Exynos4x12 SoC includes
+ * four gpio/pin-mux/pinconfig controllers.
+ */
+struct samsung_pin_ctrl exynos4x12_pin_ctrl[] = {
+   {
+   /* pin-controller instance 0 data */
+   .pin_banks  = exynos4x12_pin_banks0,
+   .nr_banks   = ARRAY_SIZE(exynos4x12_pin_banks0),
+   .geint_con  = EXYNOS_GPIO_ECON_OFFSET,
+   .geint_mask = EXYNOS_GPIO_EMASK_OFFSET,
+   .geint_pend = EXYNOS_GPIO_EPEND_OFFSET,
+   .svc= EXYNOS_SVC_OFFSET,
+   .eint_gpio_init = exynos_eint_gpio_init,
+   .label  = exynos4x12-gpio-ctrl0,
+   }, {
+   /* pin-controller instance 1 data */
+