{"id":2225392,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2225392/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/cover/20260421-ten64-add-usb5744-v2-0-eaa81288e393@traverse.com.au/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.2/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260421-ten64-add-usb5744-v2-0-eaa81288e393@traverse.com.au>","list_archive_url":null,"date":"2026-04-21T00:04:33","name":"[v2,0/8] board: ten64: add USB Hub (USB5744) management support","submitter":{"id":72945,"url":"http://patchwork.ozlabs.org/api/1.2/people/72945/?format=json","name":"Mathew McBride","email":"matt@traverse.com.au"},"mbox":"http://patchwork.ozlabs.org/project/uboot/cover/20260421-ten64-add-usb5744-v2-0-eaa81288e393@traverse.com.au/mbox/","series":[{"id":500696,"url":"http://patchwork.ozlabs.org/api/1.2/series/500696/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=500696","date":"2026-04-21T00:04:33","name":"board: ten64: add USB Hub (USB5744) management support","version":2,"mbox":"http://patchwork.ozlabs.org/series/500696/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2225392/comments/","headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=traverse.com.au header.i=@traverse.com.au\n header.a=rsa-sha256 header.s=fm1 header.b=maNP7omP;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=messagingengine.com header.i=@messagingengine.com\n header.a=rsa-sha256 header.s=fm2 header.b=W/EfzMT0;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=traverse.com.au","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=traverse.com.au header.i=@traverse.com.au\n header.b=\"maNP7omP\";\n\tdkim=pass (2048-bit key;\n unprotected) header.d=messagingengine.com header.i=@messagingengine.com\n header.b=\"W/EfzMT0\";\n\tdkim-atps=neutral","phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=traverse.com.au","phobos.denx.de;\n spf=pass smtp.mailfrom=matt@traverse.com.au"],"Received":["from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g02fk6C23z1yD8\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 10:05:02 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id B265E8422D;\n\tTue, 21 Apr 2026 02:04:54 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 6F63E8426E; Tue, 21 Apr 2026 02:04:52 +0200 (CEST)","from fout-b2-smtp.messagingengine.com\n (fout-b2-smtp.messagingengine.com [202.12.124.145])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 7A4538412A\n for <u-boot@lists.denx.de>; Tue, 21 Apr 2026 02:04:47 +0200 (CEST)","from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42])\n by mailfout.stl.internal (Postfix) with ESMTP id A7D6E1D0016D;\n Mon, 20 Apr 2026 20:04:45 -0400 (EDT)","from phl-frontend-04 ([10.202.2.163])\n by phl-compute-02.internal (MEProxy); Mon, 20 Apr 2026 20:04:46 -0400","by mail.messagingengine.com (Postfix) with ESMTPA; Mon,\n 20 Apr 2026 20:04:41 -0400 (EDT)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2","DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=traverse.com.au;\n h=cc:cc:content-transfer-encoding:content-type:content-type\n :date:date:from:from:in-reply-to:message-id:mime-version\n :reply-to:subject:subject:to:to; s=fm1; t=1776729885; x=\n 1776816285; bh=rmVVcIIXLfVFJeqa07nd76Q7baauJFr0u4a8P4AMFsw=; b=m\n aNP7omPnfz0ZpPohndGILTCWlba7+l9s7hiVRwmZNjk2cb8uX3vu6feio65Mk3sM\n 9MG1K8Xu1HV3bgDWanOmWh6tlVjGqjuqOTZxcuHGsX8c30Vjb3H6U0B4KLBf2Uqp\n 0TVXB8GTWZnYvOk6pGkaUdS0LN/ZtTbns17HZ2StmqhcfNiJPOxhziJq2d0p7EQC\n VP+6gwjIaX+rUKwjj6yj5xwlrgDRmq5P3Ido1cdLdNAMsmlkOcZblUNQcCwRxb8z\n faZtgdAIBWXsg4DDc6Du4Gfo/U+7dq2GBO1OARZmdBKCIgjJwyG1cXur3o5v1lxn\n nyw0iLcbYIV8Qkss+0Dtw==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n messagingengine.com; h=cc:cc:content-transfer-encoding\n :content-type:content-type:date:date:feedback-id:feedback-id\n :from:from:in-reply-to:message-id:mime-version:reply-to:subject\n :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=\n fm2; t=1776729885; x=1776816285; bh=rmVVcIIXLfVFJeqa07nd76Q7baau\n JFr0u4a8P4AMFsw=; b=W/EfzMT0Tir1QxRdP4BdYc/T+T6UOMIyzsEg4KFdbWSQ\n VnAm5egrGMXWg3BXd5NRm61EH2PezjToGqW6LTfFsT4WG73llL02KHZnG4yPjw4w\n VzPMAXNcnniXnRtli6+HyKu37WSIxOd7tGv7j8huGeqanPDBiMu2AMvIfOW1MCST\n N/ND7GkvG6fGcd4Z6QP0SU4Daqp/o3F80FIc9zdxTvdn0oNthDUSQOY5mlHogbsC\n ixK2stVzxKwr8B3wkRQkGJkAxzKG7psUJlr+Qofu5+wZ20GtU58yTxAdNQttxW7n\n aghQbK8sk+xy5uDa6YqthEl/v+f3RzNUzM+WYrAiBA=="],"X-ME-Sender":"<xms:HL_mafR3GtuPWo-qes_jlyA4MHsJ-QffyLI9RC0quVZj8uqW4K0Iag>\n <xme:HL_maVsAh0w3WN--gDZrqzko2z_1OXHqgi3jUNDUXY1Fg93j7Q0inirIUvNUpCvlz\n ZE7mViADG6b6SQQV5lSatYfm1IsXHVg4S4U_cHuqOv5sbJSfB4UwqM7>","X-ME-Received":"\n <xmr:HL_maZEYMZ9M2YpYicI37Ovw1nX2RR1mHozScD7QZ56JajGbIS07Ro1Jibmi__NmRLeJKv8vYDq56YmYU4uFs7Km9p0O1gp_ByvTPksPxgDcK8dTm_5mFP8h>","X-ME-Proxy-Cause":"\n gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdehleelvdcutefuodetggdotefrod\n ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr\n ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug\n hrpefhufffkfggtgfgvfevofesthejredtredtjeenucfhrhhomhepofgrthhhvgifucfo\n tgeurhhiuggvuceomhgrthhtsehtrhgrvhgvrhhsvgdrtghomhdrrghuqeenucggtffrrg\n htthgvrhhnpedvhfefhfeiledttedvkeffudfhfeethfdutdejleeggffhfeeuudejhfeu\n uefgudenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhkvghrnhgvlhdrohhrghenuc\n evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghtthes\n thhrrghvvghrshgvrdgtohhmrdgruhdpnhgspghrtghpthhtohepledpmhhouggvpehsmh\n htphhouhhtpdhrtghpthhtohepphgrughmrghrrghordgsvghgrghrihesrghmugdrtgho\n mhdprhgtphhtthhopehquhgvnhhtihhnrdhstghhuhhliiestghhvghrrhihrdguvgdprh\n gtphhtthhopehmihgthhgrlhdrshhimhgvkhesrghmugdrtghomhdprhgtphhtthhopehm\n rghrvghkrdhvrghsuhhtsehmrghilhgsohigrdhorhhgpdhrtghpthhtohepuhdqsghooh\n htsehlihhsthhsrdguvghngidruggvpdhrtghpthhtohepphgvnhhgrdhfrghnsehngihp\n rdgtohhmpdhrtghpthhtoheplhhukhgrshiirdgtiigvtghhohifshhkihesthhhrghumh\n grthgvtgdrtghomhdprhgtphhtthhopehtrhhinhhisehkohhnshhulhhkohdrtghomhdp\n rhgtphhtthhopehmrghtthesthhrrghvvghrshgvrdgtohhmrdgruh","X-ME-Proxy":"<xmx:HL_maexxR1mN1cb_spEnM-oHW6UslUUfKmr6fwBpwR3A65nmXhOpOg>\n <xmx:HL_mab2FXKqBpbM4WXJXKrkQOWupjPfUb5CLb8dbDljJ1l3WG0VYNA>\n <xmx:HL_maWqmlFGxk1QxkBCN90mdueHPzDdyXG_q6cI-FusMerU4MCdX0A>\n <xmx:HL_maQVQLBOtRB4Bed8muTyrqY2oCGkyx_8ef6LDrwYVlkHJ_pbFew>\n <xmx:Hb_maYXWgMXkiyWF94gUsBqL0PY9MA8OjNzJegD7d-rPEBOp7bvlM1Vv>","Feedback-ID":"i426947f3:Fastmail","From":"Mathew McBride <matt@traverse.com.au>","Subject":"[PATCH v2 0/8] board: ten64: add USB Hub (USB5744) management support","Date":"Tue, 21 Apr 2026 10:04:33 +1000","Message-Id":"<20260421-ten64-add-usb5744-v2-0-eaa81288e393@traverse.com.au>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIABG/5mkC/22NQQ6CMBBFr0JmbcnQDIW68h6GRaVT6UIwbWk0h\n LtbSdy5fC/5728QOXiOcK42CJx99MtcQJ4qGCcz31l4WxgkSoWEvUg8KxLGWrHGW9sRCTS2dcp\n Y7Qih7J6BnX8dzetQePIxLeF9XOTma381/aeWG4FCoibSynVy7C8pmMwhcj0uj9qsMOz7/gGJV\n LW8uAAAAA==","X-Change-ID":"20260408-ten64-add-usb5744-0ad5f6ad9f40","To":"u-boot@lists.denx.de","Cc":"Tom Rini <trini@konsulko.com>,\n Lukasz Czechowski <lukasz.czechowski@thaumatec.com>,\n Quentin Schulz <quentin.schulz@cherry.de>,\n Michal Simek <michal.simek@amd.com>, Marek Vasut <marek.vasut@mailbox.org>,\n Padmarao Begari <padmarao.begari@amd.com>, Peng Fan <peng.fan@nxp.com>,\n Mathew McBride <matt@traverse.com.au>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1776729881; l=3114;\n i=matt@traverse.com.au; s=20260115; h=from:subject:message-id;\n bh=MWgtyMnWNRPNIJfcsl64YLPEp1Q0WNPLM/7aA8W1PiY=;\n b=8Dw2GQ/sw4M3hjRQN7hkasIXK/dQA48bukyO0hlAUjoPSc3D0zBK+TPbYJISUKb+X1HVw/81/\n VSrSAEE1af9BvV8YBJsM+HTk2a7ptvwqldErUcO52vAJRSEQB9QId9k","X-Developer-Key":"i=matt@traverse.com.au; a=ed25519;\n pk=SM+aGm9Y2fPJ2prfH/b5lab73fTBrKL5UsJwdzv7Pbg=","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"The main public Ten64 board version (RevC) has a Microchip/SMSC\nUSB hub (USB5744) connected to the second USB controller on the\nLS1088A.\n\nThe USB5744 is configured (by bootstrap pins) not to start automatically,\nrather the firmware has to issue the start commands to the USB5744\nover I2C.\nThe rationale for this is to allow certain ports to be disabled,\nnamely the M.2 Key B slot where the USB3 lanes need to be disabled\nfor a card that is PCI Express only (as the USB3 pins are shared\nwith a PCIe lane).\n(The functionality for this scenario is not present in the mainline\nUSB5744 driver at this time).\n\nFurther testing revealed that some operating systems get stuck at boot\nwhen they start their usb5744 driver, so we hide the USB Hub from\noperating systems by deleting references (fixup) in the FDT prior to handover.\n\nSimilarly, references in U-Boot's internal FDT need to be deleted\nwhen running on a board without the USB hub present.\n\nCI pipeline results are here:\nhttps://github.com/u-boot/u-boot/pull/924\nI had to change the gpio.h #include in usb_onboard_hub.c to\nasm-generic to fix a compile issue (missing stdint types).\nThe CI did not pick up any issues with this.\n\nSigned-off-by: Mathew McBride <matt@traverse.com.au>\n---\nChanges in v2:\n- Add missing CONFIG_OF_BOARD_FIXUP to the board defconfig\n  so that board_fix_fdt is called.\n- Call usb_init late in the init sequence (before CLI / bootflow)\n  to ensure the USB hub is initialized and usable before\n  any downstream users.\n- Remove 'local' copies of the board dts in arch/arm/dts that\n  are no longer required after OF_UPSTREAM conversion.\n  However, the board specific -u-boot.dtsi needs to remain\n  to pick up the SoC specific -u-boot.dtsi.\n  (Thanks to Fabio Estevam for pointing this out)\n- Remove error print in ft_board_setup if USB hub nodes\n  not found (e.g if the control FDT is passed to the OS,\n  the fixup has already been done by board_fix_fdt,\n  causing a false error notification).\n- Link to v1: https://lore.kernel.org/r/20260409-ten64-add-usb5744-v1-0-2094496f72c8@traverse.com.au\n\n---\nMathew McBride (8):\n      usb: onboard-hub: fix compile issue with gpio.h import\n      board: ten64: add fdt fixup to hide usb hub topology\n      board: ten64: remove USB hub references from internal FDT when needed\n      configs: ten64: enable OF_FIXUP\n      configs: ten64: enable USB_ONBOARD_HUB (USB5744) option\n      configs: ten64: switch to OF_UPSTREAM\n      arm: dts: remove local copy Ten64 board DTS\n      board: ten64: start USB stack in late init\n\n arch/arm/dts/fsl-ls1088a-ten64-u-boot.dtsi |   8 -\n arch/arm/dts/fsl-ls1088a-ten64.dts         | 388 -----------------------------\n board/traverse/ten64/ten64.c               |  67 ++++-\n common/usb_onboard_hub.c                   |   2 +-\n configs/ten64_tfa_defconfig                |   5 +-\n 5 files changed, 71 insertions(+), 399 deletions(-)\n---\nbase-commit: 70fd0c3bb7c26d42f24d10145dd5f3168ac92eac\nchange-id: 20260408-ten64-add-usb5744-0ad5f6ad9f40\n\nBest regards,"}