mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-22 21:20:14 +00:00
Core changes:
- New helpers from Andy such as for_each_gpiochip_node() affecting both
GPIO and pin control, improving a bunch of drivers in the process.
- Pulled in Marc Zyngiers work to make IRQ chips immutable, and started
to apply fixups on top.
New drivers:
- New driver for Marvell MVEBU 98DX2530.
- New driver for Mediatek MT8195.
- Support Qualcomm PMX65 and PM6125.
- New driver for Qualcomm SC7280 LPASS pin control.
- New driver for Rockchip RK3588.
- New driver for NXP Freescale i.MXRT1170.
- New driver for Mediatek MT6795 Helio X10.
Improvements:
- Several Aspeed G6 cleanups and non-critical fixes.
- Thorought refactoring of some of the ever improving Renesas drivers.
- Clean up Mediatek MT8192 bindings a bit.
- PWM output and clock monitoring in the Ocelot LAN966x driver.
- Thorough refactoring and cleanup of the Ralink drivers such as
RT2880, RT3883, RT305X, MT7620, MT7621, MT7628 splitting these into proper
sub-drivers.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmKR6skACgkQQRCzN7AZ
XXMpAg/+JXKTooNIuxsfXO2SSQouGJP3xIa0iLdhEKahN8vM7Rp4ND3vuqOI7eqp
pQrGVqY2BiRDhFTz6cku5dBK9tQUlHB9fqr0XHZ65W5pVjz2FCMIE5RemlyNhPMf
OMv4BfJA3Mk71nqmcWjTAc+l7Iw1HAdGrQ4QJpfCHT/eGZCGZXS6q7/iNKyNlnpK
iN7CuJn4YxB8EyAxySEFIi1R/CP1nA1Hmeq1ICxLbFrG/NFZoFjKX1a4xJi4ns7/
3Sn3Vq9t5hJLbU3VZsQymNlCNqzKTtLcSugUlNzkXzvLKebbh27ZVrjWs7pye/s5
Bqbg0e9oDJkAnw8+/tgXKh88hz6ZdUWRVWJElkfp+LyFBuIitGWcaHOEhhaEEHIZ
Utrvba8hjq2r7ASw3gvMWFVHhrQYGBONDkAQGXLtKKFHoNfXf6O5BOmyc0gsYdBo
Sx6X/lAahZkvV17dDop9AlOquf3+jExUHZNftLouazzxqJ1xoDVkbiRz3iKf29n0
+F7hpt0M01jQxUS6whOv9jdR+jAplds35ess99Wput8R5X8ICZRhEtdj4ON10lM/
pI9biaoNXtglCHc2J+nm9EXzD0DePjs/ULCs/0C6FLZ4I5BfZ8dkwe7QNW/cM2vA
V1YTeLVujQASmJo+pfWACoE1nbOg/no1sY1foUKeYnjfhS+OuZg=
=e5GM
-----END PGP SIGNATURE-----
Merge tag 'pinctrl-v5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
"Pretty big this time. Mostly due to (nice) Renesas refactorings.
Core changes:
- New helpers from Andy such as for_each_gpiochip_node() affecting
both GPIO and pin control, improving a bunch of drivers in the
process.
- Pulled in Marc Zyngiers work to make IRQ chips immutable, and
started to apply fixups on top.
New drivers:
- New driver for Marvell MVEBU 98DX2530.
- New driver for Mediatek MT8195.
- Support Qualcomm PMX65 and PM6125.
- New driver for Qualcomm SC7280 LPASS pin control.
- New driver for Rockchip RK3588.
- New driver for NXP Freescale i.MXRT1170.
- New driver for Mediatek MT6795 Helio X10.
Improvements:
- Several Aspeed G6 cleanups and non-critical fixes.
- Thorought refactoring of some of the ever improving Renesas
drivers.
- Clean up Mediatek MT8192 bindings a bit.
- PWM output and clock monitoring in the Ocelot LAN966x driver.
- Thorough refactoring and cleanup of the Ralink drivers such as
RT2880, RT3883, RT305X, MT7620, MT7621, MT7628 splitting these into
proper sub-drivers"
* tag 'pinctrl-v5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (161 commits)
pinctrl: apple: Use a raw spinlock for the regmap
pinctrl: berlin: bg4ct: Use devm_platform_*ioremap_resource() APIs
pinctrl: intel: Fix kernel doc format, i.e. add return sections
dt-bindings: pinctrl: qcom: Drop 'maxItems' on 'wakeup-parent'
pinctrl: starfive: Make the irqchip immutable
pinctrl: mediatek: Add pinctrl driver for MT6795 Helio X10
dt-bindings: pinctrl: Add MediaTek MT6795 pinctrl bindings
pinctrl: freescale: Add i.MXRT1170 pinctrl driver support
dt-bindings: pinctrl: add i.MXRT1170 pinctrl Documentation
dt-bindings: pinctrl: rockchip: increase max amount of device functions
dt-bindings: pinctrl: qcom,pmic-gpio: add 'gpio-reserved-ranges'
dt-bindings: pinctrl: qcom,pmic-gpio: add 'input-disable'
dt-bindings: pinctrl: qcom,pmic-gpio: describe gpio-line-names
dt-bindings: pinctrl: qcom,pmic-gpio: fix matching pin config
dt-bindings: pinctrl: qcom,pmic-gpio: document PM8150L and PMM8155AU
pinctrl: qcom: spmi-gpio: Add pm6125 compatible
dt-bindings: pinctrl: qcom-pmic-gpio: Add pm6125 compatible
pinctrl: intel: Drop unused irqchip member in struct intel_pinctrl
pinctrl: intel: make irq_chip immutable
pinctrl: cherryview: Use GPIO chip pointer in chv_gpio_irq_mask_unmask()
...
79 lines
2.5 KiB
Plaintext
79 lines
2.5 KiB
Plaintext
PDC interrupt controller
|
|
|
|
Qualcomm Technologies Inc. SoCs based on the RPM Hardened architecture have a
|
|
Power Domain Controller (PDC) that is on always-on domain. In addition to
|
|
providing power control for the power domains, the hardware also has an
|
|
interrupt controller that can be used to help detect edge low interrupts as
|
|
well detect interrupts when the GIC is non-operational.
|
|
|
|
GIC is parent interrupt controller at the highest level. Platform interrupt
|
|
controller PDC is next in hierarchy, followed by others. Drivers requiring
|
|
wakeup capabilities of their device interrupts routed through the PDC, must
|
|
specify PDC as their interrupt controller and request the PDC port associated
|
|
with the GIC interrupt. See example below.
|
|
|
|
Properties:
|
|
|
|
- compatible:
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: Should contain "qcom,<soc>-pdc" and "qcom,pdc"
|
|
- "qcom,sc7180-pdc": For SC7180
|
|
- "qcom,sc7280-pdc": For SC7280
|
|
- "qcom,sdm845-pdc": For SDM845
|
|
- "qcom,sm6350-pdc": For SM6350
|
|
- "qcom,sm8150-pdc": For SM8150
|
|
- "qcom,sm8250-pdc": For SM8250
|
|
- "qcom,sm8350-pdc": For SM8350
|
|
|
|
- reg:
|
|
Usage: required
|
|
Value type: <prop-encoded-array>
|
|
Definition: Specifies the base physical address for PDC hardware.
|
|
|
|
- interrupt-cells:
|
|
Usage: required
|
|
Value type: <u32>
|
|
Definition: Specifies the number of cells needed to encode an interrupt
|
|
source.
|
|
Must be 2.
|
|
The first element of the tuple is the PDC pin for the
|
|
interrupt.
|
|
The second element is the trigger type.
|
|
|
|
- interrupt-controller:
|
|
Usage: required
|
|
Value type: <bool>
|
|
Definition: Identifies the node as an interrupt controller.
|
|
|
|
- qcom,pdc-ranges:
|
|
Usage: required
|
|
Value type: <u32 array>
|
|
Definition: Specifies the PDC pin offset and the number of PDC ports.
|
|
The tuples indicates the valid mapping of valid PDC ports
|
|
and their hwirq mapping.
|
|
The first element of the tuple is the starting PDC port.
|
|
The second element is the GIC hwirq number for the PDC port.
|
|
The third element is the number of interrupts in sequence.
|
|
|
|
Example:
|
|
|
|
pdc: interrupt-controller@b220000 {
|
|
compatible = "qcom,sdm845-pdc";
|
|
reg = <0xb220000 0x30000>;
|
|
qcom,pdc-ranges = <0 512 94>, <94 641 15>, <115 662 7>;
|
|
#interrupt-cells = <2>;
|
|
interrupt-parent = <&intc>;
|
|
interrupt-controller;
|
|
};
|
|
|
|
DT binding of a device that wants to use the GIC SPI 514 as a wakeup
|
|
interrupt, must do -
|
|
|
|
wake-device {
|
|
interrupts-extended = <&pdc 2 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
In this case interrupt 514 would be mapped to port 2 on the PDC as defined by
|
|
the qcom,pdc-ranges property.
|