History log of /freebsd/sys/dev/nctgpio/nctgpio.c (Results 1 – 17 of 17)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c063fb7a 13-Aug-2025 Ahmad Khalifa <vexeduxr@FreeBSD.org>

gpio: remove gpiobus_attach_bus

Since gpiobus_attach_bus can attach the gpiobus child along with its
children in the same bus pass, the parent controller's reference to
gpiobus might not be set by t

gpio: remove gpiobus_attach_bus

Since gpiobus_attach_bus can attach the gpiobus child along with its
children in the same bus pass, the parent controller's reference to
gpiobus might not be set by the time the children need it. Instead,
drivers should use gpiobus_add_bus and explicitly call
bus_attach_children.

Reviewed by: mmel, imp (older version)
Approved by: imp (mentor)
Differential Revision: https://reviews.freebsd.org/D51578

show more ...


Revision tags: release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2, release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0, release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 8e4aa631 04-Jul-2023 Stéphane Rochoy <stephane.rochoy@stormshield.eu>

nctgpio: Enable all the 9 groups for NCT6116D and remove FIXMEs

Reviewed by: emaste
Pull Request: https://github.com/freebsd/freebsd-src/pull/810


# f03a7e52 01-Jul-2023 Stéphane Rochoy <stephane.rochoy@stormshield.eu>

nctgpio: Populate the cache earlier

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/719


# 8e6ea10c 01-Jul-2023 Stéphane Rochoy <stephane.rochoy@stormshield.eu>

superio+nctgpio: Add support for new (weird) chips

Add support for the following chips:
- Nuvoton NCT5585D
- Nuvoton NCT6796D-E
- Nuvoton NCT6779
- Nuvoton NCT6116D
- and Winbond 83627DHG

Reviewed

superio+nctgpio: Add support for new (weird) chips

Add support for the following chips:
- Nuvoton NCT5585D
- Nuvoton NCT6796D-E
- Nuvoton NCT6779
- Nuvoton NCT6116D
- and Winbond 83627DHG

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/719

show more ...


# 7f8d2ed0 01-Jul-2023 Stéphane Rochoy <stephane.rochoy@stormshield.eu>

superio+nctgpio: Prepare to support some new (weird) chips

- Increase verbosity to direct i/o code path (iores != 0)
- Fix pin inversion configuration
- Allow forcing the use of indirect access chan

superio+nctgpio: Prepare to support some new (weird) chips

- Increase verbosity to direct i/o code path (iores != 0)
- Fix pin inversion configuration
- Allow forcing the use of indirect access channel via hint.gpio.0.flags=2
- Document the PREFER_INDIRECT_CHANNEL tunable in nctgpio(4)

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/719

show more ...


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0
# 84c5f982 09-May-2022 John Baldwin <jhb@FreeBSD.org>

gpio: Remove unused devclass arguments to DRIVER_MODULE.


Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0
# 155514ea 22-Oct-2019 Andriy Gapon <avg@FreeBSD.org>

nctgpio: improve performance (latency) of operation

This change consists of two parts.

First, nctgpio now supports hardware access via an I/O port window if
it's configured by firmware. For instan

nctgpio: improve performance (latency) of operation

This change consists of two parts.

First, nctgpio now supports hardware access via an I/O port window if
it's configured by firmware. For instance, PC Engines firmware
v4.10.0.2 does that. This is faster than going through the Super I/O
configuration registers.

Second, nctgpio now caches values of bits that it controls. For
example, the driver does not need to access the hardware to determine if
a pin is an output or an input, or a state of an output. Also, the
driver makes use of the fact that the hardware preserves an output state
of a pin accross a switch to the input mode and back.

With this change I am able to use the 1-Wire bus over nctgpio whereas
previously the driver introduced too much latency to be compliant with
the relatively strict protocol timings.

superio0: <Nuvoton NCT5104D/NCT6102D/NCT6106D (rev. B+)> at port 0x2e-0x2f on isa0
gpio1: <Nuvoton GPIO controller> at GPIO ldn 0x07 on superio0
pcib0: allocated type 4 (0x220-0x226) for rid 0 of gpio1
gpiobus1: <GPIO bus> on gpio1
owc0: <GPIO attached one-wire bus> at pin 4 on gpiobus1
ow0: <1 Wire Bus> on owc0
ow0: romid 28:b2:9e:45:92:10:02:34: no driver
ow_temp0: <Advanced One Wire Temperature> romid 28:b2:9e:45:92:10:02:34 on ow0

