Hi. Intel Keem Bay USB subsystem incorporates DesignWare USB3.1 controller, an USB3.1 (Gen1/2) PHY and an USB2.0 PHY. It is a Dual Role Device (DRD), operating as either a USB host or a USB device. The patchset is tested on Keem Bay EVM. Thank you. Best regards, Zainie Changes since v3: - Revise commit log message of the driver patch. - In Kconfig, use depends on ARCH_KEEMBAY || COMPILE_TEST. - Use genmask() to define USS_CPR_MASK. - In keembay_regmap_config struct, specify .max_register. Changes since v2: - Remove dependency on OF in Kconfig. - Remove header file linux/of.h, and add linux/mod_devicetable.h. - Add comments for each usleep_range() usage, provide reason for the delay. - Replace usleep_range(2, 10) with udelay(2), as per Documentation/timers/timers-howto.txt. - In _probe(), remove variable np and use dev->of_node directly. Changes since v1: - Remove 2 patches that had been merged. - Rebased to v5.10-rc3. - Add Rob's Reviewed-by tag in the first patch. - Use ARCH_KEEMBAY in Kconfig. - Update #include header; remove <linux/of_address.h>, and add <linux/bits.h>. - Remove unnecessary comments. Wan Ahmad Zainie (2): dt-bindings: phy: Add Intel Keem Bay USB PHY bindings phy: intel: Add Keem Bay USB PHY support .../bindings/phy/intel,phy-keembay-usb.yaml | 44 +++ drivers/phy/intel/Kconfig | 12 + drivers/phy/intel/Makefile | 1 + drivers/phy/intel/phy-intel-keembay-usb.c | 301 ++++++++++++++++++ 4 files changed, 358 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/intel,phy-keembay-usb.yaml create mode 100644 drivers/phy/intel/phy-intel-keembay-usb.c -- 2.17.1