From: "André Draszik" <andre.draszik@linaro.org>
To: Peter Griffin <peter.griffin@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Alim Akhtar <alim.akhtar@samsung.com>
Cc: "Tudor Ambarus" <tudor.ambarus@linaro.org>,
"Will McVicker" <willmcvicker@google.com>,
"Roy Luo" <royluo@google.com>,
kernel-team@android.com, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
"André Draszik" <andre.draszik@linaro.org>
Subject: [PATCH v2 0/2] enable USB on Pixel 6 (Oriole)
Date: Mon, 29 Apr 2024 11:35:48 +0100 [thread overview]
Message-ID: <20240429-usb-dts-gs101-v2-0-7c1797c9db80@linaro.org> (raw)
These patches enable USB in peripheral mode on Pixel 6.
We can only support peripheral mode at this stage, as the MAX77759 TCPCI
controller used on Pixel 6 to do the role selection doesn't have a(n
upstream) Linux driver. Therefore the role is defaulted to peripheral
without any endpoints / ports.
For the same reason, we can not detect the orientation of a SS USB-C cable
and therefore it will only establish a link in SS mode in one of the
possible orientations of the cable. In all other cases, the link will be HS.
This series has a dependency on other patches, please see below.
I have mainly tested this as CDC ECM Ethernet device using the following:
mount -t configfs configfs /sys/kernel/config/
modprobe libcomposite
modprobe usb_f_ecm
mkdir /sys/kernel/config/usb_gadget/g3
cd /sys/kernel/config/usb_gadget/g3
echo 0xadad > idVendor
echo 0xddaa > idProduct
mkdir strings/0x409
echo 01234567 > strings/0x409/serialnumber
echo ADADAD > strings/0x409/manufacturer
cat /proc/device-tree/model > strings/0x409/product
# create the function (name must match a usb_f_<name> module such as 'acm')
mkdir functions/ecm.usb0
# stable MAC addresses
echo "6e:27:3a:b9:40:87" > functions/ecm.usb0/dev_addr
echo "ca:49:84:b0:3b:bc" > functions/ecm.usb0/host_addr
mkdir configs/c.1
ln -s functions/ecm.usb0 configs/c.1/
echo $(ls -1 /sys/class/udc/) > UDC
ifconfig usb0 192.168.1.2 up
at which point the other side should detect it and network communication
becomes possible (once the other side also configures its network
interface).
Due to the clock IDs and DTS phandle references, this series depends on the
bindings and DTS patches
"dt-bindings: clock: google,gs101-clock: add HSI0 clock management unit"
"arm64: dts: exynos: gs101: enable cmu-hsi0 clock controller" of
the series in
https://lore.kernel.org/r/20240423-hsi0-gs101-v1-0-2c3ddb50c720@linaro.org
(which have been merged to linux-next already)
Furthermore, it also depends on the bindings for USB and USB-phy which have
been proposed as part of:
https://lore.kernel.org/r/20240423-usb-dwc3-gs101-v1-0-2f331f88203f@linaro.org
and
https://lore.kernel.org/r/20240423-usb-phy-gs101-v1-0-ebdcb3ac174d@linaro.org
respectively and haven't been merged yet.
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Changes in v2:
- fix commit messages
- rebase against 20240429 linux-next
- Link to v1: https://lore.kernel.org/r/20240423-usb-dts-gs101-v1-0-3421b0371298@linaro.org
---
André Draszik (2):
arm64: dts: exynos: gs101: add USB & USB-phy nodes
arm64: dts: exynos: gs101-oriole: enable USB on this board
arch/arm64/boot/dts/exynos/google/gs101-oriole.dts | 24 +++++++++++++
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 41 ++++++++++++++++++++++
2 files changed, 65 insertions(+)
---
base-commit: b0a2c79c6f3590b74742cbbc76687014d47972d8
change-id: 20240423-usb-dts-gs101-4269e0177c0f
Best regards,
--
André Draszik <andre.draszik@linaro.org>
next reply other threads:[~2024-04-29 10:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-29 10:35 André Draszik [this message]
2024-04-29 10:35 ` [PATCH v2 1/2] arm64: dts: exynos: gs101: add USB & USB-phy nodes André Draszik
2024-04-29 10:35 ` [PATCH v2 2/2] arm64: dts: exynos: gs101-oriole: enable USB on this board André Draszik
2024-04-29 17:30 ` [PATCH v2 0/2] enable USB on Pixel 6 (Oriole) Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240429-usb-dts-gs101-v2-0-7c1797c9db80@linaro.org \
--to=andre.draszik@linaro.org \
--cc=alim.akhtar@samsung.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel-team@android.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=peter.griffin@linaro.org \
--cc=robh@kernel.org \
--cc=royluo@google.com \
--cc=tudor.ambarus@linaro.org \
--cc=willmcvicker@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).