Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

phy: qualcomm: usb28nm: Add MDM9607 init sequence

This is required to bring up the PHY on MDM9607-based boards.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013124.54484-1-konrad.dybcio@somainline.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Konrad Dybcio and committed by
Vinod Koul
557a2881 53dd01da

+14
+1
Documentation/devicetree/bindings/phy/qcom,usb-hs-28nm.yaml
··· 16 16 compatible: 17 17 enum: 18 18 - qcom,usb-hs-28nm-femtophy 19 + - qcom,usb-hs-28nm-mdm9607 19 20 20 21 reg: 21 22 maxItems: 1
+13
drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c
··· 401 401 HSPHY_INIT_CFG(0x90, 0x60, 0), 402 402 }; 403 403 404 + static const struct hsphy_init_seq init_seq_mdm9607[] = { 405 + HSPHY_INIT_CFG(0x80, 0x44, 0), 406 + HSPHY_INIT_CFG(0x81, 0x38, 0), 407 + HSPHY_INIT_CFG(0x82, 0x24, 0), 408 + HSPHY_INIT_CFG(0x83, 0x13, 0), 409 + }; 410 + 404 411 static const struct hsphy_data hsphy_data_femtophy = { 405 412 .init_seq = init_seq_femtophy, 406 413 .init_seq_num = ARRAY_SIZE(init_seq_femtophy), 407 414 }; 408 415 416 + static const struct hsphy_data hsphy_data_mdm9607 = { 417 + .init_seq = init_seq_mdm9607, 418 + .init_seq_num = ARRAY_SIZE(init_seq_mdm9607), 419 + }; 420 + 409 421 static const struct of_device_id qcom_snps_hsphy_match[] = { 410 422 { .compatible = "qcom,usb-hs-28nm-femtophy", .data = &hsphy_data_femtophy, }, 423 + { .compatible = "qcom,usb-hs-28nm-mdm9607", .data = &hsphy_data_mdm9607, }, 411 424 { }, 412 425 }; 413 426 MODULE_DEVICE_TABLE(of, qcom_snps_hsphy_match);