usb: dwc2: add support for Sophgo CV18XX/SG200X series SoC
authorInochi Amaoto <inochiama@outlook.com>
Tue, 26 Mar 2024 02:37:29 +0000 (10:37 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Mar 2024 06:57:15 +0000 (07:57 +0100)
Add params for DWC2 IP in Sophgo CV18XX/SG200X series SoC.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Acked-by: Minas Harutyunyan <hminas@synopsys.com>
Link: https://lore.kernel.org/r/IA1PR20MB4953EE73DD36D5FFC81D90EDBB352@IA1PR20MB4953.namprd20.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc2/params.c

index c47524483f48afa15692ef2ae3a2ca52ad05a6ac..5a1500d0bdd943b5c32b7a7c0c2a75dc0f041a3c 100644 (file)
@@ -201,6 +201,25 @@ static void dwc2_set_amcc_params(struct dwc2_hsotg *hsotg)
        p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << GAHBCFG_HBSTLEN_SHIFT;
 }
 
+static void dwc2_set_cv1800_params(struct dwc2_hsotg *hsotg)
+{
+       struct dwc2_core_params *p = &hsotg->params;
+
+       p->otg_caps.hnp_support = false;
+       p->otg_caps.srp_support = false;
+       p->host_dma = false;
+       p->g_dma = false;
+       p->speed = DWC2_SPEED_PARAM_HIGH;
+       p->phy_type = DWC2_PHY_TYPE_PARAM_UTMI;
+       p->phy_utmi_width = 16;
+       p->ahbcfg = GAHBCFG_HBSTLEN_INCR16 << GAHBCFG_HBSTLEN_SHIFT;
+       p->lpm = false;
+       p->lpm_clock_gating = false;
+       p->besl = false;
+       p->hird_threshold_en = false;
+       p->power_down = DWC2_POWER_DOWN_PARAM_NONE;
+}
+
 static void dwc2_set_stm32f4x9_fsotg_params(struct dwc2_hsotg *hsotg)
 {
        struct dwc2_core_params *p = &hsotg->params;
@@ -295,6 +314,8 @@ const struct of_device_id dwc2_of_match_table[] = {
          .data = dwc2_set_amlogic_a1_params },
        { .compatible = "amcc,dwc-otg", .data = dwc2_set_amcc_params },
        { .compatible = "apm,apm82181-dwc-otg", .data = dwc2_set_amcc_params },
+       { .compatible = "sophgo,cv1800-usb",
+         .data = dwc2_set_cv1800_params },
        { .compatible = "st,stm32f4x9-fsotg",
          .data = dwc2_set_stm32f4x9_fsotg_params },
        { .compatible = "st,stm32f4x9-hsotg" },