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
F174845206: D35593.id107378.diff
Tue, Oct 6, 11:27 AM
Unknown Object (File)
Mon, Oct 5, 9:45 AM
Unknown Object (File)
Sun, Oct 4, 6:52 PM
Unknown Object (File)
Fri, Oct 2, 2:35 PM
Unknown Object (File)
Fri, Oct 2, 9:01 AM
Unknown Object (File)
Fri, Oct 2, 3:27 AM
Unknown Object (File)
Fri, Sep 18, 5:04 PM
Unknown Object (File)
Fri, Sep 18, 4:10 AM

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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 46112
Build 43001: arc lint + arc unit

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.