Now
khorben-n900 commitmail json YAML
KNF
Thanks jmcneill@ for the hint.
Thanks jmcneill@ for the hint.
khorben-n900 commitmail json YAML
Fixed use of workqueue_create(9), as it expects a pri_t as the priority.
The IPL level was changed to IPL_SOFTBIO which seems more correct.
Thanks jmcneill@ for the hint.
XXX test on the Nokia N900
The IPL level was changed to IPL_SOFTBIO which seems more correct.
Thanks jmcneill@ for the hint.
XXX test on the Nokia N900
khorben-n900 commitmail json YAML
src/sys/arch/evbarm/n900/n900_acad.c@1.5.2.2
/
diff
/
nxr@1.5.2.2
src/sys/arch/evbarm/n900/n900_audjck.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_cambtn.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_camcvr.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_kbdsld.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_lckbtn.c@1.3.2.2 / diff / nxr@1.3.2.2
src/sys/arch/evbarm/n900/n900_prxmty.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_audjck.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_cambtn.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_camcvr.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_kbdsld.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/evbarm/n900/n900_lckbtn.c@1.3.2.2 / diff / nxr@1.3.2.2
src/sys/arch/evbarm/n900/n900_prxmty.c@1.1.2.2 / diff / nxr@1.1.2.2
Using a sysmon taskqueue to report events; fixes crashes when booting
multi-user while calling sysmon_pswitch_event().
Tested on the Nokia N900 smartphone.
multi-user while calling sysmon_pswitch_event().
Tested on the Nokia N900 smartphone.
khorben-n900 commitmail json YAML
Rewrote the computation of the clock frequency divider when configuring an
SPI channel.
SPI channel.
khorben-n900 commitmail json YAML
Attaching the lp5523led(4) LED driver to the I2C bus.
Tested on my Nokia N900 smartphone.
Tested on my Nokia N900 smartphone.
khorben-n900 commitmail json YAML
Added a refresh callback for the temperature sensor.
khorben-n900 commitmail json YAML
src/sys/dev/i2c/files.i2c@1.49.2.4
/
diff
/
nxr@1.49.2.4
src/sys/dev/i2c/lp5523.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/dev/i2c/lp5523reg.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/dev/i2c/lp5523.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/dev/i2c/lp5523reg.h@1.1.2.1 / diff / nxr@1.1.2.1
Initial import of the lp5523led(4) driver, a programmable 9-output LED
driver from Texas Instruments. This is not functional yet, but exposes
sysctl nodes and the internal temperature sensor (not refreshed at the
moment).
Tested on my Nokia N900 smartphone.
driver from Texas Instruments. This is not functional yet, but exposes
sysctl nodes and the internal temperature sensor (not refreshed at the
moment).
Tested on my Nokia N900 smartphone.
khorben-n900 commitmail json YAML
Seems to be much closer to working correctly. Apparently one has to read
back anything transmitted, as well as transmit 0's to be able to read
anything. This would explain the whole juggling with chunks, counts and
pointers.
back anything transmitted, as well as transmit 0's to be able to read
anything. This would explain the whole juggling with chunks, counts and
pointers.
khorben-n900 commitmail json YAML
src/sys/dev/spi/files.spi@1.2.114.2
/
diff
/
nxr@1.2.114.2
src/sys/dev/spi/spi.c@1.8.6.2 / diff / nxr@1.8.6.2
src/sys/dev/spi/spivar.h@1.4.20.2 / diff / nxr@1.4.20.2
src/sys/dev/spi/spi.c@1.8.6.2 / diff / nxr@1.8.6.2
src/sys/dev/spi/spivar.h@1.4.20.2 / diff / nxr@1.4.20.2
Let the bus speed of SPI devices be specified within the kernel
configuration.
configuration.
khorben-n900 commitmail json YAML
Make sure interrupts are cleared on the current channel when initiating a
transfer. Also force the current transfer to be terminated upon end of
transmission.
transfer. Also force the current transfer to be terminated upon end of
transmission.
khorben-n900 commitmail json YAML
Removed a bogus assertion.
khorben-n900 commitmail json YAML
src/sys/arch/evbarm/conf/N900@1.13.2.5
/
diff
/
nxr@1.13.2.5
src/sys/conf/files@1.1070.2.1 / diff / nxr@1.1070.2.1
src/sys/dev/i2c/files.i2c@1.49.2.3 / diff / nxr@1.49.2.3
src/sys/dev/i2c/tps65950.c@1.3.10.4 / diff / nxr@1.3.10.4
src/sys/dev/i2c/tps65950reg.h@1.1.2.4 / diff / nxr@1.1.2.4
src/sys/conf/files@1.1070.2.1 / diff / nxr@1.1070.2.1
src/sys/dev/i2c/files.i2c@1.49.2.3 / diff / nxr@1.49.2.3
src/sys/dev/i2c/tps65950.c@1.3.10.4 / diff / nxr@1.3.10.4
src/sys/dev/i2c/tps65950reg.h@1.1.2.4 / diff / nxr@1.1.2.4
Added keyboard support for the TPS65950 companion chip.
Tested on the Nokia N900 (multi-user)
Tested on the Nokia N900 (multi-user)
khorben-n900 commitmail json YAML
Removed debugging code
khorben-n900 commitmail json YAML
tps65950pm(4) can now expose a GPIO bus.
khorben-n900 commitmail json YAML
src/sys/arch/evbarm/conf/N900@1.13.2.4
/
diff
/
nxr@1.13.2.4
src/sys/dev/i2c/tps65950.c@1.3.10.3 / diff / nxr@1.3.10.3
src/sys/dev/i2c/tps65950reg.h@1.1.2.3 / diff / nxr@1.1.2.3
src/sys/dev/i2c/tps65950.c@1.3.10.3 / diff / nxr@1.3.10.3
src/sys/dev/i2c/tps65950reg.h@1.1.2.3 / diff / nxr@1.1.2.3
Added GPIO support to the TPS65950 companion chip. I haven't been able to
test it properly thus far unfortunately.
XXX Implement level-triggered interrupts.
test it properly thus far unfortunately.
XXX Implement level-triggered interrupts.
khorben-n900 commitmail json YAML
src/sys/arch/evbarm/conf/N900@1.13.2.3
/
diff
/
nxr@1.13.2.3
src/sys/dev/i2c/tps65950.c@1.3.10.2 / diff / nxr@1.3.10.2
src/sys/dev/i2c/tps65950reg.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/dev/i2c/tps65950.c@1.3.10.2 / diff / nxr@1.3.10.2
src/sys/dev/i2c/tps65950reg.h@1.1.2.2 / diff / nxr@1.1.2.2
Beginning to handle interrupts from the TPS65950 companion chip.
khorben-n900 commitmail json YAML
src/sys/arch/evbarm/conf/N900@1.13.2.2
/
diff
/
nxr@1.13.2.2
src/sys/arch/evbarm/n900/n900_acad.c@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/arch/evbarm/n900/n900_audjck.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_cambtn.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_camcvr.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_kbdsld.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_lckbtn.c@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/arch/evbarm/n900/n900_prxmty.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_acad.c@1.5.2.1 / diff / nxr@1.5.2.1
src/sys/arch/evbarm/n900/n900_audjck.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_cambtn.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_camcvr.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_kbdsld.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/evbarm/n900/n900_lckbtn.c@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/arch/evbarm/n900/n900_prxmty.c@1.1.2.1 / diff / nxr@1.1.2.1
Let the device drivers on the GPIO bus use the interrupt locator.
khorben-n900 commitmail json YAML
src/sys/dev/i2c/tps65950.c@1.3.10.1
/
diff
/
nxr@1.3.10.1
src/sys/dev/i2c/tps65950reg.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/dev/i2c/tps65950reg.h@1.1.2.1 / diff / nxr@1.1.2.1
Moved register values to a separate file
khorben-n900 commitmail json YAML
Enable support for the SPI bus
khorben-n900 commitmail json YAML
src/sys/arch/arm/omap/files.omap2@1.25.2.1
/
diff
/
nxr@1.25.2.1
src/sys/arch/arm/omap/omap2_spi.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/arm/omap/omap2_spireg.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/arm/omap/omap2_spi.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/arm/omap/omap2_spireg.h@1.1.2.1 / diff / nxr@1.1.2.1
Imported omapspi(4), a driver for Multichannel SPI as found on the OMAP 2/3
from Texas Instruments.
Partly tested on the Nokia N900 (OMAP 3430).
from Texas Instruments.
Partly tested on the Nokia N900 (OMAP 3430).
khorben-n900 commitmail json YAML
src/sys/dev/spi/files.spi@1.2.114.1
/
diff
/
nxr@1.2.114.1
src/sys/dev/spi/spi.c@1.8.6.1 / diff / nxr@1.8.6.1
src/sys/dev/spi/spivar.h@1.4.20.1 / diff / nxr@1.4.20.1
src/sys/dev/spi/spi.c@1.8.6.1 / diff / nxr@1.8.6.1
src/sys/dev/spi/spivar.h@1.4.20.1 / diff / nxr@1.4.20.1
Just like for the I2C and GPIO buses, added an interrupt locator to the SPI
bus, so that ARM device drivers on either of these buses (like on the Nokia
N900) can register and react on system interrupts. These interrupts are
typically triggered via GPIO pins.
XXX This change is not adequate because intr_establish() is a MD interface,
so it will have to be re-designed before merging to the main tree.
bus, so that ARM device drivers on either of these buses (like on the Nokia
N900) can register and react on system interrupts. These interrupts are
typically triggered via GPIO pins.
XXX This change is not adequate because intr_establish() is a MD interface,
so it will have to be re-designed before merging to the main tree.
khorben-n900 commitmail json YAML
src/sys/dev/gpio/files.gpio@1.10.18.1
/
diff
/
nxr@1.10.18.1
src/sys/dev/gpio/gpio.c@1.51.6.1 / diff / nxr@1.51.6.1
src/sys/dev/gpio/gpiovar.h@1.15.18.1 / diff / nxr@1.15.18.1
src/sys/dev/gpio/gpio.c@1.51.6.1 / diff / nxr@1.51.6.1
src/sys/dev/gpio/gpiovar.h@1.15.18.1 / diff / nxr@1.15.18.1
Added a locator for interrupts on the GPIO bus. This allows ARM devices
(like the Nokia N900) to register interrupt handlers as specified within
their respective kernel configuration file.
XXX This change is not adequate because intr_establish() is a MD interface,
so it will have to be re-designed before merging to the main tree.
(like the Nokia N900) to register interrupt handlers as specified within
their respective kernel configuration file.
XXX This change is not adequate because intr_establish() is a MD interface,
so it will have to be re-designed before merging to the main tree.
khorben-n900 commitmail json YAML
Added the base registers for SPI support.
khorben-n900 commitmail json YAML
src/sys/dev/i2c/files.i2c@1.49.2.1
/
diff
/
nxr@1.49.2.1
src/sys/dev/i2c/i2c.c@1.39.6.1 / diff / nxr@1.39.6.1
src/sys/dev/i2c/i2cvar.h@1.8.28.1 / diff / nxr@1.8.28.1
src/sys/dev/i2c/i2c.c@1.39.6.1 / diff / nxr@1.39.6.1
src/sys/dev/i2c/i2cvar.h@1.8.28.1 / diff / nxr@1.8.28.1
Added two locators for I2C devices: "intr" and "intrbase".
They are required to allow the TPS65950 companion chip to both handle its
interrupts on the system, and allow its extra GPIO pins to be used as
interrupts as well.
XXX This change is not adequate because intr_establish() is a MD interface,
so it will have to be re-designed before merging to the main tree.
They are required to allow the TPS65950 companion chip to both handle its
interrupts on the system, and allow its extra GPIO pins to be used as
interrupts as well.
XXX This change is not adequate because intr_establish() is a MD interface,
so it will have to be re-designed before merging to the main tree.
khorben-n900 commitmail json YAML
src/sys/arch/arm/pic/pic.c@1.15.6.1
/
diff
/
nxr@1.15.6.1
src/sys/arch/arm/pic/picvar.h@1.7.8.1 / diff / nxr@1.7.8.1
src/sys/arch/arm/pic/picvar.h@1.7.8.1 / diff / nxr@1.7.8.1
Allow interrupt handlers to be temporarily disabled or enabled again,
including from within interrupt context: returning non-zero keeps the
handler enabled (as previously), while returning zero disables the
interrupt until a call to intr_enable().
This is necessary with the TPS65950 companion chip because:
- it interrupts on the main code (via IRQ_SYS_nIRQ0)
- interrupt handling requires I2C traffic (to access registers)
- interrupt-based interaction is necessary with this chip (keypad, GPIO...)
XXX Affects other ARM devices using the ARM PIC code, additional code
review is required to address them.
including from within interrupt context: returning non-zero keeps the
handler enabled (as previously), while returning zero disables the
interrupt until a call to intr_enable().
This is necessary with the TPS65950 companion chip because:
- it interrupts on the main code (via IRQ_SYS_nIRQ0)
- interrupt handling requires I2C traffic (to access registers)
- interrupt-based interaction is necessary with this chip (keypad, GPIO...)
XXX Affects other ARM devices using the ARM PIC code, additional code
review is required to address them.
khorben-n900 commitmail json YAML
Pre-allocated more potential interrupt sources for the N900. It features
the regular 6 * 32 GPIO pins on the main core, plus 18 pins on the TPS65950
companion chip, for a total of at least 210 such interrupt sources.
the regular 6 * 32 GPIO pins on the main core, plus 18 pins on the TPS65950
companion chip, for a total of at least 210 such interrupt sources.
khorben-n900 commitmail json YAML
Allocated a wskbd entry for the Nokia N900