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

Stefan Wahren stefan.wahren at i2se.com
Wed Aug 17 12:11:28 PDT 2016


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

# cat /sys/kernel/debug/20980000.usb/fifo
Non-periodic FIFOs:
RXFIFO: Size 4096
NPTXFIFO: Size 32, Start 0x00200000

Periodic TXFIFOs:
        DPTXFIFO 1: Size 512, Start 0x00001020
        DPTXFIFO 2: Size 512, Start 0x00001220
        DPTXFIFO 3: Size 512, Start 0x00001420
        DPTXFIFO 4: Size 512, Start 0x00001620
        DPTXFIFO 5: Size 512, Start 0x00001820
        DPTXFIFO 6: Size 768, Start 0x00001a20
        DPTXFIFO 7: Size 768, Start 0x00001d20



More information about the linux-arm-kernel mailing list