[WP7609] How to customize the firmware for modified HW

Hi All,

I am new to the Yocto and Legato AF.

We use the Mangoh-Green board and Firmware version 13.3 ( WP76xx Firmware Release 13.1/13.2/13.3) to build the prototype, everything works well.

Now we have our own hardware, and the main change is to connect the USB hub (USB3503) directly to the I2C bus without the I2C mux (TCA9548) and GPIO expander (SX1509).

The question is if anyone knows how to make the firmware change to adapt to the new HW?

Do we need to change the device tree file? (Yocto/kernel/arch/arm/boot/dts/qcom/mdm9607-wp76xx-mangoh-green.dts)
Or do we need to change the mangoh.mdef and green.c files under legato/driver folder?
Or any other modification steps which are missing here?

By using the original image, which works on the Mangoh-Green dev-kit, on the real HW, the USB hub can not be successfully found.

[Log on Mangoh-Green]
[ 1.500740] usb 1-1: New USB device found, idVendor=0424, idProduct=3503
[ 1.500757] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.501701] hub 1-1:1.0: USB hub found
[ 1.501849] hub 1-1:1.0: 3 ports detected
[ 1.503486] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[ 1.563810] ubi0: scanning is finished
[ 1.569060] ubi0 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 10, need 40
[ 1.570380] ubi0: attached mtd13 (name “system”, size 30 MiB)
[ 1.570395] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
[ 1.570405] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
[ 1.570415] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
[ 1.570425] ubi0: good PEBs: 120, bad PEBs: 0, corrupted PEBs: 0
[ 1.570434] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
[ 1.570446] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 1173578879
[ 1.570456] ubi0: available PEBs: 0, total reserved PEBs: 120, PEBs reserved for bad PEB handling: 10
[ 1.572851] ubi0: background thread “ubi_bgt0d” started, PID 187
[ 1.780149] usb 1-1.1: new full-speed USB device number 3 using msm_hsic_host
[ 1.898106] usb 1-1.1: New USB device found, idVendor=0403, idProduct=6015
[ 1.898125] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1.898136] usb 1-1.1: Product: FT230X Basic UART
[ 1.898147] usb 1-1.1: Manufacturer: FTDI
[ 1.898158] usb 1-1.1: SerialNumber: DJ00Q6UY
[ 1.902831] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[ 1.990146] usb 1-1.3: new high-speed USB device number 4 using msm_hsic_host
[ 2.100746] usb 1-1.3: New USB device found, idVendor=0424, idProduct=9514
[ 2.100764] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.101710] hub 1-1.3:1.0: USB hub found
[ 2.101858] hub 1-1.3:1.0: 5 ports detected
[ 2.104079] mdm9607-asoc-snd soc:sound-wm8944: Defering mdm_asoc_machine_probe, q6_state 0
[ 2.380128] usb 1-1.3.1: new high-speed USB device number 5 using msm_hsic_host
[ 2.490741] usb 1-1.3.1: New USB device found, idVendor=0424, idProduct=ec00
[ 2.490759] usb 1-1.3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Thanks

Hi allent

Here is an example to build the driver for mangOH Green.

https://github.com/mangOH/mangOH/wiki/How-to-build-MCP2515-CAN-driver-for-mangOH-Green-slot-1,-9x15-based-systems.

Hope it helps.

Thanks Donald,

I will have a look at this link and see how to use this method for our project.

Hi @allent,

Did you get a resolution to your problem? If not, perhaps @jyijyi could offer some guidance?

Regards,
Tyrone

I saw the USB3503 is connecting to HSIC_DATA and HSIC_STRB, have you checked AT!CUSTOM? and see if “HSICENABLE” has been enabled.

If you load the original WP76 FW (i.e. without the mangoh layer), there is no driver for the mux and GPIO expander, so I believe if this original FW works fine with the USB3503 on mangoh green board, it should be nothing related to the i2C.

