RE: [PATCH 3/4] ARM: pinctrl: Add Broadcom Capri pinctrl driver

From: Sherman Yin
Date: Tue Oct 22 2013 - 19:29:57 EST


>>>>> +static const struct capri_cfg_param capri_pinconf_params[] = {
>>>>> + {"brcm,hysteresis", CAPRI_PINCONF_PARAM_HYST},
>>>>> + {"brcm,pull", CAPRI_PINCONF_PARAM_PULL},
>>>>> + {"brcm,slew", CAPRI_PINCONF_PARAM_SLEW},
>>>>> + {"brcm,input_dis", CAPRI_PINCONF_PARAM_INPUT_DIS},
>>>>> + {"brcm,drive_str", CAPRI_PINCONF_PARAM_DRV_STR},
>>>>> + {"brcm,pull_up_str", CAPRI_PINCONF_PARAM_PULL_UP_STR},
>>>>> + {"brcm,mode", CAPRI_PINCONF_PARAM_MODE},
>>>>> +};
>>>>
>>>>As well as all this stuff...
>>>
>>> OK. Will see if I can find something suitable for "input disable" and "mode"
>>
>>Let's discuss this. What exactly does "input disable" and "mode"
>>mean, in electrical terms?
>>
>>When you come down to what actually happens it may turn out that
>>"input disable" is PIN_CONFIG_OUTPUT, which implicitly turns
>>off input does it not?
>
>I'm going to verify the details with our hardware team first, and will let you
>know if we think we can use one of the existing generic parameters or if we
>need a new one.

"input disable"
This setting disconnects the input (DIN) to the internal logic from the pin pad.
However, the output (DOUT) can still drive the pad. It seems to match
PIN_CONFIG_OUTPUT, but the current generic option is either "output-low" or
"output-high" - are these referring to a static output of 0 and 1?

"mode"
This controls several aspect of the pin (slew rate, pull up strength, etc) to meet
I2C specs for Standard/Fast mode vs High Speed mode. I think the best
way is to map this to slew rate, which would require some explanation because
the meaning of slew rate differs depending on what pin function is selected:
- When I2C (*_SCL or *_SDA) function is selected for the pin: 0: Standard (100kbps)
& Fast mode (400kbps), 1: High Speed mode (3.4Mbps)
- When IC_DM or IC_DP function is selected, 0: normal slew rate, 1: fast slew rate
- Else: 0: fast slew rate, 1: normal slew rate

Also, it seems like I have to add "slew-rate" to dt_params[] in pinconf-generic.c and
pinctrl-bindings.txt.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/