[PATCH 0/6] Add SpacemiT K1 USB2.0 controllers support

Junzhong Pan posted 6 patches 1 month, 2 weeks ago
There is a newer version of this series
.../devicetree/bindings/usb/ci-hdrc-usb2.yaml      |  1 +
arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts    | 16 +++++++++
arch/riscv/boot/dts/spacemit/k1.dtsi               | 40 ++++++++++++++++++++++
arch/riscv/configs/defconfig                       |  4 +++
drivers/usb/chipidea/ci_hdrc_usb2.c                | 16 +++++++++
5 files changed, 77 insertions(+)
[PATCH 0/6] Add SpacemiT K1 USB2.0 controllers support
Posted by Junzhong Pan 1 month, 2 weeks ago
The SpacemiT K1 SoC has two USB2.0 controllers, one has Dual-Role
support, but the hardware has no internal OTG registers, the other is
Host only. These controllers are compatible with Chipidea USB2 driver
with some flags set and reset control support.

This series is based on 7.2-rc1 and has been tested on Banana Pi F3
development board.

A self-powered USB device/hub is needed to test the host function of the
dual-role controller on Banana Pi F3, a MINI-PCIe USB2.0 module (a
cellular module e.g.) is needed to test the host only controller.

Signed-off-by: Junzhong Pan <panjunzhong@linux.spacemit.com>
---
Junzhong Pan (6):
      dt-bindings: usb: ci-hdrc-usb2: add spacemit,k1-usb2 compatible
      usb: chipidea: usb2: add optional reset support
      usb: chipidea: usb2: add SpacemiT K1 support
      riscv: dts: spacemit: add USB2.0 controller nodes for K1
      riscv: dts: spacemit: enable USB2.0 controllers on BananaPi F3
      riscv: defconfig: enable ChipIdea USB controller support

 .../devicetree/bindings/usb/ci-hdrc-usb2.yaml      |  1 +
 arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts    | 16 +++++++++
 arch/riscv/boot/dts/spacemit/k1.dtsi               | 40 ++++++++++++++++++++++
 arch/riscv/configs/defconfig                       |  4 +++
 drivers/usb/chipidea/ci_hdrc_usb2.c                | 16 +++++++++
 5 files changed, 77 insertions(+)
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260812-b4-spacemit-k1-usb2-97adfc283d58

Best regards,
-- 
Junzhong Pan <panjunzhong@linux.spacemit.com>
Re: [PATCH 0/6] Add SpacemiT K1 USB2.0 controllers support
Posted by Ze Huang 1 month, 1 week ago
On Wed Aug 12, 2026 at 5:26 PM CST, Junzhong Pan wrote:
> The SpacemiT K1 SoC has two USB2.0 controllers, one has Dual-Role
> support, but the hardware has no internal OTG registers, the other is
> Host only. These controllers are compatible with Chipidea USB2 driver
> with some flags set and reset control support.
>
> This series is based on 7.2-rc1 and has been tested on Banana Pi F3
> development board.
>
> A self-powered USB device/hub is needed to test the host function of the
> dual-role controller on Banana Pi F3, a MINI-PCIe USB2.0 module (a
> cellular module e.g.) is needed to test the host only controller.
>
> Signed-off-by: Junzhong Pan <panjunzhong@linux.spacemit.com>

Tested on OrangePi RV2.

To use USB2.0 Type-A port as host on this board, usb2_0 needs:
  - dr_mode = "host"
  - a vbus-supply regulator driving gpio126

Tested-by: Ze Huang <huang.ze@linux.dev>

