device tree overlay for adxl345
experiment1:
exporting device tree overlay and getting probe function called.
took this one as an example
/home/nikhil/bbblatest/bb.org-overlays/src/arm/BB-I2C2-00A0.dts
changed last lines as
// commented out example of a touchscreen (taken from BB-BONE-LCD7-01-00A4) */
adxl345@53 {
compatible = "adxl345";
reg = <0x53>;//chip ID of adxl345
//interrupt-parent = <&gpio4>;
//interrupts = <19 0x0>;
//atmel,irq-gpio = <&gpio4 19 0>;
};
};
};
};
renamed as BB-I2C2-ADXL-00A0.dts
compiled overlay as
dtc -I dts -O dtb -o BB-I2C2-ADXL-00A0.dtbo -b 0 -@ BB-I2C2-ADXL-00A0.dts
(before compiling i checked my dtc version, that was old. So updated from this directory/home/nikhil/bbblatest/bb.org-overlays and run dtc-overlay.sh. Now version is Version: DTC 1.4.4
)
copy the dtbo file in rootfs/lib/firmware folder
booted the board with sdcard.
cd /sys/devices/platform/bone_capemger
then cat slots
root@arm:/sys/devices/platform/bone_capemgr# cat slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
then did this,
echo "BB-I2C2-ADXL" > slots
now cat slots
root@arm:/sys/devices/platform/bone_capemgr# cat slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-I2C2-ADXL
Also I got this print
root@arm:/sys/devices/platform/bone_capemgr# echo "BB-I2C2-ADXL" > slots
[ 113.686287] bone_capemgr bone_capemgr: part_number 'BB-I2C2-ADXL', version 'N/A'
[ 113.693901] bone_capemgr bone_capemgr: slot #4: override
[ 113.699278] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[ 113.712777] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,BB-I2C2-ADXL'
[ 113.750647] #####Inside probe for adxl345
[ 113.750647]
[ 113.766774] #####probe done for adxl345
[ 113.766774]
[ 113.780934] bone_capemgr bone_capemgr: slot #4: dtbo 'BB-I2C2-ADXL-00A0.dtbo' loaded; overlay id #0
So the overlay worked.
experiment 2:
Installing overlay at boot up
changes need to be done in uEnv.txt
exporting device tree overlay and getting probe function called.
took this one as an example
/home/nikhil/bbblatest/bb.org-overlays/src/arm/BB-I2C2-00A0.dts
changed last lines as
// commented out example of a touchscreen (taken from BB-BONE-LCD7-01-00A4) */
adxl345@53 {
compatible = "adxl345";
reg = <0x53>;//chip ID of adxl345
//interrupt-parent = <&gpio4>;
//interrupts = <19 0x0>;
//atmel,irq-gpio = <&gpio4 19 0>;
};
};
};
};
renamed as BB-I2C2-ADXL-00A0.dts
compiled overlay as
dtc -I dts -O dtb -o BB-I2C2-ADXL-00A0.dtbo -b 0 -@ BB-I2C2-ADXL-00A0.dts
(before compiling i checked my dtc version, that was old. So updated from this directory/home/nikhil/bbblatest/bb.org-overlays and run dtc-overlay.sh. Now version is Version: DTC 1.4.4
)
copy the dtbo file in rootfs/lib/firmware folder
booted the board with sdcard.
cd /sys/devices/platform/bone_capemger
then cat slots
root@arm:/sys/devices/platform/bone_capemgr# cat slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
then did this,
echo "BB-I2C2-ADXL" > slots
now cat slots
root@arm:/sys/devices/platform/bone_capemgr# cat slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-I2C2-ADXL
Also I got this print
root@arm:/sys/devices/platform/bone_capemgr# echo "BB-I2C2-ADXL" > slots
[ 113.686287] bone_capemgr bone_capemgr: part_number 'BB-I2C2-ADXL', version 'N/A'
[ 113.693901] bone_capemgr bone_capemgr: slot #4: override
[ 113.699278] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[ 113.712777] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,BB-I2C2-ADXL'
[ 113.750647] #####Inside probe for adxl345
[ 113.750647]
[ 113.766774] #####probe done for adxl345
[ 113.766774]
[ 113.780934] bone_capemgr bone_capemgr: slot #4: dtbo 'BB-I2C2-ADXL-00A0.dtbo' loaded; overlay id #0
So the overlay worked.
experiment 2:
Installing overlay at boot up
changes need to be done in uEnv.txt
Comments
Post a Comment