Thanks @Tyrone, not yet, I will try the AT command @jyijyi suggested.

Hi @jyijyi, thanks for the reply.

I just tried the AT command.
The result is shown below.

!CUSTOM:
GPSENABLE 0x01
GPSLPM 0x01
IPV6ENABLE 0x01
UIM2ENABLE 0x01
SIMLPM 0x01
USBSERIALENABLE 0x01
SINGLEAPNSWITCH 0x01
TXONINDICATION 0x01
HSICENABLE 0x01
BOOTQUIETDISABLE 0x01
SCRUBEN 0x01
EXTGPSLNAEN 0x01
UIMAUTOSWITCH 0x01

The result is identical as on the Mangoh-Green.

I tried to upload two log files but I can not since I am a new user.
How can I send you these logs?

I am wondering how we can confirm the USB3503 is working properly on our custom board.

Allen

You can put in google drive.

Btw, do you see these lines:

[ 1.500740] usb 1-1: New USB device found, idVendor=0424, idProduct=3503
[ 1.500757] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.501701] hub 1-1:1.0: USB hub found

The log is from Mangoh-Green,

[ 0.992848] usbcore: registered new interface driver asix
[ 0.992957] usbcore: registered new interface driver ax88179_178a
[ 0.993025] usbcore: registered new interface driver cdc_ether
[ 0.993108] usbcore: registered new interface driver smsc95xx
[ 0.993170] usbcore: registered new interface driver net1080
[ 0.993241] usbcore: registered new interface driver cdc_subset
[ 0.993302] usbcore: registered new interface driver zaurus
[ 0.993647] usbcore: registered new interface driver cdc_ncm
[ 0.993901] msm_otg 78d9000.usb: msm_otg probe
[ 0.994195] of_get_named_gpiod_flags: can’t parse ‘qcom,hub-reset-gpio’ prope rty of node ‘/soc/usb@78d9000[0]’
[ 0.994209] of_get_named_gpiod_flags: can’t parse ‘qcom,usbeth-reset-gpio’ pr operty of node ‘/soc/usb@78d9000[0]’
[ 0.994222] of_get_named_gpiod_flags: can’t parse ‘qcom,sw-sel-gpio’ property of node ‘/soc/usb@78d9000[0]’
[ 0.994275] of_get_named_gpiod_flags: parsed ‘qcom,usbid-gpio’ property of no de ‘/soc/usb@78d9000[0]’ - status (0)
[ 0.994297] of_get_named_gpiod_flags: can’t parse 'qcom,hsusb-otg-vddmin-gpio ’ property of node ‘/soc/usb@78d9000[0]’
[ 0.996031] msm_otg 78d9000.usb: OTG regs = d09ae000
[ 0.999079] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 0.999350] of_get_named_gpiod_flags: can’t parse ‘hsic,strobe-gpio’ property of node ‘/soc/hsic_host@7c00000[0]’
[ 0.999364] of_get_named_gpiod_flags: can’t parse ‘hsic,data-gpio’ property o f node ‘/soc/hsic_host@7c00000[0]’
[ 0.999376] of_get_named_gpiod_flags: can’t parse ‘hsic,resume-gpio’ property of node ‘/soc/hsic_host@7c00000[0]’
[ 0.999505] 7c00000.hsic_host supply HSIC_GDSC not found, using dummy regulat or
[ 1.010339] msm_hsic_host 7c00000.hsic_host: Qualcomm EHCI Host Controller us ing HSIC
[ 1.010385] msm_hsic_host 7c00000.hsic_host: new USB bus registered, assigned bus number 1
[ 1.010605] msm_hsic_host 7c00000.hsic_host: irq 28, io mem 0x07c00000
[ 1.030117] msm_hsic_host 7c00000.hsic_host: USB 2.0 started, EHCI 1.00
[ 1.030619] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.030632] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber= 1
[ 1.030643] usb usb1: Product: Qualcomm EHCI Host Controller using HSIC
[ 1.030655] usb usb1: Manufacturer: Linux 3.18.131 ehci_hcd
[ 1.030666] usb usb1: SerialNumber: 7c00000.hsic_host
[ 1.031510] hub 1-0:1.0: USB hub found
[ 1.031587] hub 1-0:1.0: 1 port detected
[ 1.032608] of_get_named_gpiod_flags: can’t parse ‘hsic,swi_reset_gpio’ prope rty of node ‘/soc/hsic_host@7c00000[0]’
[ 1.033178] ehci-msm: Qualcomm On-Chip EHCI Host Controller
[ 1.034140] 78d9000.usb supply vbus_otg not found, using dummy regulator
[ 1.034524] usbcore: registered new interface driver cdc_acm
[ 1.034536] cdc_acm: USB Abstract Control Model driver for USB modems and ISD N adapters
[ 1.034647] usbcore: registered new interface driver usb-storage
[ 1.034713] usbcore: registered new interface driver ums-alauda
[ 1.034767] usbcore: registered new interface driver ums-cypress
[ 1.034820] usbcore: registered new interface driver ums-datafab
[ 1.034871] usbcore: registered new interface driver ums-freecom
[ 1.034924] usbcore: registered new interface driver ums-isd200
[ 1.034976] usbcore: registered new interface driver ums-jumpshot
[ 1.035028] usbcore: registered new interface driver ums-karma
[ 1.035080] usbcore: registered new interface driver ums-onetouch
[ 1.035133] usbcore: registered new interface driver ums-sddr09
[ 1.035193] usbcore: registered new interface driver ums-sddr55
[ 1.035246] usbcore: registered new interface driver ums-usbat
[ 1.035309] usbcore: registered new interface driver usb_ehset_test
[ 1.036798] gbridge_init: gbridge_init successs.

