Dear all, I am using the latest version of Debian on the Black: "Linux beaglebone 4.4.30-ti-r64 #1 SMP Fri Nov 4 21:23:33 UTC 2016 armv7l GNU/Linux"
My dtc version is "DTC 1.4.1-g1e75ebc9" I am using the "misc cape" board from WaveShare. They have provided several .dts files for the overlays. One of them is for enabling the I2C and is called " DVK531-I2C1-01-00A0.dts". The file can be compiled with no error and the .dtbo was copied to the /lib/firmware directory. I enable this overlay by editing the /boot/uEnv.txt file adding the line:"cape_enable=bone_capemgr.enable_partno=DVK531-I2C1-01". But during boot up it shows the error message : "[ 3.554491] bone_capemgr bone_capemgr: loader: failed to load slot-4 DVK531-I2C1-01:00A0 (prio 0)". Thinking I might have done something incorrectly, I then tried to load the BB-I2C1-00A0.dtbo from the repo of bb.org-overlays and it can be loaded correctly. I then examined the contents of the two .dts and found that there are not much difference except two lines of include files: "#include <dt-bindings/board/am335x-bbw-bbb-base.h>" and "#include <dt-bindings/pinctrl/am33xx.h>". I therefore added the two lines to the DVK531 .dts and try to compile but then I get the error : "Error: DVK531-I2C1-01-00A0.dts:13.1-9 syntax error FATAL ERROR: Unable to parse input tree". I tried that on the I2C dts from the repo and get the same error. Can someone please tell me what was wrong and why the dtbo wouldn't load? The .dts from WaveShare: /* * Copyright (C) 2013 CircuitCo * * Virtual cape for I2C1 on connector pins P9.17 P9.18 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; /plugin/; / { compatible = "ti,beaglebone", "ti,beaglebone-black"; /* identification */ part-number = "DVK551-I2C1-01"; version = "00A0"; /* state the resources this cape uses */ exclusive-use = /* the pin header uses */ "P9.18", /* i2c1_sda */ "P9.17", /* i2c1_scl */ /* the hardware ip uses */ "i2c1"; fragment@0 { target = <&am33xx_pinmux>; __overlay__ { bb_i2c1_pins: pinmux_bb_i2c1_pins { pinctrl-single,pins = < 0x158 0x72 /* spi0_d1.i2c1_sda, SLEWCTRL_SLOW | INPUT_PULLUP | MODE2 */ 0x15c 0x72 /* spi0_cs0.i2c1_scl, SLEWCTRL_SLOW | INPUT_PULLUP | MODE2 */ >; }; }; }; fragment@1 { target = <&i2c1>; /* i2c1 is numbered correctly */ __overlay__ { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&bb_i2c1_pins>; /* this is the configuration part */ clock-frequency = <100000>; #address-cells = <1>; #size-cells = <0>; /* cape_eeprom0: cape_eeprom0@54 { compatible = "at,24c256"; reg = <0x54>; };*/ }; }; }; Thank you for your help! Ricky -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/3fb461e9-d232-4aa4-8c9b-be19402065bd%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.