MFC after: 4 weeks

show more ...


# e3df342a 16-Oct-2019 Andriy Gapon <avg@FreeBSD.org>

move nctgpio to superio(4) bus

This is where it logically belongs.
The change allows to drop a bunch of low lewel code.

Reviewed by: gonzo
MFC after: 19 days
Differential Revision: https://reviews.

move nctgpio to superio(4) bus

This is where it logically belongs.
The change allows to drop a bunch of low lewel code.

Reviewed by: gonzo
MFC after: 19 days
Differential Revision: https://reviews.freebsd.org/D21980

show more ...


# a63915c2 28-Jul-2019 Alan Somers <asomers@FreeBSD.org>

MFHead @r350386

Sponsored by: The FreeBSD Foundation


Revision tags: release/11.3.0
# 02226256 01-Jul-2019 Andriy Gapon <avg@FreeBSD.org>

nctgpio: change default pin names to those used by the datasheet(s)

That is, instead of the current GPIO00 - GPIO15 the names will be GPIO00
- GPIO07, GPIO10 - GPIO17. The first digit is a GPIO "ba

nctgpio: change default pin names to those used by the datasheet(s)

That is, instead of the current GPIO00 - GPIO15 the names will be GPIO00
- GPIO07, GPIO10 - GPIO17. The first digit is a GPIO "bank" / group
number and the second one is a pin number within the bank. Alternative
view is that the pin names are changed from decimal numbering scheme to
octal one (as there are 8 pins per bank).

Discussed with: cem, gonzo
MFC after: 2 weeks

show more ...


Revision tags: release/12.0.0, release/11.2.0
# 4b49587c 06-Jan-2018 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r327341 through r327623.


# 9d1208bb 02-Jan-2018 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

nctgpio: add new device id for the GPIO chip in PCEngines APU3

PR: 224512
Submitted by: mike@sentex.net
MFC after: 2 weeks


Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0
# 523af57e 20-Apr-2016 Conrad Meyer <cem@FreeBSD.org>

nctgpio(4): Don't index past the end of sc->pins array

This driver thinks that the NCT_MAX_PIN index is a valid index in a few places
(nct_attach() for-loop, as well as NCT_IS_VALID_PIN()). Allocat

nctgpio(4): Don't index past the end of sc->pins array

This driver thinks that the NCT_MAX_PIN index is a valid index in a few places
(nct_attach() for-loop, as well as NCT_IS_VALID_PIN()). Allocate room for
NCT_MAX_PIN as an index, that is, NCT_MAX_PIN + 1 elements.

Reported by: Coverity
CIDs: 1353806, 1353807, 1353808, 1353809, 1353810
Sponsored by: EMC / Isilon Storage Division

show more ...


# 73a1170a 20-Apr-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/dev: use our nitems() macro when it is avaliable through param.h.

No functional change, only trivial cases are done in this sweep,
Drivers that can get further enhancements will be done independ

sys/dev: use our nitems() macro when it is avaliable through param.h.

No functional change, only trivial cases are done in this sweep,
Drivers that can get further enhancements will be done independently.

Discussed in: freebsd-current

show more ...


# d6084013 05-Apr-2016 Glen Barber <gjb@FreeBSD.org>

MFH

Sponsored by: The FreeBSD Foundation


# 6b7b2d80 31-Mar-2016 Adrian Chadd <adrian@FreeBSD.org>

Add support for the Nuvoton NCT5104D.

Make it compile only for i386/amd64 for now as it's been tested there.
It's quite possible it'll show up elsewhere and we can enable it
for other architectures

Add support for the Nuvoton NCT5104D.

Make it compile only for i386/amd64 for now as it's been tested there.
It's quite possible it'll show up elsewhere and we can enable it
for other architectures later.

Tested:

* PC Engines APU1C4

Submitted by: Daniel Wyatt <daniel@dewyatt.com>
Reviewed by: adrian, loos
Differential Revision: https://reviews.freebsd.org/D5389

show more ...