[ 1.500610] usb 1-1: New USB device found, idVendor=0424, idProduct=3503
[ 1.500627] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.501572] hub 1-1:1.0: USB hub found
[ 1.501723] hub 1-1:1.0: 3 ports detected
[ 1.509610] ubi0: scanning is finished
[ 1.514979] ubi0 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 10, need 40
[ 1.516214] ubi0: attached mtd13 (name “system”, size 30 MiB)
[ 1.516227] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
[ 1.516238] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
[ 1.516248] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
[ 1.516257] ubi0: good PEBs: 120, bad PEBs: 0, corrupted PEBs: 0
[ 1.516267] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 12 8
[ 1.516278] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequ ence number: 1155968978
[ 1.516288] ubi0: available PEBs: 0, total reserved PEBs: 120, PEBs reserved for bad PEB handling: 10
[ 1.518636] ubi0: background thread “ubi_bgt0d” started, PID 187
[ 1.780147] usb 1-1.1: new full-speed USB device number 3 using msm_hsic_host
[ 1.898106] usb 1-1.1: New USB device found, idVendor=0403, idProduct=6015
[ 1.898124] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber =3
[ 1.898136] usb 1-1.1: Product: FT230X Basic UART
[ 1.898146] usb 1-1.1: Manufacturer: FTDI
[ 1.898157] usb 1-1.1: SerialNumber: DJ00Q6UY
[ 1.980150] usb 1-1.3: new high-speed USB device number 4 using msm_hsic_host
[ 2.090738] usb 1-1.3: New USB device found, idVendor=0424, idProduct=9514
[ 2.090757] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber =0
[ 2.091703] hub 1-1.3:1.0: USB hub found
[ 2.091846] hub 1-1.3:1.0: 5 ports detected
[ 2.370149] usb 1-1.3.1: new high-speed USB device number 5 using msm_hsic_ho st
[ 2.480745] usb 1-1.3.1: New USB device found, idVendor=0424, idProduct=ec00
[ 2.480763] usb 1-1.3.1: New USB device strings: Mfr=0, Product=0, SerialNumb er=0

