Page MenuHomeFreeBSD

riscv: support Allwinner D1 GPIO controller
ClosedPublic

Authored by julien.cassette_gmail.com on Jun 25 2022, 12:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Mar 18, 3:33 AM
Unknown Object (File)
Tue, Mar 17, 1:23 PM
Unknown Object (File)
Tue, Mar 17, 1:29 AM
Unknown Object (File)
Mon, Mar 16, 9:10 PM
Unknown Object (File)
Mar 1 2026, 8:35 AM
Unknown Object (File)
Feb 26 2026, 10:41 PM
Unknown Object (File)
Feb 24 2026, 10:41 AM
Unknown Object (File)
Feb 11 2026, 10:24 PM

Details

Summary

The GPIO controls the multiplexing of the D1 pins to its peripherals,
so this adds the definitions needed by the aw_gpio driver to support
the D1.

Also, this modifies the aw_gpio driver to support the differences of
the D1 controller:

  • pins can have up to 15 functions,
  • each port is mapped with an alignment of 0x30,
  • CFG registers have 4 bits per pin,
  • DRV registers have 4 bits per pin,
  • the offset of PULL registers is 0x24.

Signed-off-by: Julien Cassette <julien.cassette@gmail.com>

Test Plan

The driver correctly processes FDT pin-config nodes for serial, mmc, spi.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Dec 10 2024, 9:32 PM
This revision was automatically updated to reflect the committed changes.