Running kernel 4.4 and trying to read a DS3234 clock on the second SPI
port I can suppress the HDMI pins in uEnv.txt with:
dtb=am335x-boneblack-emmc-overlay.dtb
optargs=cape_disable=bone_capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
(uEnv.txt isn’t loading the “universal overlay”.)
Loading BB-SPIDEV0 and BB-SPI1CLK then produces the expected /dev/spidev1.0,
/dev/spidev1.1 and /dev/rtc1 devices.
dmesg says:
bone_capemgr bone_capemgr: part_number ‘BB-SPI1CLK’, version ‘N/A’
bone_capemgr bone_capemgr: slot #6: override
bone_capemgr bone_capemgr: Using override eeprom data at slot 6
bone_capemgr bone_capemgr: slot #6: ‘Override Board Name,00A0,Override Manuf,BB-SPI1CLK’
ds3234 spi2.0: Control Reg: 0x00
ds3234 spi2.0: Ctrl/Stat Reg: 0x00
ds3234 spi2.0: rtc core: registered ds3234 as rtc1
bone_capemgr bone_capemgr: slot #6: dtbo ‘BB-SPI1CLK-00A0.dtbo’ loaded; overlay id #1
However, there’s no spi pingroup, and the relevant pins remain in mode 7
not mode 3, and are unclaimed:
pin 100 (44e10990.0) 00000027 pinctrl-single
pin 101 (44e10994.0) 00000027 pinctrl-single
pin 102 (44e10998.0) 00000027 pinctrl-single
pin 103 (44e1099c.0) 00000027 pinctrl-single
pin 100 (44e10990.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 101 (44e10994.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 102 (44e10998.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 103 (44e1099c.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
and reading the clocks gives:
quid ~ # hwclock -f /dev/rtc0 -r
Sat Jul 2 21:00:10 2016 .954216 seconds
quid ~ # hwclock -f /dev/rtc1 -r
hwclock: ioctl(RTC_RD_TIME) to /dev/rtc1 to read the time failed: Invalid argument
quid ~ #
The clock overlay worked in 3.8, and I think I’ve updated it correctly for
4.4. Can anyone spot what I’ve missed?
/*
** Dallas DS3234 RTC SPI driver test.