The log is from our HW.

[ 1.026277] usbcore: registered new interface driver asix
[ 1.026369] usbcore: registered new interface driver ax88179_178a
[ 1.026446] usbcore: registered new interface driver cdc_ether
[ 1.026531] usbcore: registered new interface driver smsc95xx
[ 1.026595] usbcore: registered new interface driver net1080
[ 1.026658] usbcore: registered new interface driver cdc_subset
[ 1.026718] usbcore: registered new interface driver zaurus
[ 1.027082] usbcore: registered new interface driver cdc_ncm
[ 1.027336] msm_otg 78d9000.usb: msm_otg probe
[ 1.027627] of_get_named_gpiod_flags: can’t parse ‘qcom,hub-reset-gpio’ prope rty of node ‘/soc/usb@78d9000[0]’
[ 1.027641] of_get_named_gpiod_flags: can’t parse ‘qcom,usbeth-reset-gpio’ pr operty of node ‘/soc/usb@78d9000[0]’
[ 1.027654] of_get_named_gpiod_flags: can’t parse ‘qcom,sw-sel-gpio’ property of node ‘/soc/usb@78d9000[0]’
[ 1.027707] of_get_named_gpiod_flags: parsed ‘qcom,usbid-gpio’ property of no de ‘/soc/usb@78d9000[0]’ - status (0)
[ 1.027729] of_get_named_gpiod_flags: can’t parse 'qcom,hsusb-otg-vddmin-gpio ’ property of node ‘/soc/usb@78d9000[0]’
[ 1.029469] msm_otg 78d9000.usb: OTG regs = d09ae000
[ 1.032633] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 1.032918] of_get_named_gpiod_flags: can’t parse ‘hsic,strobe-gpio’ property of node ‘/soc/hsic_host@7c00000[0]’
[ 1.032932] of_get_named_gpiod_flags: can’t parse ‘hsic,data-gpio’ property o f node ‘/soc/hsic_host@7c00000[0]’
[ 1.032944] of_get_named_gpiod_flags: can’t parse ‘hsic,resume-gpio’ property of node ‘/soc/hsic_host@7c00000[0]’
[ 1.033062] 7c00000.hsic_host supply HSIC_GDSC not found, using dummy regulat or
[ 1.045794] msm_hsic_host 7c00000.hsic_host: Qualcomm EHCI Host Controller us ing HSIC
[ 1.045840] msm_hsic_host 7c00000.hsic_host: new USB bus registered, assigned bus number 1
[ 1.046056] msm_hsic_host 7c00000.hsic_host: irq 28, io mem 0x07c00000
[ 1.060110] msm_hsic_host 7c00000.hsic_host: USB 2.0 started, EHCI 1.00
[ 1.060594] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.060608] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber= 1
[ 1.060619] usb usb1: Product: Qualcomm EHCI Host Controller using HSIC
[ 1.060631] usb usb1: Manufacturer: Linux 3.18.131 ehci_hcd
[ 1.060642] usb usb1: SerialNumber: 7c00000.hsic_host
[ 1.061495] hub 1-0:1.0: USB hub found
[ 1.061574] hub 1-0:1.0: 1 port detected
[ 1.062583] of_get_named_gpiod_flags: can’t parse ‘hsic,swi_reset_gpio’ prope rty of node ‘/soc/hsic_host@7c00000[0]’
[ 1.063162] ehci-msm: Qualcomm On-Chip EHCI Host Controller
[ 1.064114] 78d9000.usb supply vbus_otg not found, using dummy regulator
[ 1.064483] usbcore: registered new interface driver cdc_acm
[ 1.064495] cdc_acm: USB Abstract Control Model driver for USB modems and ISD N adapters
[ 1.064605] usbcore: registered new interface driver usb-storage
[ 1.064682] usbcore: registered new interface driver ums-alauda
[ 1.064741] usbcore: registered new interface driver ums-cypress
[ 1.064795] usbcore: registered new interface driver ums-datafab
[ 1.064853] usbcore: registered new interface driver ums-freecom
[ 1.064914] usbcore: registered new interface driver ums-isd200
[ 1.064967] usbcore: registered new interface driver ums-jumpshot
[ 1.065020] usbcore: registered new interface driver ums-karma
[ 1.065071] usbcore: registered new interface driver ums-onetouch
[ 1.065124] usbcore: registered new interface driver ums-sddr09
[ 1.065176] usbcore: registered new interface driver ums-sddr55
[ 1.065228] usbcore: registered new interface driver ums-usbat
[ 1.065291] usbcore: registered new interface driver usb_ehset_test
[ 1.066784] gbridge_init: gbridge_init successs.
[ 1.068871] qcom,qpnp-rtc qpnp-rtc-5: rtc core: registered qpnp_rtc as rtc0
[ 1.069038] i2c /dev entries driver
[ 1.069410] msm_otg 78d9000.usb: phy_reset: success
[ 1.069999] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/p ps[0]’ - status (0)
[ 1.070481] pps pps0: new PPS source soc:pps.-1
[ 1.070575] pps pps0: Registered IRQ 105 as PPS source
[ 1.071302] unable to find DT imem DLOAD mode node
[ 1.075359] unable to find DT imem EDLOAD mode node
[ 1.080319] unable to find DT imem dload-type node
[ 1.084866] Failed to disable secure wdog debug: -4
[ 1.090779] swimcu_hwmon_probe: start
[ 1.090944] swimcu_hwmon_probe: success num 2
[ 1.112877] device-mapper: ioctl: 4.28.0-ioctl (2014-09-17) initialised: dm-d evel@redhat.com
[ 1.113410] sdhci: Secure Digital Host Controller Interface driver
[ 1.113421] sdhci: Copyright© Pierre Ossman
[ 1.113433] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.113853] usbcore: registered new interface driver usbhid
[ 1.113863] usbhid: USB HID core driver
[ 1.114402] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-mode-sel’ proper ty of node ‘/soc/usb_detect[0]’
[ 1.115512] bimc-bwmon 408000.qcom,cpu-bwmon: BW HWmon governor registered.
[ 1.116272] devfreq soc:qcom,cpubw: Couldn’t update frequency transition info rmation.
[ 1.123926] sdhci_msm 7864900.sdhci: sdhci_msm_probe: ICE device is not enabl ed
[ 1.123952] of_get_named_gpiod_flags: can’t parse ‘cd-gpios’ property of node ‘/soc/sdhci@07864900[0]’
[ 1.124317] sdhci_msm 7864900.sdhci: sdhci_msm_pm_qos_parse_irq: error -22 re ading irq cpu
[ 1.132373] coresight_event: error registering on panic -38
[ 1.137293] coresight-fuse a601c.fuse: QPDI fuse not specified
[ 1.137428] coresight-fuse a601c.fuse: Fuse initialized
[ 1.137840] coresight-cti: probe of 6010000.cti failed with error -1
[ 1.137884] coresight-cti: probe of 6011000.cti failed with error -1
[ 1.137924] coresight-cti: probe of 6012000.cti failed with error -1
[ 1.137963] coresight-cti: probe of 6013000.cti failed with error -1
[ 1.138002] coresight-cti: probe of 6014000.cti failed with error -1
[ 1.138041] coresight-cti: probe of 6015000.cti failed with error -1
[ 1.138079] coresight-cti: probe of 6016000.cti failed with error -1
[ 1.138117] coresight-cti: probe of 6017000.cti failed with error -1
[ 1.138155] coresight-cti: probe of 6018000.cti failed with error -1
[ 1.138193] coresight-cti: probe of 6043000.cti failed with error -1
[ 1.138230] coresight-cti: probe of 603c000.cti failed with error -1
[ 1.138268] coresight-cti: probe of 6038000.cti failed with error -1
[ 1.138725] coresight-csr 6001000.csr: CSR initialized
[ 1.139136] coresight-tmc: probe of 6026000.tmc failed with error -1
[ 1.139255] coresight-tmc 6025000.tmc: failed to get flush cti
[ 1.144179] sdhci_msm 7864900.sdhci: sdhci_msm_pm_qos_parse: PM QoS voting fo r IRQ will be disabled
[ 1.144199] sdhci_msm 7864900.sdhci: sdhci_msm_pm_qos_parse: PM QoS voting fo r cpu group will be disabled
[ 1.144592] coresight-tmc 6025000.tmc: failed to get reset cti
[ 1.150631] coresight-tmc 6025000.tmc: TMC initialized
[ 1.153840] nidnt boot config: 0
[ 1.155058] coresight-tpiu 6020000.tpiu: NIDnT on SDCARD only mode
[ 1.155230] coresight-tpiu 6020000.tpiu: TPIU initialized
[ 1.156595] coresight-replicator 6024000.replicator: REPLICATOR initialized
[ 1.157236] coresight-dbgui 606d000.dbgui: DebugUI initializaed
[ 1.157658] coresight-stm: probe of 6002000.stm failed with error -1
[ 1.158137] coresight-hwevent 606c000.hwevent: Hardware Event driver initiali zed
[ 1.159008] sdhci_msm 7864900.sdhci: No vmmc regulator found
[ 1.159024] sdhci_msm 7864900.sdhci: No vqmmc regulator found
[ 1.159419] mmc0: SDHCI controller on 7864900.sdhci [7864900.sdhci] using 32- bit ADMA in legacy mode
[ 1.161469] msm_hsic_host 7c00000.hsic_host: HSIC-USB in low power mode
[ 1.180174] coresight-etm: probe of 6042000.etm failed with error -22
[ 1.181498] coresight-remote-etm soc:rpm_etm0: Remote ETM initialized
[ 1.181881] coresight-remote-etm soc:modem_etm0: Remote ETM initialized
[ 1.184096] wm8944_codec_init registering platform driver
[ 1.198551] msm_pcm_probe: dev name soc:qcom,msm-voice-host-pcm
[ 1.208921] Netfilter messages via NETLINK v0.30.
[ 1.209029] nf_conntrack version 0.5.0 (2386 buckets, 9544 max)
[ 1.209606] ctnetlink v0.93: registering with nfnetlink.
[ 1.210005] ip_set: protocol 6
[ 1.210520] ip_tables: © 2000-2006 Netfilter Core Team
[ 1.210704] arp_tables: © 2002 David S. Miller
[ 1.210768] TCP: cubic registered
[ 1.211636] NET: Registered protocol family 10
[ 1.212716] ip6_tables: © 2000-2006 Netfilter Core Team
[ 1.212963] sit: IPv6 over IPv4 tunneling driver
[ 1.213602] NET: Registered protocol family 17
[ 1.213726] bridge: automatic filtering via arp/ip/ip6tables has been depreca ted. Update your scripts to load br_netfilter if you need this.
[ 1.213766] Bridge firewalling registered
[ 1.213783] Ebtables v2.0 registered
[ 1.213914] can: controller area network core (rev 20120528 abi 9)
[ 1.214165] NET: Registered protocol family 29
[ 1.214187] can: raw protocol (rev 20120528)
[ 1.214203] can: broadcast manager protocol (rev 20120528 t)
[ 1.214226] can: netlink gateway (rev 20130117) max_hops=1
[ 1.214575] Key type dns_resolver registered
[ 1.215191] NET: Registered protocol family 27
[ 1.218305] gpiochip_find_base: found new base at 852
[ 1.218472] gpiochip_add: registered GPIOs 852 to 883 on device: slave-kernel
[ 1.218786] gpiochip_find_base: found new base at 820
[ 1.218924] gpiochip_add: registered GPIOs 820 to 851 on device: master-kerne l
[ 1.219504] pil-q6v5-mss 4080000.qcom,mss: Failed to find the pas_id.
[ 1.219546] of_get_named_gpiod_flags: parsed ‘qcom,gpio-proxy-unvote’ propert y of node ‘/soc/qcom,mss@4080000[0]’ - status (0)
[ 1.220416] of_get_named_gpiod_flags: parsed ‘qcom,gpio-err-fatal’ property o f node ‘/soc/qcom,mss@4080000[0]’ - status (0)
[ 1.220438] of_get_named_gpiod_flags: parsed ‘qcom,gpio-err-ready’ property o f node ‘/soc/qcom,mss@4080000[0]’ - status (0)
[ 1.220454] of_get_named_gpiod_flags: parsed ‘qcom,gpio-stop-ack’ property of node ‘/soc/qcom,mss@4080000[0]’ - status (0)
[ 1.220471] of_get_named_gpiod_flags: parsed ‘qcom,gpio-force-stop’ property of node ‘/soc/qcom,mss@4080000[0]’ - status (0)
[ 1.220488] of_get_named_gpiod_flags: parsed ‘qcom,gpio-shutdown-ack’ propert y of node ‘/soc/qcom,mss@4080000[0]’ - status (0)
[ 1.220666] pil-q6v5-mss 4080000.qcom,mss: for modem segments only will be du mped.
[ 1.222793] wl12xx WLAN_EN GPIO: 58
[ 1.222808] wl12xx IRQ: 131
[ 1.222818] wl18xx board initialization done
[ 1.223176] sierra_monitor_probe monitor times: 120, 0, 0
[ 1.224547] Loading compiled-in X.509 certificates
[ 1.228166] kworker/u2:2 (150) used greatest stack depth: 6784 bytes left
[ 1.228343] modprobe (151) used greatest stack depth: 6484 bytes left
[ 1.236780] Key type encrypted registered
[ 1.236814] ima: No TPM chip found, activating TPM-bypass!
[ 1.236873] ima: Allocated hash algorithm: sha1
[ 1.237025] evm: HMAC attrs: 0x1
[ 1.237253] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/q com,smp2pgpio_test_smp2p_15_in[0]’ - status (0)
[ 1.237333] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/q com,smp2pgpio_test_smp2p_15_out[0]’ - status (0)
[ 1.237397] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/q com,smp2pgpio_test_smp2p_1_in[0]’ - status (0)
[ 1.237458] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/q com,smp2pgpio_test_smp2p_1_out[0]’ - status (0)
[ 1.253533] file system registered
[ 1.253665] mbim_init: initialize 1 instances
[ 1.253902] mbim_init: Initialized 1 ports
[ 1.257214] rndis_qc_init: initialize rndis QC instance
[ 1.257710] Number of LUNs=8
[ 1.257727] Mass Storage Function, version: 2009/09/11
[ 1.257748] LUN: removable file: (no medium)
[ 1.257770] Number of LUNs=1
[ 1.257872] LUN: removable file: (no medium)
[ 1.257882] Number of LUNs=1
[ 1.258371] android_usb gadget: android_usb ready
[ 1.258388] msm_hsusb msm_hsusb: [ci13xxx_start] hw_ep_max = 32
[ 1.258433] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_RESET_EVENT received
[ 1.258450] msm_hsusb msm_hsusb: CI13XXX_CONTROLLER_UDC_STARTED_EVENT receive d
[ 1.258954] qcom,qpnp-rtc qpnp-rtc-5: setting system clock to 1970-01-01 00:0 0:05 UTC (5)
[ 1.259948] parse_legacy_cluster_params(): Ignoring cluster params
[ 1.259985] /soc/qcom,lpm-levels/qcom,pm-cluster@0: No CPU phandle, assuming single cluster
[ 1.260021] calculate_residency: residency < 0 for LPM
[ 1.270446] parse_cpu_levels: idx 1 420
[ 1.273251] calculate_residency: residency < 0 for LPM
[ 1.278366] parse_cpu_levels: idx 2 500
[ 1.300227] parse_cpu_levels: idx 2 3040
[ 1.306805] qcom,cc-debug-mdm9607 1800000.qcom,debug: Registered Debug Mux su ccessfully
[ 1.307205] PM: Hibernation image not present or could not be loaded.
[ 1.307229] mem_acc_corner: disabling
[ 1.307278] sdcard_ext_vreg: disabling
[ 1.307289] rome_vreg: disabling
[ 1.307299] emac_lan_vreg: disabling
[ 1.307315] clock_late_init: Removing enables held for handed-off clocks
[ 1.309484] ALSA device list:
[ 1.309496] No soundcards found.
[ 1.355520] Freeing unused kernel memory: 3392K
[ 1.355537] This architecture does not have kernel memory protection.
[ 1.389598] cat (172) used greatest stack depth: 6472 bytes left
[ 1.415658] cat (179) used greatest stack depth: 6328 bytes left
[ 1.431240] dd (183) used greatest stack depth: 5472 bytes left
[ 1.434107] ubi0: attaching mtd13
[ 1.542873] ubi0: scanning is finished
[ 1.548341] ubi0 warning: print_rsvd_warning: cannot reserve enough PEBs for bad PEB handling, reserved 10, need 40
[ 1.549560] ubi0: attached mtd13 (name “system”, size 30 MiB)
[ 1.549575] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 253952 bytes
[ 1.549585] ubi0: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
[ 1.549595] ubi0: VID header offset: 4096 (aligned 4096), data offset: 8192
[ 1.549605] ubi0: good PEBs: 120, bad PEBs: 0, corrupted PEBs: 0
[ 1.549615] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 12 8
[ 1.549627] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequ ence number: 1155968978
[ 1.549637] ubi0: available PEBs: 0, total reserved PEBs: 120, PEBs reserved for bad PEB handling: 10
[ 1.552109] ubi0: background thread “ubi_bgt0d” started, PID 186

