Squashed backup commit (no shallow-clone history issues) of xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream commit 9eece662e) plus all fixes applied to get everpal_defconfig building clean against a modern (GCC 15.2.0) toolchain -- see the previous commit message on the lineage-23.2 branch (also in this repo history is not available here since this is a squashed snapshot; full incremental history lives in the local DL380 checkout and the upstream GitHub remote). Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
CSR SiRFprimaII pinmux controller
|
|
|
|
Required properties:
|
|
- compatible : "sirf,prima2-pinctrl"
|
|
- reg : Address range of the pinctrl registers
|
|
- interrupts : Interrupts used by every GPIO group
|
|
- gpio-controller : Indicates this device is a GPIO controller
|
|
- interrupt-controller : Marks the device node as an interrupt controller
|
|
Optional properties:
|
|
- sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m
|
|
- sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m
|
|
|
|
Please refer to pinctrl-bindings.txt in this directory for details of the common
|
|
pinctrl bindings used by client devices.
|
|
|
|
SiRFprimaII's pinmux nodes act as a container for an arbitrary number of subnodes.
|
|
Each of these subnodes represents some desired configuration for a group of pins.
|
|
|
|
Required subnode-properties:
|
|
- sirf,pins : An array of strings. Each string contains the name of a group.
|
|
- sirf,function: A string containing the name of the function to mux to the
|
|
group.
|
|
|
|
Valid values for group and function names can be found from looking at the
|
|
group and function arrays in driver files:
|
|
drivers/pinctrl/pinctrl-sirf.c
|
|
|
|
For example, pinctrl might have subnodes like the following:
|
|
uart2_pins_a: uart2@0 {
|
|
uart {
|
|
sirf,pins = "uart2grp";
|
|
sirf,function = "uart2";
|
|
};
|
|
};
|
|
uart2_noflow_pins_a: uart2@1 {
|
|
uart {
|
|
sirf,pins = "uart2_nostreamctrlgrp";
|
|
sirf,function = "uart2_nostreamctrl";
|
|
};
|
|
};
|
|
|
|
For a specific board, if it wants to use uart2 without hardware flow control,
|
|
it can add the following to its board-specific .dts file.
|
|
uart2: uart@0xb0070000 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2_noflow_pins_a>;
|
|
}
|