Message ID | 1354876051-25938-2-git-send-email-anilkumar.v@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Anil, On 12/7/2012 3:57 PM, Kumar, Anil wrote: > For DT, DaVinci platform can use pinctrl-single driver for handling > padconf registers. > > Enable PINCTRL Kconfig for all DaVinci platform. Add required > pinctrl DT entries in da850 dts file. > > Test procedure > 1)Populate DT file with NAND node information. > 2)Populate board DT file with pinmux information for NAND. > 3)Boot and confirm NAND is detected by the kernel. > 4)cat /proc/mtd to show partitions. > > Signed-off-by: Kumar, Anil <anilkumar.v@ti.com> > --- > :000000 100644 0000000... f999d9e... A Documentation/devicetree/bindings/arm/davinci/pinctrl.txt > :100644 100644 06e0adf... 54a5405... M arch/arm/Kconfig > :100644 100644 37dc5a3... 8cac9d2... M arch/arm/boot/dts/da850-evm.dts > :100644 100644 fbada87... 94471bc... M arch/arm/boot/dts/da850.dtsi > :100644 100644 f292239... 0892db4... M arch/arm/configs/da8xx_omapl_defconfig > .../devicetree/bindings/arm/davinci/pinctrl.txt | 29 ++++++++++++++++++++ > arch/arm/Kconfig | 1 + > arch/arm/boot/dts/da850-evm.dts | 3 ++ > arch/arm/boot/dts/da850.dtsi | 10 +++++++ > arch/arm/configs/da8xx_omapl_defconfig | 1 + > 5 files changed, 44 insertions(+), 0 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt b/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt > new file mode 100644 > index 0000000..f999d9e > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt > @@ -0,0 +1,29 @@ > +* Texas Instruments Davinci pinctrl-single > + > +This file provides information, what the device node for the > +davinci pinctrl-single interface contain. > + > +Required properties: > +- compatible: "pinctrl-single"; > + > +- reg : offset and length of the register set for the mux registers > + > +- pinctrl-single,bit-per-mux: mask of allowed pinmux function bits in the > + pinmux register > + > +- pinctrl-single,register-width: pinmux register access width in bits > + > +- pinctrl-single,function-mask: mask of allowed pinmux function bits in > + the pinmux register > + > +Example: > +pmx_core:pinmux@14120 { > + compatible = "pinctrl-single"; > + reg = <0x14120 0x50>; > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-single,bit-per-mux; > + pinctrl-single,register-width = <32>; > + pinctrl-single,function-mask = <0xffffffff>; > +}; These bindings are already documented as part of Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt. No need to repeat. > +~ > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 06e0adf..54a5405 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -924,6 +924,7 @@ config ARCH_DAVINCI > select GENERIC_IRQ_CHIP > select HAVE_IDE > select NEED_MACH_GPIO_H > + select PINCTRL No need to force this across DaVinci. You can select only for MACH_DA8XX_DT. > select USE_OF > select ZONE_DMA > help > diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts > index 37dc5a3..8cac9d2 100644 > --- a/arch/arm/boot/dts/da850-evm.dts > +++ b/arch/arm/boot/dts/da850-evm.dts > @@ -15,6 +15,9 @@ > model = "DA850/AM1808/OMAP-L138 EVM"; > > soc { > + pmx_core:pinmux@14120 { 'pmx_core:pinmux@1c14120' instead like the way uart is defined? > + status = "okay"; > + }; > serial0: serial@1c42000 { > status = "okay"; > }; > diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi > index fbada87..94471bc 100644 > --- a/arch/arm/boot/dts/da850.dtsi > +++ b/arch/arm/boot/dts/da850.dtsi > @@ -29,6 +29,16 @@ > #size-cells = <1>; > ranges = <0x0 0x01c00000 0x400000>; > > + pmx_core:pinmux@14120 { > + compatible = "pinctrl-single"; > + reg = <0x14120 0x50>; > + #address-cells = <1>; > + #size-cells = <0>; > + pinctrl-single,bit-per-mux; > + pinctrl-single,register-width = <32>; > + pinctrl-single,function-mask = <0xffffffff>; > + status = "disabled"; > + }; > serial0: serial@1c42000 { > compatible = "ns16550a"; > reg = <0x42000 0x100>; > diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig > index f292239..0892db4 100644 > --- a/arch/arm/configs/da8xx_omapl_defconfig > +++ b/arch/arm/configs/da8xx_omapl_defconfig I would like the defconfig changes to be separated out into a different patch. Thanks, Sekhar
On Mon, Jan 07, 2013 at 20:35:37, Nori, Sekhar wrote: > Hi Anil, > > On 12/7/2012 3:57 PM, Kumar, Anil wrote: > > For DT, DaVinci platform can use pinctrl-single driver for handling > > padconf registers. > > > > Enable PINCTRL Kconfig for all DaVinci platform. Add required > > pinctrl DT entries in da850 dts file. > > > > Test procedure > > 1)Populate DT file with NAND node information. > > 2)Populate board DT file with pinmux information for NAND. > > 3)Boot and confirm NAND is detected by the kernel. > > 4)cat /proc/mtd to show partitions. > > > > Signed-off-by: Kumar, Anil <anilkumar.v@ti.com> > > --- > > :000000 100644 0000000... f999d9e... A Documentation/devicetree/bindings/arm/davinci/pinctrl.txt > > :100644 100644 06e0adf... 54a5405... M arch/arm/Kconfig > > :100644 100644 37dc5a3... 8cac9d2... M arch/arm/boot/dts/da850-evm.dts > > :100644 100644 fbada87... 94471bc... M arch/arm/boot/dts/da850.dtsi > > :100644 100644 f292239... 0892db4... M arch/arm/configs/da8xx_omapl_defconfig > > .../devicetree/bindings/arm/davinci/pinctrl.txt | 29 ++++++++++++++++++++ > > arch/arm/Kconfig | 1 + > > arch/arm/boot/dts/da850-evm.dts | 3 ++ > > arch/arm/boot/dts/da850.dtsi | 10 +++++++ > > arch/arm/configs/da8xx_omapl_defconfig | 1 + > > 5 files changed, 44 insertions(+), 0 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt b/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt > > new file mode 100644 > > index 0000000..f999d9e > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt > > @@ -0,0 +1,29 @@ > > +* Texas Instruments Davinci pinctrl-single > > + > > +This file provides information, what the device node for the > > +davinci pinctrl-single interface contain. > > + > > +Required properties: > > +- compatible: "pinctrl-single"; > > + > > +- reg : offset and length of the register set for the mux registers > > + > > +- pinctrl-single,bit-per-mux: mask of allowed pinmux function bits in the > > + pinmux register > > + > > +- pinctrl-single,register-width: pinmux register access width in bits > > + > > +- pinctrl-single,function-mask: mask of allowed pinmux function bits in > > + the pinmux register > > + > > +Example: > > +pmx_core:pinmux@14120 { > > + compatible = "pinctrl-single"; > > + reg = <0x14120 0x50>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + pinctrl-single,bit-per-mux; > > + pinctrl-single,register-width = <32>; > > + pinctrl-single,function-mask = <0xffffffff>; > > +}; > > These bindings are already documented as part of > Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt. No need to > repeat. Ok I will remove this documentation in next patch series. > > > +~ > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 06e0adf..54a5405 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -924,6 +924,7 @@ config ARCH_DAVINCI > > select GENERIC_IRQ_CHIP > > select HAVE_IDE > > select NEED_MACH_GPIO_H > > + select PINCTRL > > No need to force this across DaVinci. You can select only for MACH_DA8XX_DT. Ok I will do for MACH_DA8XX_DT only in next patch series. > > > select USE_OF > > select ZONE_DMA > > help > > diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts > > index 37dc5a3..8cac9d2 100644 > > --- a/arch/arm/boot/dts/da850-evm.dts > > +++ b/arch/arm/boot/dts/da850-evm.dts > > @@ -15,6 +15,9 @@ > > model = "DA850/AM1808/OMAP-L138 EVM"; > > > > soc { > > + pmx_core:pinmux@14120 { > > 'pmx_core:pinmux@1c14120' instead like the way uart is defined? Sorry, I will correct this in next patch series. > > > + status = "okay"; > > + }; > > serial0: serial@1c42000 { > > status = "okay"; > > }; > > diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi > > index fbada87..94471bc 100644 > > --- a/arch/arm/boot/dts/da850.dtsi > > +++ b/arch/arm/boot/dts/da850.dtsi > > @@ -29,6 +29,16 @@ > > #size-cells = <1>; > > ranges = <0x0 0x01c00000 0x400000>; > > > > + pmx_core:pinmux@14120 { > > + compatible = "pinctrl-single"; > > + reg = <0x14120 0x50>; > > + #address-cells = <1>; > > + #size-cells = <0>; > > + pinctrl-single,bit-per-mux; > > + pinctrl-single,register-width = <32>; > > + pinctrl-single,function-mask = <0xffffffff>; > > + status = "disabled"; > > + }; > > serial0: serial@1c42000 { > > compatible = "ns16550a"; > > reg = <0x42000 0x100>; > > diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig > > index f292239..0892db4 100644 > > --- a/arch/arm/configs/da8xx_omapl_defconfig > > +++ b/arch/arm/configs/da8xx_omapl_defconfig > > I would like the defconfig changes to be separated out into a different > patch. Ok, I will make separate patch for this in next patch series. > > Thanks, > Sekhar >
diff --git a/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt b/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt new file mode 100644 index 0000000..f999d9e --- /dev/null +++ b/Documentation/devicetree/bindings/arm/davinci/pinctrl.txt @@ -0,0 +1,29 @@ +* Texas Instruments Davinci pinctrl-single + +This file provides information, what the device node for the +davinci pinctrl-single interface contain. + +Required properties: +- compatible: "pinctrl-single"; + +- reg : offset and length of the register set for the mux registers + +- pinctrl-single,bit-per-mux: mask of allowed pinmux function bits in the + pinmux register + +- pinctrl-single,register-width: pinmux register access width in bits + +- pinctrl-single,function-mask: mask of allowed pinmux function bits in + the pinmux register + +Example: +pmx_core:pinmux@14120 { + compatible = "pinctrl-single"; + reg = <0x14120 0x50>; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-single,bit-per-mux; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; +}; +~ diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 06e0adf..54a5405 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -924,6 +924,7 @@ config ARCH_DAVINCI select GENERIC_IRQ_CHIP select HAVE_IDE select NEED_MACH_GPIO_H + select PINCTRL select USE_OF select ZONE_DMA help diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts index 37dc5a3..8cac9d2 100644 --- a/arch/arm/boot/dts/da850-evm.dts +++ b/arch/arm/boot/dts/da850-evm.dts @@ -15,6 +15,9 @@ model = "DA850/AM1808/OMAP-L138 EVM"; soc { + pmx_core:pinmux@14120 { + status = "okay"; + }; serial0: serial@1c42000 { status = "okay"; }; diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi index fbada87..94471bc 100644 --- a/arch/arm/boot/dts/da850.dtsi +++ b/arch/arm/boot/dts/da850.dtsi @@ -29,6 +29,16 @@ #size-cells = <1>; ranges = <0x0 0x01c00000 0x400000>; + pmx_core:pinmux@14120 { + compatible = "pinctrl-single"; + reg = <0x14120 0x50>; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-single,bit-per-mux; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + status = "disabled"; + }; serial0: serial@1c42000 { compatible = "ns16550a"; reg = <0x42000 0x100>; diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig index f292239..0892db4 100644 --- a/arch/arm/configs/da8xx_omapl_defconfig +++ b/arch/arm/configs/da8xx_omapl_defconfig @@ -81,6 +81,7 @@ CONFIG_SERIAL_OF_PLATFORM=y CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_DAVINCI=y +CONFIG_PINCTRL_SINGLE=y # CONFIG_HWMON is not set CONFIG_WATCHDOG=y CONFIG_REGULATOR=y
For DT, DaVinci platform can use pinctrl-single driver for handling padconf registers. Enable PINCTRL Kconfig for all DaVinci platform. Add required pinctrl DT entries in da850 dts file. Test procedure 1)Populate DT file with NAND node information. 2)Populate board DT file with pinmux information for NAND. 3)Boot and confirm NAND is detected by the kernel. 4)cat /proc/mtd to show partitions. Signed-off-by: Kumar, Anil <anilkumar.v@ti.com> --- :000000 100644 0000000... f999d9e... A Documentation/devicetree/bindings/arm/davinci/pinctrl.txt :100644 100644 06e0adf... 54a5405... M arch/arm/Kconfig :100644 100644 37dc5a3... 8cac9d2... M arch/arm/boot/dts/da850-evm.dts :100644 100644 fbada87... 94471bc... M arch/arm/boot/dts/da850.dtsi :100644 100644 f292239... 0892db4... M arch/arm/configs/da8xx_omapl_defconfig .../devicetree/bindings/arm/davinci/pinctrl.txt | 29 ++++++++++++++++++++ arch/arm/Kconfig | 1 + arch/arm/boot/dts/da850-evm.dts | 3 ++ arch/arm/boot/dts/da850.dtsi | 10 +++++++ arch/arm/configs/da8xx_omapl_defconfig | 1 + 5 files changed, 44 insertions(+), 0 deletions(-)