[U-Boot] [PATCH 2/4] usb: dwc2-otg: redefine fifo-size for rk3288

Ziyuan Xu xzy.xu at rock-chips.com
Mon Jul 4 08:41:38 CEST 2016


Hi Simon,

On 2016年07月01日 23:15, Simon Glass wrote:
> Hi,
>
> On 30 June 2016 at 23:00, Ziyuan Xu <xzy.xu at rock-chips.com> wrote:
>> Hi Simon,
>>
>> On 2016年06月30日 23:23, Simon Glass wrote:
>>> Hi Ziyuan,
>>>
>>> On 30 June 2016 at 00:21, Ziyuan Xu <xzy.xu at rock-chips.com> wrote:
>>>> Redefine RX FIFO size & TX FIFO size for rk3288.
>>>>
>>>> Signed-off-by: Ziyuan Xu <xzy.xu at rock-chips.com>
>>>> ---
>>>>
>>>>    drivers/usb/gadget/dwc2_udc_otg_regs.h | 6 ++++++
>>>>    1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/drivers/usb/gadget/dwc2_udc_otg_regs.h b/drivers/usb/gadget/dwc2_udc_otg_regs.h
>>>> index 78ec90e..a0617c8 100644
>>>> --- a/drivers/usb/gadget/dwc2_udc_otg_regs.h
>>>> +++ b/drivers/usb/gadget/dwc2_udc_otg_regs.h
>>>> @@ -130,8 +130,14 @@ struct dwc2_usbotg_reg {
>>>>    #define HIGH_SPEED_CONTROL_PKT_SIZE    64
>>>>    #define HIGH_SPEED_BULK_PKT_SIZE       512
>>>>
>>>> +#ifdef CONFIG_ROCKCHIP_RK3288
>>>> +#define RX_FIFO_SIZE                   (275*4)
>>>> +#define NPTX_FIFO_SIZE                 (16*4)
>>>> +#else
>>>>    #define RX_FIFO_SIZE                   (1024*4)
>>>>    #define NPTX_FIFO_SIZE                 (1024*4)
>>>> +#endif
>>> I cannot see where this is used. Can you explain? Also can you add a
>>> reason for the change in your commit message?
>> The total FIFO size of dwc2 on Rockchip SoCs is shorter than the existent, so redefined
>> them to fit Rockchip SoCs.
> $ git grep RX_FIFO_SIZE
> drivers/i2c/kona_i2c.c:#define MAX_RX_FIFO_SIZE           64U     /* bytes */
> drivers/i2c/kona_i2c.c:   unsigned int bytes_to_read = MAX_RX_FIFO_SIZE;
> drivers/i2c/kona_i2c.c:           if (msg->len - bytes_read <=
> MAX_RX_FIFO_SIZE) {
> drivers/usb/gadget/dwc2_udc_otg.c:        writel(RX_FIFO_SIZE >> 2,
> &reg->grxfsiz);
> drivers/usb/gadget/dwc2_udc_otg.c:        writel((NPTX_FIFO_SIZE >> 2)
> << 16 | ((RX_FIFO_SIZE >> 2)) << 0,
> drivers/usb/gadget/dwc2_udc_otg.c:
> ((RX_FIFO_SIZE + NPTX_FIFO_SIZE +
> drivers/usb/gadget/dwc2_udc_otg_regs.h:#define RX_FIFO_SIZE
>             (1024*4)
> drivers/usb/host/dwc2.c:
> writel(CONFIG_DWC2_HOST_RX_FIFO_SIZE, &regs->grxfsiz);
> drivers/usb/host/dwc2.c:          nptxfifosize |=
> CONFIG_DWC2_HOST_RX_FIFO_SIZE <<
> drivers/usb/host/dwc2.c:          ptxfifosize |=
> (CONFIG_DWC2_HOST_RX_FIFO_SIZE +
> drivers/usb/host/dwc2.h:#define CONFIG_DWC2_HOST_RX_FIFO_SIZE
>     (516 + CONFIG_DWC2_MAX_CHANNELS)
>
> If we need a Rockchip-specific value for this then it should go in
> Kconfig or device tree.
>
The macros are only used for dwc2 controller. It seems improper to 
rename to  be CONFIG_xxxx(ie. CONFIG_RX_FIFO_SIZE) if we move them to 
Kconfig.
Besides, usb driver doesn't support device tree, I can't rework it to dt.
>>>> +
>>>>    #define PTX_FIFO_SIZE                  (1536*1)
>>>>
>>>>    #define DEPCTL_TXFNUM_0                (0x0<<22)
>>>> --
>>>> 1.9.1
> Regards,
> Simon
>
>
>




More information about the U-Boot mailing list