forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.1 KiB
70 lines
2.1 KiB
* 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; |
|
} |
|
}; |
|
};
|
|
|