This series adds USB OTG mode support to the NVIDIA Tegra USB PHY driver and Nexus 7 tablet. Changelog: v7: - v6 partially missed 5.15 kernel, only the power/supply patches has been merged. Re-sending the remaining patches for 5.16. The usb/phy patch needs ack from the subsystem maintainer. v6: - Added r-b from Rob Herring to the OTG properties DT binding patch. - Corrected "smb347-charger: generic regmap caching" patch, it now sets the .num_reg_defaults_raw, initializing cache properly. - Added new patch "smb347-charger: Add missing pin control activation", which prevents never-enabled charging on Nexus 7. - The "otg-fsm: Fix hrtimer list corruption" patch of v5 was already applied to next, so it's not included anymore. v5: - Replaced "Remove caching of charger state" patch with "Utilize generic regmap caching" after Sebastian's notice about disabled regmap caching. v4: - Added r-b from Rob Herring. - Added unevaluatedProperties into SMB binding for VBUS regulator, which was Requested by Rob Herring. - Added cell to nvidia,pmc phandle instead of explicit h/w ID property. Requested by Rob Herring. - Added stack trace to commit message and ack from Peter Chen to OTG FSM patch. v3: - Further improved interrupt handling in the PHY driver by removing assumption that interrupt is enabled by the CI driver at the time of set_wakeup() invocation, which makes this function a bit more universal. v2: - The PHY's interrupt is now enabled from PHY's set_wakeup() callback. It prevents getting a spurious interrupt during the CI driver probe time. Dmitry Osipenko (7): dt-bindings: phy: tegra20-usb-phy: Convert to schema dt-bindings: phy: tegra20-usb-phy: Document properties needed for OTG mode soc/tegra: pmc: Expose USB regmap to all SoCs usb: phy: tegra: Support OTG mode programming ARM: tegra: Add new properties to USB PHY device-tree nodes ARM: tegra: nexus7: Enable USB OTG mode arm64: tegra132: Add new properties to USB PHY device-tree node .../bindings/phy/nvidia,tegra20-usb-phy.txt | 74 ---- .../bindings/phy/nvidia,tegra20-usb-phy.yaml | 373 ++++++++++++++++++ arch/arm/boot/dts/tegra114.dtsi | 4 + arch/arm/boot/dts/tegra124.dtsi | 6 + arch/arm/boot/dts/tegra20.dtsi | 6 + .../tegra30-asus-nexus7-grouper-common.dtsi | 25 +- arch/arm/boot/dts/tegra30.dtsi | 6 + arch/arm64/boot/dts/nvidia/tegra132.dtsi | 6 + drivers/soc/tegra/pmc.c | 6 +- drivers/usb/phy/phy-tegra-usb.c | 198 +++++++++- include/linux/usb/tegra_usb_phy.h | 5 + 11 files changed, 625 insertions(+), 84 deletions(-) delete mode 100644 Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt create mode 100644 Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.yaml -- 2.32.0