@jyijyi I can not see the USB3503 is found on our HW but can find this message on Mangoh-Green.
They are using the identical firmware image.

I am thinking, even without the I2C configuration, will the USB HUB still work properly?

The pins on the USB hub,
HUB_CONNECT is pulled up to 1.8V
nUSB_INT is pulled up to 1.8V
nRESET pin is pulled up to 1.8V (not quite sure whether the USB hub needs a power on reset signal or not)

Are you able to make a test on grounding the i2c bus to usb3503 on mangoh green board and see if the usb hub still can be seen?

If usb hub still can be seen on mangoh green board, that means we don’t need i2c communication to init the usb hub.

Yes, I will try this idea.

Or I can take off the I2C - GPIO expander on the Mangoh-Green, see whether this change would be easier.

Thanks
Will let you know.

up to you.
FYI, I saw there are R766 and R767 connecting to the Hub_I2C_CLK and Hub_I2C_DATA, you might ground the pins there to see if the USB3503 can still be working.

Hi @jyijyi, we take out the I2C switch (U701, TCA9548ARGER) on the Mangoh-green board, which should disable all I2C communications.

Then the USB hub can still work properly, which proves that the USB hub does not need any I2C configuration.

Now we are checking the HW on our board to try to find the differences with the Mangoh-Green.

Thanks
Allen

So I think this is no more related to software modification
yes, you need to check the HW difference.

Yes, I will let the HW team to look at it for now.

Will keep you update.

Thanks
Allen

@jyijyi
@Tyrone

The USB hub is working with some HW mods.

Thanks

We have some other issues on WiFi module now, will post some details later.