* Spreadtrum SC9860 Pin Controller Please refer to sprd,pinctrl.txt in this directory for common binding part and usage. Required properties: - compatible: Must be "sprd,sc9860-pinctrl". - reg: The register address of pin controller device. - pins : An array of strings, each string containing the name of a pin. Optional properties: - function: A string containing the name of the function, values must be one of: "func1", "func2", "func3" and "func4". - drive-strength: Drive strength in mA. Supported values: 2, 4, 6, 8, 10, 12, 14, 16, 20, 21, 24, 25, 27, 29, 31 and 33. - input-schmitt-disable: Enable schmitt-trigger mode. - input-schmitt-enable: Disable schmitt-trigger mode. - bias-disable: Disable pin bias. - bias-pull-down: Pull down on pin. - bias-pull-up: Pull up on pin. Supported values: 20000 for pull-up resistor is 20K and 4700 for pull-up resistor is 4.7K. - input-enable: Enable pin input. - input-disable: Enable pin output. - output-high: Set the pin as an output level high. - output-low: Set the pin as an output level low. - sleep-hardware-state: Indicate these configs in this state are sleep related. - sprd,control: Control values referring to databook for global control pins. - sprd,sleep-mode: Choose the pin sleep mode, and supported values are: AP_SLEEP, PUBCP_SLEEP, TGLDSP_SLEEP and AGDSP_SLEEP. Pin sleep mode definition: enum pin_sleep_mode { AP_SLEEP = BIT(0), PUBCP_SLEEP = BIT(1), TGLDSP_SLEEP = BIT(2), AGDSP_SLEEP = BIT(3), }; Example: pin_controller: pinctrl@402a0000 { compatible = "sprd,sc9860-pinctrl"; reg = <0x402a0000 0x10000>; grp1: sd0 { pins = "SC9860_VIO_SD2_IRTE", "SC9860_VIO_SD0_IRTE"; sprd,control = <0x1>; }; grp2: rfctl_33 { pins = "SC9860_RFCTL33"; function = "func2"; sprd,sleep-mode = <AP_SLEEP | PUBCP_SLEEP>; grp2_sleep_mode: rfctl_33_sleep { pins = "SC9860_RFCTL33"; sleep-hardware-state; output-low; } }; grp3: rfctl_misc_20 { pins = "SC9860_RFCTL20_MISC"; drive-strength = <10>; bias-pull-up = <4700>; grp3_sleep_mode: rfctl_misc_sleep { pins = "SC9860_RFCTL20_MISC"; sleep-hardware-state; bias-pull-up; } }; };