[PATCH V2 RFC 6/6] ARM: dts: bcm2835: Add Raspberry Pi Zero

John Youn John.Youn at synopsys.com
Wed Aug 17 14:21:30 PDT 2016


On 8/17/2016 12:11 PM, Stefan Wahren wrote:
> Hi,
> 
>> John Youn <John.Youn at synopsys.com> hat am 17. August 2016 um 00:07
>> geschrieben:
>>
>>
>> On 8/16/2016 12:58 PM, Stefan Wahren wrote:
>>> Hi John,
>>> ...
>>>
>>> like in host mode i took the default values in otg mode for the last two
>>> here
>>> (please refer to the logs). The BCM2835 datasheet isn't very helpful.
>>>
>>> Do you have any suggestions for valid values or how to get them?
>>>
>>
>> The same values used in host-only mode should work.
>>
>> It seems that the reset values for host-mode aren't being read
>> correctly with dr_mode == otg. I suspect this is the core reset and
>> force-mode delay problem.
>>
>> Can you try with this patch series to see if you get the proper
>> values?
>>
>> http://marc.info/?l=linux-kernel&m=145921907525708
>>
>> This series fixes known issues, but it also breaks at least one
>> platform and I haven't had time to look at it properly yet.
> 
> thanks. Yes, that seems to fix host fifo sizes for bcm2835. Here the log after
> applying patch 2 - 4 and removing all DT FIFO parameters (patch 1 has already
> been merged):
> 
> Linux raspberrypi 4.7.0-rc7-next-20160719+ #23 Wed Aug 17 18:15:24 UTC 2016
> armv6l
> 
> [    2.290723] dwc2_lowlevel_hw_init()
> [    2.298123] dwc2_lowlevel_hw_enable()
> [    2.305451] dwc2_get_dr_mode()
> [    2.365040] dwc2_get_hwparams()
> [    2.371785] dwc2 20980000.usb: Core Release: 2.80a (snpsid=4f54280a)
> [    2.371801] dwc2 20980000.usb: hwcfg1=00000000
> [    2.371813] dwc2 20980000.usb: hwcfg2=228ddd50
> [    2.371823] dwc2 20980000.usb: hwcfg3=0ff000e8
> [    2.371833] dwc2 20980000.usb: hwcfg4=1ff00020
> [    2.371843] dwc2 20980000.usb: grxfsiz=00001000
> [    2.371853] dwc2 20980000.usb: Forcing mode to host
> [    2.371869] dwc2 20980000.usb: gnptxfsiz=01001000
> [    2.371880] dwc2 20980000.usb: hptxfsiz=02002000
> [    2.371890] dwc2 20980000.usb: Forcing mode to device
> [    2.423450] dwc2 20980000.usb: gnptxfsiz=00201000
> [    2.423468] dwc2 20980000.usb: Detected values from hardware:
> [    2.423480] dwc2 20980000.usb:   op_mode=0
> [    2.423490] dwc2 20980000.usb:   arch=2
> [    2.423500] dwc2 20980000.usb:   dma_desc_enable=0
> [    2.423511] dwc2 20980000.usb:   power_optimized=0
> [    2.423520] dwc2 20980000.usb:   i2c_enable=0
> [    2.423530] dwc2 20980000.usb:   hs_phy_type=1
> [    2.423540] dwc2 20980000.usb:   fs_phy_type=1
> [    2.423550] dwc2 20980000.usb:   utmi_phy_data_width=0
> [    2.423559] dwc2 20980000.usb:   num_dev_ep=7
> [    2.423570] dwc2 20980000.usb:   num_dev_perio_in_ep=0
> [    2.423579] dwc2 20980000.usb:   host_channels=8
> [    2.423590] dwc2 20980000.usb:   max_transfer_size=524287
> [    2.423601] dwc2 20980000.usb:   max_packet_count=1023
> [    2.423611] dwc2 20980000.usb:   nperio_tx_q_depth=0x4
> [    2.423621] dwc2 20980000.usb:   host_perio_tx_q_depth=0x4
> [    2.423631] dwc2 20980000.usb:   dev_token_q_depth=0x8
> [    2.423641] dwc2 20980000.usb:   enable_dynamic_fifo=1
> [    2.423651] dwc2 20980000.usb:   en_multiple_tx_fifo=1
> [    2.423661] dwc2 20980000.usb:   total_fifo_size=4080
> [    2.423671] dwc2 20980000.usb:   host_rx_fifo_size=4096
> [    2.423681] dwc2 20980000.usb:   host_nperio_tx_fifo_size=256
> [    2.423691] dwc2 20980000.usb:   host_perio_tx_fifo_size=512
> [    2.423699] dwc2 20980000.usb:
> [    2.423709] dwc2 20980000.usb: dwc2_set_parameters()
> [    2.423723] dwc2 20980000.usb: Setting dma_desc_fs_enable to 0
> [    2.423748] dwc2 20980000.usb: Setting external_id_pin_ctl to 0
> [    2.423760] dwc2 20980000.usb: Setting hibernation to 0
> [    2.423777] dwc2_force_dr_mode()
> [    2.430509] dwc2 20980000.usb: Clearing force mode bits
> [    2.499028] dwc2_gadget_init()
> [    2.505422] dwc2 20980000.usb: Specified GNPTXFDEP=1024 > 32
> [    2.514502] dwc2 20980000.usb: EPs: 8, dedicated fifos, 4080 entries in SPRAM
> [    2.542143] dwc2 20980000.usb: bound driver zero
> [    2.550164] dwc2_hcd_init()
> [    2.556602] dwc2 20980000.usb: DWC OTG Controller
> [    2.564878] dwc2 20980000.usb: new USB bus registered, assigned bus number 1
> [    2.575467] dwc2 20980000.usb: irq 33, io mem 0x00000000
> 

Ok, yeah, that seems better.

Can you check if applying just patch 2 and 3 solves the issue? If so I
think we can send those upstream.

Regards,
John



More information about the linux-arm-kernel mailing list