> ---
> Junzhong Pan (6):
>       dt-bindings: usb: ci-hdrc-usb2: add spacemit,k1-usb2 compatible
>       usb: chipidea: usb2: add optional reset support
>       usb: chipidea: usb2: add SpacemiT K1 support
>       riscv: dts: spacemit: add USB2.0 controller nodes for K1
>       riscv: dts: spacemit: enable USB2.0 controllers on BananaPi F3
>       riscv: defconfig: enable ChipIdea USB controller support
>
>  .../devicetree/bindings/usb/ci-hdrc-usb2.yaml      |  1 +
>  arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts    | 16 +++++++++
>  arch/riscv/boot/dts/spacemit/k1.dtsi               | 40 ++++++++++++++++++++++
>  arch/riscv/configs/defconfig                       |  4 +++
>  drivers/usb/chipidea/ci_hdrc_usb2.c                | 16 +++++++++
>  5 files changed, 77 insertions(+)
> ---
> base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
> change-id: 20260812-b4-spacemit-k1-usb2-97adfc283d58
>
> Best regards,
Re: [PATCH 0/6] Add SpacemiT K1 USB2.0 controllers support
Posted by Junzhong Pan 1 month, 1 week ago
On 8/21/2026 10:00 AM, Ze Huang wrote:
> On Wed Aug 12, 2026 at 5:26 PM CST, Junzhong Pan wrote:
>> The SpacemiT K1 SoC has two USB2.0 controllers, one has Dual-Role
>> support, but the hardware has no internal OTG registers, the other is
>> Host only. These controllers are compatible with Chipidea USB2 driver
>> with some flags set and reset control support.
>>
>> This series is based on 7.2-rc1 and has been tested on Banana Pi F3
>> development board.
>>
>> A self-powered USB device/hub is needed to test the host function of the
>> dual-role controller on Banana Pi F3, a MINI-PCIe USB2.0 module (a
>> cellular module e.g.) is needed to test the host only controller.
>>
>> Signed-off-by: Junzhong Pan <panjunzhong@linux.spacemit.com>
> 
> Tested on OrangePi RV2.
> 
> To use USB2.0 Type-A port as host on this board, usb2_0 needs:
>   - dr_mode = "host"
>   - a vbus-supply regulator driving gpio126
> 
> Tested-by: Ze Huang <huang.ze@linux.dev>
> 

Thanks, then I'll add rv2 dts node in the next version. Can you
test again later ?

Thanks

>> ---
>> Junzhong Pan (6):
>>       dt-bindings: usb: ci-hdrc-usb2: add spacemit,k1-usb2 compatible
>>       usb: chipidea: usb2: add optional reset support
>>       usb: chipidea: usb2: add SpacemiT K1 support
>>       riscv: dts: spacemit: add USB2.0 controller nodes for K1
>>       riscv: dts: spacemit: enable USB2.0 controllers on BananaPi F3
>>       riscv: defconfig: enable ChipIdea USB controller support
>>
>>  .../devicetree/bindings/usb/ci-hdrc-usb2.yaml      |  1 +
>>  arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts    | 16 +++++++++
>>  arch/riscv/boot/dts/spacemit/k1.dtsi               | 40 ++++++++++++++++++++++
>>  arch/riscv/configs/defconfig                       |  4 +++
>>  drivers/usb/chipidea/ci_hdrc_usb2.c                | 16 +++++++++
>>  5 files changed, 77 insertions(+)
>> ---
>> base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
>> change-id: 20260812-b4-spacemit-k1-usb2-97adfc283d58
>>
>> Best regards,
> 
> 
> 
Best regards
Re: [PATCH 0/6] Add SpacemiT K1 USB2.0 controllers support
Posted by Ze Huang 1 month, 1 week ago
On Fri Aug 21, 2026 at 11:28 AM CST, Junzhong Pan wrote:
> On 8/21/2026 10:00 AM, Ze Huang wrote:
>> On Wed Aug 12, 2026 at 5:26 PM CST, Junzhong Pan wrote:
>>> The SpacemiT K1 SoC has two USB2.0 controllers, one has Dual-Role
>>> support, but the hardware has no internal OTG registers, the other is
>>> Host only. These controllers are compatible with Chipidea USB2 driver
>>> with some flags set and reset control support.
>>>
>>> This series is based on 7.2-rc1 and has been tested on Banana Pi F3
>>> development board.
>>>
>>> A self-powered USB device/hub is needed to test the host function of the
>>> dual-role controller on Banana Pi F3, a MINI-PCIe USB2.0 module (a
>>> cellular module e.g.) is needed to test the host only controller.
>>>
>>> Signed-off-by: Junzhong Pan <panjunzhong@linux.spacemit.com>
>> 
>> Tested on OrangePi RV2.
>> 
>> To use USB2.0 Type-A port as host on this board, usb2_0 needs:
>>   - dr_mode = "host"
>>   - a vbus-supply regulator driving gpio126
>> 
>> Tested-by: Ze Huang <huang.ze@linux.dev>
>> 
>
> Thanks, then I'll add rv2 dts node in the next version. Can you
> test again later ?

Sure

>
> Thanks