On Wed, May 31, 2017 at 9:58 AM, Baolin Wang <baolin.wang@xxxxxxxxxxxxxx> wrote: > On 一, 5月 29, 2017 at 06:18:29下午 +0200, Linus Walleij wrote: >> > +pad driving level, system control select >> >> Actually I do not understand at all what "domain pad driving level" >> or "system control select" means, those are very generic terms. >> Can you describe precisely what it means? What domain? What >> is a domain pad? What kind of system control? What is it selecting >> between? > > I try to explain what they are on Spreadtrum platform. One pin can output > 3.0v or 1.8v, depending on the related domain pad driving selection, if > the related domain pad slect 3.0v, then the pin can output 3.0v. This can probably use the generic pin control property PIN_CONFIG_POWER_SOURCE (see include/linux/pinctrl/pinconf-generic.h) and the corresponding DT binding "power-source" see drivers/pinctrl/pinconf-generic.c and Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt > "system control" is used to choose this function (like: UART0) for which > system, since we have several systems (AP/CP/CM4) on one SoC. Aha, that sounds like a very spreadtrum-specific feature actually. > Since we have lots of different pin configuration to set, it will be hard to > use the standard pin config describing in binding files. But I will try to > remove the magic number and use the common pin config. It is possible to use generic config and add a few custom bindings "on top" of it. See for example: Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt mixing a few generic and Qualcomm-specific pin config things, and their driver is here: drivers/pinctrl/qcom/pinctrl-spmi-mpp.c Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html