Эх сурвалжийг харах

usb: dwc2: gadget: Add parameters for GREFCLK register

Added ref_clk_per and sof_cnt_wkup_alert parameters in
dwc2_core_params struct and set default values.

Acked-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Grigor Tovmasyan <tovmasya@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Grigor Tovmasyan 7 жил өмнө
parent
commit
f3a61e4e03

+ 18 - 0
drivers/usb/dwc2/core.h

@@ -393,6 +393,20 @@ enum dwc2_ep0_state {
  *			0 - No
  *			0 - No
  *			1 - Yes
  *			1 - Yes
  * @hird_threshold:	Value of BESL or HIRD Threshold.
  * @hird_threshold:	Value of BESL or HIRD Threshold.
+ * @ref_clk_per:        Indicates in terms of pico seconds the period
+ *                      of ref_clk.
+ *			62500 - 16MHz
+ *                      58823 - 17MHz
+ *                      52083 - 19.2MHz
+ *			50000 - 20MHz
+ *			41666 - 24MHz
+ *			33333 - 30MHz (default)
+ *			25000 - 40MHz
+ * @sof_cnt_wkup_alert: Indicates in term of number of SOF's after which
+ *                      the controller should generate an interrupt if the
+ *                      device had been in L1 state until that period.
+ *                      This is used by SW to initiate Remote WakeUp in the
+ *                      controller so as to sync to the uF number from the host.
  * @activate_stm_fs_transceiver: Activate internal transceiver using GGPIO
  * @activate_stm_fs_transceiver: Activate internal transceiver using GGPIO
  *			register.
  *			register.
  *			0 - Deactivate the transceiver (default)
  *			0 - Deactivate the transceiver (default)
@@ -472,6 +486,10 @@ struct dwc2_core_params {
 	u32 max_transfer_size;
 	u32 max_transfer_size;
 	u32 ahbcfg;
 	u32 ahbcfg;
 
 
+	/* GREFCLK parameters */
+	u32 ref_clk_per;
+	u16 sof_cnt_wkup_alert;
+
 	/* Host parameters */
 	/* Host parameters */
 	bool host_dma;
 	bool host_dma;
 	bool dma_desc_enable;
 	bool dma_desc_enable;

+ 2 - 0
drivers/usb/dwc2/params.c

@@ -303,6 +303,8 @@ static void dwc2_set_default_params(struct dwc2_hsotg *hsotg)
 	p->max_packet_count = hw->max_packet_count;
 	p->max_packet_count = hw->max_packet_count;
 	p->max_transfer_size = hw->max_transfer_size;
 	p->max_transfer_size = hw->max_transfer_size;
 	p->ahbcfg = GAHBCFG_HBSTLEN_INCR << GAHBCFG_HBSTLEN_SHIFT;
 	p->ahbcfg = GAHBCFG_HBSTLEN_INCR << GAHBCFG_HBSTLEN_SHIFT;
+	p->ref_clk_per = 33333;
+	p->sof_cnt_wkup_alert = 100;
 
 
 	if ((hsotg->dr_mode == USB_DR_MODE_HOST) ||
 	if ((hsotg->dr_mode == USB_DR_MODE_HOST) ||
 	    (hsotg->dr_mode == USB_DR_MODE_OTG)) {
 	    (hsotg->dr_mode == USB_DR_MODE_OTG)) {