On Wed, Oct 03, 2012 at 18:06:10, Linus Walleij wrote: > On Wed, Oct 3, 2012 at 12:52 PM, AnilKumar, Chimata <anilku...@ti.com> wrote: > > On Tue, Oct 02, 2012 at 01:29:37, Linus Walleij wrote: > > >> This is what we're doing for ux500 and should be a good model. > > > > I have looked into this, but not seen any named modes. > > OK maybe it's not easy to find. If you look into: > arch/arm/mach-ux500/board-mop500-pins.c > you find our work in progress. Note that this is not (yet) > using device tree. (We want to migrate all our pinctrl > stuff first, then do DT.) > > So for example this macro: > > #define DB8500_PIN(pin,conf,dev) \ > PIN_MAP_CONFIGS_PIN_DEFAULT(dev, "pinctrl-db8500", pin, conf) > > Will define a config for the "default" mode for a certain > pin. > > This: > > #define DB8500_PIN_SLEEP(pin, conf, dev) \ > PIN_MAP_CONFIGS_PIN(dev, PINCTRL_STATE_SLEEP, "pinctrl-db8500", \ > pin, conf) > > Will mutatis mutandis define a "sleep" mode for a pin. > > Sorry for the macros. We'll get rid of them in the DT. > (Now that Stephen has patched in preprocessing it will > even look good.) >
Hi Linus Walleij/Tony, I completely understood this named modes, I have added named modes like this in am335x-xxx.dts files am33xx_pinmux: pinmux@44e10800 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&user_leds_s0>; pinctrl-1 = <&user_leds_s1>; user_leds_s0: user_leds_s0 { pinctrl-single,pins = < 0x54 0x7 /* gpmc_a5.gpio1_21, OUTPUT | MODE7 */ 0x58 0x17 /* gpmc_a6.gpio1_22, OUT PULLUP | MODE7 */ 0x5c 0x7 /* gpmc_a7.gpio1_23, OUTPUT | MODE7 */ 0x60 0x17 /* gpmc_a8.gpio1_24, OUT PULLUP | MODE7 */ >; }; user_leds_s1: user_leds_s1 { pinctrl-single,pins = < 0x54 0x2e /* gpmc_a5.gpio1_21, INPUT | MODE7 */ 0x58 0x2e /* gpmc_a6.gpio1_22, INPUT | MODE7 */ 0x5c 0x2e /* gpmc_a7.gpio1_23, INPUT | MODE7 */ 0x60 0x2e /* gpmc_a8.gpio1_24, INPUT | MODE7 */ >; }; }; I think "pinctrl-1" state will be used in driver suspend/resume calls. I have the pinmux/conf settings for default state but fully optimized pinmux/conf values in idle & suspend states are not available yet. Even though if I add here, I am unable to test these pins in suspend state because suspend/resume of AM35xx is not added yet I have two options now - add only default states for now, I can add reset of the state details once suspend/resume is supported. - add same values in all the states, modify those once suspend/resume is added for AM335x. Thanks AnilKumar _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss