* [Buildroot] [dtc] Compiling a .dts overlay
@ 2016-05-06 12:17 Oscar Gomez Fuente
2016-05-06 21:08 ` Peter Seiderer
2016-05-06 21:20 ` Nicholas Walton
0 siblings, 2 replies; 9+ messages in thread
From: Oscar Gomez Fuente @ 2016-05-06 12:17 UTC (permalink / raw)
To: buildroot
Hi,
I'm working with the latest stable release: 2016.02 and with the raspberry
pi 3B.
I'm trying to compile my own .dtb overlay, because I need to add the IO
Expander i2c TCA6424A to my HW. And I would like to know how to do this
using overlays and device tree.
But I've got this error when I tried to compile de .dts file:
# dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts
Error: tca6424a-overlay.dts:3.2-8 syntax error
FATAL ERROR: Unable to parse input tree
# dtc -v
Version: DTC 1.4.1-g8ead5b66
#
This is the .dts file:
----------
// Definitions for TCA6424A IO Extender from Texas Instruments
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
fragment at 0 {
target = <&i2c1>;
__overlay__ {
status = "okay";
};
};
fragment at 1 {
target = <&gpio>;
__overlay__ {
tca6424_pins: tca6424_pins {
brcm,pins = <4>;
brcm,function = <0>;
};
};
};
fragment at 2 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
tca6424 at 22 {
compatible = "ti,tca6424";
reg = <0x22>;
pinctrl-names = "default";
pinctrl-0 = <&tca6424_pins>;
interrupt-parent = <&gpio4>;
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
};
};
};
};
-----------
Anyone could help me how to do this?
Best regards.
Oscar Gomez Fuente.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160506/c24b270d/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-06 12:17 [Buildroot] [dtc] Compiling a .dts overlay Oscar Gomez Fuente @ 2016-05-06 21:08 ` Peter Seiderer 2016-05-06 21:20 ` Nicholas Walton 1 sibling, 0 replies; 9+ messages in thread From: Peter Seiderer @ 2016-05-06 21:08 UTC (permalink / raw) To: buildroot Hello Oscar, On Fri, 6 May 2016 14:17:32 +0200, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > Hi, > > I'm working with the latest stable release: 2016.02 and with the raspberry > pi 3B. > > I'm trying to compile my own .dtb overlay, because I need to add the IO > Expander i2c TCA6424A to my HW. And I would like to know how to do this > using overlays and device tree. > > But I've got this error when I tried to compile de .dts file: > > # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts > Error: tca6424a-overlay.dts:3.2-8 syntax error > FATAL ERROR: Unable to parse input tree > # dtc -v > Version: DTC 1.4.1-g8ead5b66 > # > You need to use a overlay enhanced dtc e.g. the one provided with the Raspberry Pi linux kernel: ./build/linux-9118192d7357b0942885c2c8baf65d5501c12913/scripts/dtc/dtc --version Version: DTC 1.4.1-g25efc119 ./build/linux-9118192d7357b0942885c2c8baf65d5501c12913/scripts/dtc/dtc -@ -I dts -O dtb -o -o tca6424a-overlay.dtb tca6424a-overlay.dts Not sure if the '-@' is still needed. Only one change needed for your example, see below... > This is the .dts file: > ---------- > // Definitions for TCA6424A IO Extender from Texas Instruments > /dts-v1/; > /plugin/; > / { > compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > > fragment at 0 { > target = <&i2c1>; > __overlay__ { > status = "okay"; > }; > }; > > fragment at 1 { > target = <&gpio>; > __overlay__ { > tca6424_pins: tca6424_pins { > brcm,pins = <4>; > brcm,function = <0>; > }; > }; > }; > > fragment at 2 { > target = <&i2c1>; > __overlay__ { > #address-cells = <1>; > #size-cells = <0>; > tca6424 at 22 { > compatible = "ti,tca6424"; > reg = <0x22>; > pinctrl-names = "default"; > pinctrl-0 = <&tca6424_pins>; > interrupt-parent = <&gpio4>; > interrupts = <23 IRQ_TYPE_LEVEL_LOW>; Changed to: interrupts = <23 2>; Seems no constants supported (or missing include) and '2' was just some guess... Regards, Peter > }; > > }; > }; > }; > ----------- > > Anyone could help me how to do this? > > Best regards. > > Oscar Gomez Fuente. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-06 12:17 [Buildroot] [dtc] Compiling a .dts overlay Oscar Gomez Fuente 2016-05-06 21:08 ` Peter Seiderer @ 2016-05-06 21:20 ` Nicholas Walton 2016-05-09 6:37 ` Oscar Gomez Fuente 1 sibling, 1 reply; 9+ messages in thread From: Nicholas Walton @ 2016-05-06 21:20 UTC (permalink / raw) To: buildroot Plugin overlays are not part of mainline dtc. Try https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions at https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay . On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > Hi, > > I'm working with the latest stable release: 2016.02 and with the raspberry > pi 3B. > > I'm trying to compile my own .dtb overlay, because I need to add the IO > Expander i2c TCA6424A to my HW. And I would like to know how to do this > using overlays and device tree. > > But I've got this error when I tried to compile de .dts file: > > # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts > Error: tca6424a-overlay.dts:3.2-8 syntax error > FATAL ERROR: Unable to parse input tree > # dtc -v > Version: DTC 1.4.1-g8ead5b66 > # > > This is the .dts file: > ---------- > // Definitions for TCA6424A IO Extender from Texas Instruments > /dts-v1/; > /plugin/; > / { > compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > > fragment at 0 { > target = <&i2c1>; > __overlay__ { > status = "okay"; > }; > }; > > fragment at 1 { > target = <&gpio>; > __overlay__ { > tca6424_pins: tca6424_pins { > brcm,pins = <4>; > brcm,function = <0>; > }; > }; > }; > > fragment at 2 { > target = <&i2c1>; > __overlay__ { > #address-cells = <1>; > #size-cells = <0>; > tca6424 at 22 { > compatible = "ti,tca6424"; > reg = <0x22>; > pinctrl-names = "default"; > pinctrl-0 = <&tca6424_pins>; > interrupt-parent = <&gpio4>; > interrupts = <23 IRQ_TYPE_LEVEL_LOW>; > }; > > }; > }; > }; > ----------- > > Anyone could help me how to do this? > > Best regards. > > Oscar Gomez Fuente. > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160506/2456c74d/attachment.html> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-06 21:20 ` Nicholas Walton @ 2016-05-09 6:37 ` Oscar Gomez Fuente 2016-05-09 9:57 ` Oscar Gomez Fuente 2016-05-09 20:36 ` Peter Seiderer 0 siblings, 2 replies; 9+ messages in thread From: Oscar Gomez Fuente @ 2016-05-09 6:37 UTC (permalink / raw) To: buildroot Hi, I've tried what told me Peter Seiderer, and it compiled fine: "using interrupts = <23 2>;". Now I'm going to check if the .dtb file works fine. Thank you very much. Best regards. Oscar Gomez Fuente On 6 May 2016 at 23:20, Nicholas Walton <nicholas.walton@gmail.com> wrote: > Plugin overlays are not part of mainline dtc. Try > https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions at > https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay > . > > On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente <oscargomezf@gmail.com> > wrote: > >> Hi, >> >> I'm working with the latest stable release: 2016.02 and with the >> raspberry pi 3B. >> >> I'm trying to compile my own .dtb overlay, because I need to add the IO >> Expander i2c TCA6424A to my HW. And I would like to know how to do this >> using overlays and device tree. >> >> But I've got this error when I tried to compile de .dts file: >> >> # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts >> Error: tca6424a-overlay.dts:3.2-8 syntax error >> FATAL ERROR: Unable to parse input tree >> # dtc -v >> Version: DTC 1.4.1-g8ead5b66 >> # >> >> This is the .dts file: >> ---------- >> // Definitions for TCA6424A IO Extender from Texas Instruments >> /dts-v1/; >> /plugin/; >> / { >> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; >> >> fragment at 0 { >> target = <&i2c1>; >> __overlay__ { >> status = "okay"; >> }; >> }; >> >> fragment at 1 { >> target = <&gpio>; >> __overlay__ { >> tca6424_pins: tca6424_pins { >> brcm,pins = <4>; >> brcm,function = <0>; >> }; >> }; >> }; >> >> fragment at 2 { >> target = <&i2c1>; >> __overlay__ { >> #address-cells = <1>; >> #size-cells = <0>; >> tca6424 at 22 { >> compatible = "ti,tca6424"; >> reg = <0x22>; >> pinctrl-names = "default"; >> pinctrl-0 = <&tca6424_pins>; >> interrupt-parent = <&gpio4>; >> interrupts = <23 IRQ_TYPE_LEVEL_LOW>; >> }; >> >> }; >> }; >> }; >> ----------- >> >> Anyone could help me how to do this? >> >> Best regards. >> >> Oscar Gomez Fuente. >> >> _______________________________________________ >> buildroot mailing list >> buildroot at busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160509/f64a8568/attachment.html> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-09 6:37 ` Oscar Gomez Fuente @ 2016-05-09 9:57 ` Oscar Gomez Fuente 2016-05-09 20:46 ` Peter Seiderer 2016-05-09 20:36 ` Peter Seiderer 1 sibling, 1 reply; 9+ messages in thread From: Oscar Gomez Fuente @ 2016-05-09 9:57 UTC (permalink / raw) To: buildroot Hi everyone, The dtb overlay loaded fine. I've checked this with the command: vcdbg log msg ... 001402.187: Loading 'bcm2710-rpi-3-b.dtb' from SD card 001468.661: dtparam: uart0_clkrate=48000000 001488.609: Loaded overlay 'pi3-disable-bt' 001523.385: Loaded overlay 'tca6424a' ... Now I can see the device: /sys/call/gpiochip488 I can access to the 24 pins of my TCA6424A IC [488 to 511] # echo 488 > /sys/class/gpio/export # echo "out" > /sys/class/gpio/gpio488/direction # echo 1 > /sys/class/gpio/gpio488/value But I couldn't see the interrupt in /proc/interrupts: # cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 16: 0 0 0 0 ARMCTRL 16 Edge bcm2708_fb dma 20: 0 0 0 0 ARMCTRL 20 Edge DMA IRQ 21: 0 0 0 0 ARMCTRL 21 Edge DMA IRQ 24: 0 0 0 0 ARMCTRL 24 Edge DMA IRQ 32: 424138 0 0 0 ARMCTRL 32 Edge dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1 49: 0 0 0 0 ARMCTRL 49 Edge 3f200000.gpio:bank0 50: 0 0 0 0 ARMCTRL 50 Edge 3f200000.gpio:bank1 65: 14 0 0 0 ARMCTRL 65 Edge 3f00b880.mailbox 66: 2 0 0 0 ARMCTRL 66 Edge VCHIQ doorbell 75: 1 0 0 0 ARMCTRL 75 Edge 77: 554 0 0 0 ARMCTRL 77 Edge DMA IRQ 79: 6148 0 0 0 ARMCTRL 79 Edge 3f804000.i2c 80: 0 0 0 0 ARMCTRL 80 Edge 3f204000.spi 82: 136 0 0 0 ARMCTRL 82 Edge mmc0 83: 10895 0 0 0 ARMCTRL 83 Edge uart-pl011 84: 9475 0 0 0 ARMCTRL 84 Edge mmc1 96: 0 0 0 0 ARMCTRL 96 Edge arch_timer 97: 10595 8874 3133 458 ARMCTRL 97 Edge arch_timer ... According to my .dts file, I've configured the pin GPIO04 as an input [interrupt]. I think I had to see an interrupt related to tca6424a, didn't I? but it didn't appear. I've read the kernel log and I've seen this suspicious message: # dmesg .. [ 3.633230] pca953x 1-0022: interrupt support not compiled in .. So I was surfing on the internet and It seems to be you have to select in the kernel the option: Device Drivers > GPIO Support > I2C GPIO expanders > [*] GPIO_PCA953X_IRQ But If you want to select this option you can't select the driver: PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports like a module. (I don't have any idea why?) Eventually, everything works fine. So this is my final tca6424a-overlay.dts [i2c1 and INT pin connected to GPI04] working fine on my raspberry pi 3B. --- // Definitions for TCA6424A IO Expander from Texas Instruments /dts-v1/; /plugin/; / { compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; fragment at 0 { target = <&i2c1>; __overlay__ { status = "okay"; }; }; fragment at 1 { target = <&gpio>; __overlay__ { tca6424_pins: tca6424_pins { brcm,pins = <4>; brcm,function = <0>; }; }; }; fragment at 2 { target = <&i2c1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; tca6424 at 22 { compatible = "ti,tca6424"; reg = <0x22>; pinctrl-names = "default"; pinctrl-0 = <&tca6424_pins>; interrupt-parent = <&gpio>; interrupts = <4 2>; }; }; }; }; --- I would like to place this overlay dts file in https://github.com/raspberrypi/linux.git/arch/arm/boot/dts/overlays Does anyone know how to apply for uploading this overlay dts file, to the person in charge of https://github.com/raspberrypi/linux? Best regards. On 9 May 2016 at 08:37, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > Hi, > > > I've tried what told me Peter Seiderer, and it compiled fine: "using > interrupts = <23 2>;". Now I'm going to check if the .dtb file works fine. > > Thank you very much. > > Best regards. > > Oscar Gomez Fuente > > On 6 May 2016 at 23:20, Nicholas Walton <nicholas.walton@gmail.com> wrote: > >> Plugin overlays are not part of mainline dtc. Try >> https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions at >> https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay >> . >> >> On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente <oscargomezf@gmail.com >> > wrote: >> >>> Hi, >>> >>> I'm working with the latest stable release: 2016.02 and with the >>> raspberry pi 3B. >>> >>> I'm trying to compile my own .dtb overlay, because I need to add the IO >>> Expander i2c TCA6424A to my HW. And I would like to know how to do this >>> using overlays and device tree. >>> >>> But I've got this error when I tried to compile de .dts file: >>> >>> # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts >>> Error: tca6424a-overlay.dts:3.2-8 syntax error >>> FATAL ERROR: Unable to parse input tree >>> # dtc -v >>> Version: DTC 1.4.1-g8ead5b66 >>> # >>> >>> This is the .dts file: >>> ---------- >>> // Definitions for TCA6424A IO Extender from Texas Instruments >>> /dts-v1/; >>> /plugin/; >>> / { >>> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; >>> >>> fragment at 0 { >>> target = <&i2c1>; >>> __overlay__ { >>> status = "okay"; >>> }; >>> }; >>> >>> fragment at 1 { >>> target = <&gpio>; >>> __overlay__ { >>> tca6424_pins: tca6424_pins { >>> brcm,pins = <4>; >>> brcm,function = <0>; >>> }; >>> }; >>> }; >>> >>> fragment at 2 { >>> target = <&i2c1>; >>> __overlay__ { >>> #address-cells = <1>; >>> #size-cells = <0>; >>> tca6424 at 22 { >>> compatible = "ti,tca6424"; >>> reg = <0x22>; >>> pinctrl-names = "default"; >>> pinctrl-0 = <&tca6424_pins>; >>> interrupt-parent = <&gpio4>; >>> interrupts = <23 IRQ_TYPE_LEVEL_LOW>; >>> }; >>> >>> }; >>> }; >>> }; >>> ----------- >>> >>> Anyone could help me how to do this? >>> >>> Best regards. >>> >>> Oscar Gomez Fuente. >>> >>> _______________________________________________ >>> buildroot mailing list >>> buildroot at busybox.net >>> http://lists.busybox.net/mailman/listinfo/buildroot >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160509/a88a5d7a/attachment.html> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-09 9:57 ` Oscar Gomez Fuente @ 2016-05-09 20:46 ` Peter Seiderer 2016-05-10 7:48 ` Oscar Gomez Fuente 0 siblings, 1 reply; 9+ messages in thread From: Peter Seiderer @ 2016-05-09 20:46 UTC (permalink / raw) To: buildroot Hello Oscar, On Mon, 9 May 2016 11:57:02 +0200, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > Hi everyone, > > The dtb overlay loaded fine. I've checked this with the command: vcdbg log > msg > ... > 001402.187: Loading 'bcm2710-rpi-3-b.dtb' from SD card > 001468.661: dtparam: uart0_clkrate=48000000 > 001488.609: Loaded overlay 'pi3-disable-bt' > 001523.385: Loaded overlay 'tca6424a' > ... > > Now I can see the device: /sys/call/gpiochip488 > > I can access to the 24 pins of my TCA6424A IC [488 to 511] > > # echo 488 > /sys/class/gpio/export > # echo "out" > /sys/class/gpio/gpio488/direction > # echo 1 > /sys/class/gpio/gpio488/value > > But I couldn't see the interrupt in /proc/interrupts: > > # cat /proc/interrupts > CPU0 CPU1 CPU2 CPU3 > 16: 0 0 0 0 ARMCTRL 16 Edge > bcm2708_fb dma > 20: 0 0 0 0 ARMCTRL 20 Edge > DMA IRQ > 21: 0 0 0 0 ARMCTRL 21 Edge > DMA IRQ > 24: 0 0 0 0 ARMCTRL 24 Edge > DMA IRQ > 32: 424138 0 0 0 ARMCTRL 32 Edge > dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1 > 49: 0 0 0 0 ARMCTRL 49 Edge > 3f200000.gpio:bank0 > 50: 0 0 0 0 ARMCTRL 50 Edge > 3f200000.gpio:bank1 > 65: 14 0 0 0 ARMCTRL 65 Edge > 3f00b880.mailbox > 66: 2 0 0 0 ARMCTRL 66 Edge > VCHIQ doorbell > 75: 1 0 0 0 ARMCTRL 75 Edge > 77: 554 0 0 0 ARMCTRL 77 Edge > DMA IRQ > 79: 6148 0 0 0 ARMCTRL 79 Edge > 3f804000.i2c > 80: 0 0 0 0 ARMCTRL 80 Edge > 3f204000.spi > 82: 136 0 0 0 ARMCTRL 82 Edge > mmc0 > 83: 10895 0 0 0 ARMCTRL 83 Edge > uart-pl011 > 84: 9475 0 0 0 ARMCTRL 84 Edge > mmc1 > 96: 0 0 0 0 ARMCTRL 96 Edge > arch_timer > 97: 10595 8874 3133 458 ARMCTRL 97 Edge > arch_timer > ... > > According to my .dts file, I've configured the pin GPIO04 as an input > [interrupt]. I think I had to see an interrupt related to tca6424a, didn't > I? but it didn't appear. I've read the kernel log and I've seen this > suspicious message: > > # dmesg > .. > [ 3.633230] pca953x 1-0022: interrupt support not compiled in > .. > > So I was surfing on the internet and It seems to be you have to select in > the kernel the option: > > Device Drivers > GPIO Support > I2C GPIO expanders > [*] GPIO_PCA953X_IRQ > > But If you want to select this option you can't select the driver: > PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports like a module. (I > don't have any idea why?) > > Eventually, everything works fine. > > > So this is my final tca6424a-overlay.dts [i2c1 and INT pin connected to > GPI04] working fine on my raspberry pi 3B. > > --- > // Definitions for TCA6424A IO Expander from Texas Instruments > /dts-v1/; > /plugin/; > / { > compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > > fragment at 0 { > target = <&i2c1>; > __overlay__ { > status = "okay"; > }; > }; > > fragment at 1 { > target = <&gpio>; > __overlay__ { > tca6424_pins: tca6424_pins { > brcm,pins = <4>; > brcm,function = <0>; > }; > }; > }; > > fragment at 2 { > target = <&i2c1>; > __overlay__ { > #address-cells = <1>; > #size-cells = <0>; > tca6424 at 22 { > compatible = "ti,tca6424"; > reg = <0x22>; > pinctrl-names = "default"; > pinctrl-0 = <&tca6424_pins>; > interrupt-parent = <&gpio>; > interrupts = <4 2>; > }; > > }; > }; > }; > --- > > I would like to place this overlay dts file in > https://github.com/raspberrypi/linux.git/arch/arm/boot/dts/overlays > > Does anyone know how to apply for uploading this overlay dts file, to the > person in charge of https://github.com/raspberrypi/linux? > > Try to announce it somewhere on RPi forum [1] or create a git(hub) pull request against https://github.com/raspberrypi/linux? But I think chances are higher for a widely available ready to use devices/add-on-boards than for individual solutions... Regards, Peter [1] https://www.raspberrypi.org/forum > Best regards. > > On 9 May 2016 at 08:37, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > > > Hi, > > > > > > I've tried what told me Peter Seiderer, and it compiled fine: "using > > interrupts = <23 2>;". Now I'm going to check if the .dtb file works fine. > > > > Thank you very much. > > > > Best regards. > > > > Oscar Gomez Fuente > > > > On 6 May 2016 at 23:20, Nicholas Walton <nicholas.walton@gmail.com> wrote: > > > >> Plugin overlays are not part of mainline dtc. Try > >> https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions at > >> https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay > >> . > >> > >> On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente <oscargomezf@gmail.com > >> > wrote: > >> > >>> Hi, > >>> > >>> I'm working with the latest stable release: 2016.02 and with the > >>> raspberry pi 3B. > >>> > >>> I'm trying to compile my own .dtb overlay, because I need to add the IO > >>> Expander i2c TCA6424A to my HW. And I would like to know how to do this > >>> using overlays and device tree. > >>> > >>> But I've got this error when I tried to compile de .dts file: > >>> > >>> # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts > >>> Error: tca6424a-overlay.dts:3.2-8 syntax error > >>> FATAL ERROR: Unable to parse input tree > >>> # dtc -v > >>> Version: DTC 1.4.1-g8ead5b66 > >>> # > >>> > >>> This is the .dts file: > >>> ---------- > >>> // Definitions for TCA6424A IO Extender from Texas Instruments > >>> /dts-v1/; > >>> /plugin/; > >>> / { > >>> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > >>> > >>> fragment at 0 { > >>> target = <&i2c1>; > >>> __overlay__ { > >>> status = "okay"; > >>> }; > >>> }; > >>> > >>> fragment at 1 { > >>> target = <&gpio>; > >>> __overlay__ { > >>> tca6424_pins: tca6424_pins { > >>> brcm,pins = <4>; > >>> brcm,function = <0>; > >>> }; > >>> }; > >>> }; > >>> > >>> fragment at 2 { > >>> target = <&i2c1>; > >>> __overlay__ { > >>> #address-cells = <1>; > >>> #size-cells = <0>; > >>> tca6424 at 22 { > >>> compatible = "ti,tca6424"; > >>> reg = <0x22>; > >>> pinctrl-names = "default"; > >>> pinctrl-0 = <&tca6424_pins>; > >>> interrupt-parent = <&gpio4>; > >>> interrupts = <23 IRQ_TYPE_LEVEL_LOW>; > >>> }; > >>> > >>> }; > >>> }; > >>> }; > >>> ----------- > >>> > >>> Anyone could help me how to do this? > >>> > >>> Best regards. > >>> > >>> Oscar Gomez Fuente. > >>> > >>> _______________________________________________ > >>> buildroot mailing list > >>> buildroot at busybox.net > >>> http://lists.busybox.net/mailman/listinfo/buildroot > >>> > >> > >> > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-09 20:46 ` Peter Seiderer @ 2016-05-10 7:48 ` Oscar Gomez Fuente 2016-05-10 11:09 ` Oscar Gomez Fuente 0 siblings, 1 reply; 9+ messages in thread From: Oscar Gomez Fuente @ 2016-05-10 7:48 UTC (permalink / raw) To: buildroot Ok Peter, Thank you very much. I've got another concern. I've realized that sometimes the i2c device tca6424a doesn't init correctly and I see these messages in the kernel log : [ 3.638369] pca953x 1-0022: failed reading register [ 3.644342] pca953x: probe of 1-0022 failed with error - I think I can solve this If I use correctly the reset signal of the tca6424a. Right now I don't use this signal, It's connected to a pull-up resistor. Is there anyway to manage this type of reset signals in i2c devices? I was surfing on the internet and I read this patch for the gpio-pca953x driver. http://www.spinics.net/lists/arm-kernel/msg351168.html I've applied this patch and know I can see the resetsignal falling and rising, but now the i2c device always fails in the init. But this patch isn't committed on linux kernel, so I think it isn't the way to do this. Does anyone have any suggestion how to manage this type of signal? Best regards. Oscar Gomez Fuente. On 9 May 2016 at 22:46, Peter Seiderer <ps.report@gmx.net> wrote: > Hello Oscar, > > On Mon, 9 May 2016 11:57:02 +0200, Oscar Gomez Fuente < > oscargomezf at gmail.com> wrote: > > > Hi everyone, > > > > The dtb overlay loaded fine. I've checked this with the command: vcdbg > log > > msg > > ... > > 001402.187: Loading 'bcm2710-rpi-3-b.dtb' from SD card > > 001468.661: dtparam: uart0_clkrate=48000000 > > 001488.609: Loaded overlay 'pi3-disable-bt' > > 001523.385: Loaded overlay 'tca6424a' > > ... > > > > Now I can see the device: /sys/call/gpiochip488 > > > > I can access to the 24 pins of my TCA6424A IC [488 to 511] > > > > # echo 488 > /sys/class/gpio/export > > # echo "out" > /sys/class/gpio/gpio488/direction > > # echo 1 > /sys/class/gpio/gpio488/value > > > > But I couldn't see the interrupt in /proc/interrupts: > > > > # cat /proc/interrupts > > CPU0 CPU1 CPU2 CPU3 > > 16: 0 0 0 0 ARMCTRL 16 Edge > > bcm2708_fb dma > > 20: 0 0 0 0 ARMCTRL 20 Edge > > DMA IRQ > > 21: 0 0 0 0 ARMCTRL 21 Edge > > DMA IRQ > > 24: 0 0 0 0 ARMCTRL 24 Edge > > DMA IRQ > > 32: 424138 0 0 0 ARMCTRL 32 Edge > > dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1 > > 49: 0 0 0 0 ARMCTRL 49 Edge > > 3f200000.gpio:bank0 > > 50: 0 0 0 0 ARMCTRL 50 Edge > > 3f200000.gpio:bank1 > > 65: 14 0 0 0 ARMCTRL 65 Edge > > 3f00b880.mailbox > > 66: 2 0 0 0 ARMCTRL 66 Edge > > VCHIQ doorbell > > 75: 1 0 0 0 ARMCTRL 75 Edge > > 77: 554 0 0 0 ARMCTRL 77 Edge > > DMA IRQ > > 79: 6148 0 0 0 ARMCTRL 79 Edge > > 3f804000.i2c > > 80: 0 0 0 0 ARMCTRL 80 Edge > > 3f204000.spi > > 82: 136 0 0 0 ARMCTRL 82 Edge > > mmc0 > > 83: 10895 0 0 0 ARMCTRL 83 Edge > > uart-pl011 > > 84: 9475 0 0 0 ARMCTRL 84 Edge > > mmc1 > > 96: 0 0 0 0 ARMCTRL 96 Edge > > arch_timer > > 97: 10595 8874 3133 458 ARMCTRL 97 Edge > > arch_timer > > ... > > > > According to my .dts file, I've configured the pin GPIO04 as an input > > [interrupt]. I think I had to see an interrupt related to tca6424a, > didn't > > I? but it didn't appear. I've read the kernel log and I've seen this > > suspicious message: > > > > # dmesg > > .. > > [ 3.633230] pca953x 1-0022: interrupt support not compiled in > > .. > > > > So I was surfing on the internet and It seems to be you have to select in > > the kernel the option: > > > > Device Drivers > GPIO Support > I2C GPIO expanders > [*] GPIO_PCA953X_IRQ > > > > But If you want to select this option you can't select the driver: > > PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports like a module. (I > > don't have any idea why?) > > > > Eventually, everything works fine. > > > > > > So this is my final tca6424a-overlay.dts [i2c1 and INT pin connected to > > GPI04] working fine on my raspberry pi 3B. > > > > --- > > // Definitions for TCA6424A IO Expander from Texas Instruments > > /dts-v1/; > > /plugin/; > > / { > > compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > > > > fragment at 0 { > > target = <&i2c1>; > > __overlay__ { > > status = "okay"; > > }; > > }; > > > > fragment at 1 { > > target = <&gpio>; > > __overlay__ { > > tca6424_pins: tca6424_pins { > > brcm,pins = <4>; > > brcm,function = <0>; > > }; > > }; > > }; > > > > fragment at 2 { > > target = <&i2c1>; > > __overlay__ { > > #address-cells = <1>; > > #size-cells = <0>; > > tca6424 at 22 { > > compatible = "ti,tca6424"; > > reg = <0x22>; > > pinctrl-names = "default"; > > pinctrl-0 = <&tca6424_pins>; > > interrupt-parent = <&gpio>; > > interrupts = <4 2>; > > }; > > > > }; > > }; > > }; > > --- > > > > I would like to place this overlay dts file in > > https://github.com/raspberrypi/linux.git/arch/arm/boot/dts/overlays > > > > Does anyone know how to apply for uploading this overlay dts file, to the > > person in charge of https://github.com/raspberrypi/linux? > > > > > > Try to announce it somewhere on RPi forum [1] or create a git(hub) pull > request against https://github.com/raspberrypi/linux? > > But I think chances are higher for a widely available ready to use > devices/add-on-boards than for individual solutions... > > Regards, > Peter > > [1] https://www.raspberrypi.org/forum > > > Best regards. > > > > On 9 May 2016 at 08:37, Oscar Gomez Fuente <oscargomezf@gmail.com> > wrote: > > > > > Hi, > > > > > > > > > I've tried what told me Peter Seiderer, and it compiled fine: "using > > > interrupts = <23 2>;". Now I'm going to check if the .dtb file works > fine. > > > > > > Thank you very much. > > > > > > Best regards. > > > > > > Oscar Gomez Fuente > > > > > > On 6 May 2016 at 23:20, Nicholas Walton <nicholas.walton@gmail.com> > wrote: > > > > > >> Plugin overlays are not part of mainline dtc. Try > > >> https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions at > > >> > https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay > > >> . > > >> > > >> On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente < > oscargomezf at gmail.com > > >> > wrote: > > >> > > >>> Hi, > > >>> > > >>> I'm working with the latest stable release: 2016.02 and with the > > >>> raspberry pi 3B. > > >>> > > >>> I'm trying to compile my own .dtb overlay, because I need to add the > IO > > >>> Expander i2c TCA6424A to my HW. And I would like to know how to do > this > > >>> using overlays and device tree. > > >>> > > >>> But I've got this error when I tried to compile de .dts file: > > >>> > > >>> # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts > > >>> Error: tca6424a-overlay.dts:3.2-8 syntax error > > >>> FATAL ERROR: Unable to parse input tree > > >>> # dtc -v > > >>> Version: DTC 1.4.1-g8ead5b66 > > >>> # > > >>> > > >>> This is the .dts file: > > >>> ---------- > > >>> // Definitions for TCA6424A IO Extender from Texas Instruments > > >>> /dts-v1/; > > >>> /plugin/; > > >>> / { > > >>> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > > >>> > > >>> fragment at 0 { > > >>> target = <&i2c1>; > > >>> __overlay__ { > > >>> status = "okay"; > > >>> }; > > >>> }; > > >>> > > >>> fragment at 1 { > > >>> target = <&gpio>; > > >>> __overlay__ { > > >>> tca6424_pins: tca6424_pins { > > >>> brcm,pins = <4>; > > >>> brcm,function = <0>; > > >>> }; > > >>> }; > > >>> }; > > >>> > > >>> fragment at 2 { > > >>> target = <&i2c1>; > > >>> __overlay__ { > > >>> #address-cells = <1>; > > >>> #size-cells = <0>; > > >>> tca6424 at 22 { > > >>> compatible = "ti,tca6424"; > > >>> reg = <0x22>; > > >>> pinctrl-names = "default"; > > >>> pinctrl-0 = <&tca6424_pins>; > > >>> interrupt-parent = <&gpio4>; > > >>> interrupts = <23 IRQ_TYPE_LEVEL_LOW>; > > >>> }; > > >>> > > >>> }; > > >>> }; > > >>> }; > > >>> ----------- > > >>> > > >>> Anyone could help me how to do this? > > >>> > > >>> Best regards. > > >>> > > >>> Oscar Gomez Fuente. > > >>> > > >>> _______________________________________________ > > >>> buildroot mailing list > > >>> buildroot at busybox.net > > >>> http://lists.busybox.net/mailman/listinfo/buildroot > > >>> > > >> > > >> > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160510/56e7d1a5/attachment.html> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-10 7:48 ` Oscar Gomez Fuente @ 2016-05-10 11:09 ` Oscar Gomez Fuente 0 siblings, 0 replies; 9+ messages in thread From: Oscar Gomez Fuente @ 2016-05-10 11:09 UTC (permalink / raw) To: buildroot Hi everyone, I was reviewing the code of the patch: http://www.spinics.net/lists/ arm-kernel/msg351168.html And the problem is I have to configure in the overlay file: tca6424a-overlay.dtb the reset gpio -> GPIO_ACTIVE_HIGH instead of GPIO_ACTIVE_LOW ... tca6424 at 22 { compatible = "ti,tca6424"; reg = <0x22>; pinctrl-names = "default"; pinctrl-0 = <&tca6424a_pins>; interrupt-parent = <&gpio>; interrupts = <4 2>; //IRQ_TYPE_EDGE_FALLING reset-gpios = <&gpio 17 0>; //GPIO_ACTIVE_HIGH }; }; }; }; Because when the gpio is configured as an output by default is set to low, and then is set to high + gpiod_direction_output(reset, 0); + udelay(100); + gpiod_set_value(reset, 1); + udelay(100); So I get in the reset line: 1111111111111____0000000(100usec)____111111111111111111111111 So my problem is solved. Best regards. Oscar Gomez Fuente. On 10 May 2016 at 09:48, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > Ok Peter, > > Thank you very much. > > I've got another concern. I've realized that sometimes the i2c device > tca6424a doesn't init correctly and I see these messages in the kernel log : > > [ 3.638369] pca953x 1-0022: failed reading register > [ 3.644342] pca953x: probe of 1-0022 failed with error - > > I think I can solve this If I use correctly the reset signal of the > tca6424a. Right now I don't use this signal, It's connected to a pull-up > resistor. Is there anyway to manage this type of reset signals in i2c > devices? I was surfing on the internet and I read this patch for the > gpio-pca953x driver. > > http://www.spinics.net/lists/arm-kernel/msg351168.html > > I've applied this patch and know I can see the resetsignal falling and > rising, but now the i2c device always fails in the init. But this patch > isn't committed on linux kernel, so I think it isn't the way to do this. > > Does anyone have any suggestion how to manage this type of signal? > > > Best regards. > > Oscar Gomez Fuente. > > > On 9 May 2016 at 22:46, Peter Seiderer <ps.report@gmx.net> wrote: > >> Hello Oscar, >> >> On Mon, 9 May 2016 11:57:02 +0200, Oscar Gomez Fuente < >> oscargomezf at gmail.com> wrote: >> >> > Hi everyone, >> > >> > The dtb overlay loaded fine. I've checked this with the command: vcdbg >> log >> > msg >> > ... >> > 001402.187: Loading 'bcm2710-rpi-3-b.dtb' from SD card >> > 001468.661: dtparam: uart0_clkrate=48000000 >> > 001488.609: Loaded overlay 'pi3-disable-bt' >> > 001523.385: Loaded overlay 'tca6424a' >> > ... >> > >> > Now I can see the device: /sys/call/gpiochip488 >> > >> > I can access to the 24 pins of my TCA6424A IC [488 to 511] >> > >> > # echo 488 > /sys/class/gpio/export >> > # echo "out" > /sys/class/gpio/gpio488/direction >> > # echo 1 > /sys/class/gpio/gpio488/value >> > >> > But I couldn't see the interrupt in /proc/interrupts: >> > >> > # cat /proc/interrupts >> > CPU0 CPU1 CPU2 CPU3 >> > 16: 0 0 0 0 ARMCTRL 16 Edge >> > bcm2708_fb dma >> > 20: 0 0 0 0 ARMCTRL 20 Edge >> > DMA IRQ >> > 21: 0 0 0 0 ARMCTRL 21 Edge >> > DMA IRQ >> > 24: 0 0 0 0 ARMCTRL 24 Edge >> > DMA IRQ >> > 32: 424138 0 0 0 ARMCTRL 32 Edge >> > dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1 >> > 49: 0 0 0 0 ARMCTRL 49 Edge >> > 3f200000.gpio:bank0 >> > 50: 0 0 0 0 ARMCTRL 50 Edge >> > 3f200000.gpio:bank1 >> > 65: 14 0 0 0 ARMCTRL 65 Edge >> > 3f00b880.mailbox >> > 66: 2 0 0 0 ARMCTRL 66 Edge >> > VCHIQ doorbell >> > 75: 1 0 0 0 ARMCTRL 75 Edge >> > 77: 554 0 0 0 ARMCTRL 77 Edge >> > DMA IRQ >> > 79: 6148 0 0 0 ARMCTRL 79 Edge >> > 3f804000.i2c >> > 80: 0 0 0 0 ARMCTRL 80 Edge >> > 3f204000.spi >> > 82: 136 0 0 0 ARMCTRL 82 Edge >> > mmc0 >> > 83: 10895 0 0 0 ARMCTRL 83 Edge >> > uart-pl011 >> > 84: 9475 0 0 0 ARMCTRL 84 Edge >> > mmc1 >> > 96: 0 0 0 0 ARMCTRL 96 Edge >> > arch_timer >> > 97: 10595 8874 3133 458 ARMCTRL 97 Edge >> > arch_timer >> > ... >> > >> > According to my .dts file, I've configured the pin GPIO04 as an input >> > [interrupt]. I think I had to see an interrupt related to tca6424a, >> didn't >> > I? but it didn't appear. I've read the kernel log and I've seen this >> > suspicious message: >> > >> > # dmesg >> > .. >> > [ 3.633230] pca953x 1-0022: interrupt support not compiled in >> > .. >> > >> > So I was surfing on the internet and It seems to be you have to select >> in >> > the kernel the option: >> > >> > Device Drivers > GPIO Support > I2C GPIO expanders > [*] >> GPIO_PCA953X_IRQ >> > >> > But If you want to select this option you can't select the driver: >> > PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports like a module. (I >> > don't have any idea why?) >> > >> > Eventually, everything works fine. >> > >> > >> > So this is my final tca6424a-overlay.dts [i2c1 and INT pin connected to >> > GPI04] working fine on my raspberry pi 3B. >> > >> > --- >> > // Definitions for TCA6424A IO Expander from Texas Instruments >> > /dts-v1/; >> > /plugin/; >> > / { >> > compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; >> > >> > fragment at 0 { >> > target = <&i2c1>; >> > __overlay__ { >> > status = "okay"; >> > }; >> > }; >> > >> > fragment at 1 { >> > target = <&gpio>; >> > __overlay__ { >> > tca6424_pins: tca6424_pins { >> > brcm,pins = <4>; >> > brcm,function = <0>; >> > }; >> > }; >> > }; >> > >> > fragment at 2 { >> > target = <&i2c1>; >> > __overlay__ { >> > #address-cells = <1>; >> > #size-cells = <0>; >> > tca6424 at 22 { >> > compatible = "ti,tca6424"; >> > reg = <0x22>; >> > pinctrl-names = "default"; >> > pinctrl-0 = <&tca6424_pins>; >> > interrupt-parent = <&gpio>; >> > interrupts = <4 2>; >> > }; >> > >> > }; >> > }; >> > }; >> > --- >> > >> > I would like to place this overlay dts file in >> > https://github.com/raspberrypi/linux.git/arch/arm/boot/dts/overlays >> > >> > Does anyone know how to apply for uploading this overlay dts file, to >> the >> > person in charge of https://github.com/raspberrypi/linux? >> > >> > >> >> Try to announce it somewhere on RPi forum [1] or create a git(hub) pull >> request against https://github.com/raspberrypi/linux? >> >> But I think chances are higher for a widely available ready to use >> devices/add-on-boards than for individual solutions... >> >> Regards, >> Peter >> >> [1] https://www.raspberrypi.org/forum >> >> > Best regards. >> > >> > On 9 May 2016 at 08:37, Oscar Gomez Fuente <oscargomezf@gmail.com> >> wrote: >> > >> > > Hi, >> > > >> > > >> > > I've tried what told me Peter Seiderer, and it compiled fine: "using >> > > interrupts = <23 2>;". Now I'm going to check if the .dtb file works >> fine. >> > > >> > > Thank you very much. >> > > >> > > Best regards. >> > > >> > > Oscar Gomez Fuente >> > > >> > > On 6 May 2016 at 23:20, Nicholas Walton <nicholas.walton@gmail.com> >> wrote: >> > > >> > >> Plugin overlays are not part of mainline dtc. Try >> > >> https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions >> at >> > >> >> https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay >> > >> . >> > >> >> > >> On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente < >> oscargomezf at gmail.com >> > >> > wrote: >> > >> >> > >>> Hi, >> > >>> >> > >>> I'm working with the latest stable release: 2016.02 and with the >> > >>> raspberry pi 3B. >> > >>> >> > >>> I'm trying to compile my own .dtb overlay, because I need to add >> the IO >> > >>> Expander i2c TCA6424A to my HW. And I would like to know how to do >> this >> > >>> using overlays and device tree. >> > >>> >> > >>> But I've got this error when I tried to compile de .dts file: >> > >>> >> > >>> # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts >> > >>> Error: tca6424a-overlay.dts:3.2-8 syntax error >> > >>> FATAL ERROR: Unable to parse input tree >> > >>> # dtc -v >> > >>> Version: DTC 1.4.1-g8ead5b66 >> > >>> # >> > >>> >> > >>> This is the .dts file: >> > >>> ---------- >> > >>> // Definitions for TCA6424A IO Extender from Texas Instruments >> > >>> /dts-v1/; >> > >>> /plugin/; >> > >>> / { >> > >>> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; >> > >>> >> > >>> fragment at 0 { >> > >>> target = <&i2c1>; >> > >>> __overlay__ { >> > >>> status = "okay"; >> > >>> }; >> > >>> }; >> > >>> >> > >>> fragment at 1 { >> > >>> target = <&gpio>; >> > >>> __overlay__ { >> > >>> tca6424_pins: tca6424_pins { >> > >>> brcm,pins = <4>; >> > >>> brcm,function = <0>; >> > >>> }; >> > >>> }; >> > >>> }; >> > >>> >> > >>> fragment at 2 { >> > >>> target = <&i2c1>; >> > >>> __overlay__ { >> > >>> #address-cells = <1>; >> > >>> #size-cells = <0>; >> > >>> tca6424 at 22 { >> > >>> compatible = "ti,tca6424"; >> > >>> reg = <0x22>; >> > >>> pinctrl-names = "default"; >> > >>> pinctrl-0 = <&tca6424_pins>; >> > >>> interrupt-parent = <&gpio4>; >> > >>> interrupts = <23 IRQ_TYPE_LEVEL_LOW>; >> > >>> }; >> > >>> >> > >>> }; >> > >>> }; >> > >>> }; >> > >>> ----------- >> > >>> >> > >>> Anyone could help me how to do this? >> > >>> >> > >>> Best regards. >> > >>> >> > >>> Oscar Gomez Fuente. >> > >>> >> > >>> _______________________________________________ >> > >>> buildroot mailing list >> > >>> buildroot at busybox.net >> > >>> http://lists.busybox.net/mailman/listinfo/buildroot >> > >>> >> > >> >> > >> >> > > >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160510/546d303d/attachment.html> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [dtc] Compiling a .dts overlay 2016-05-09 6:37 ` Oscar Gomez Fuente 2016-05-09 9:57 ` Oscar Gomez Fuente @ 2016-05-09 20:36 ` Peter Seiderer 1 sibling, 0 replies; 9+ messages in thread From: Peter Seiderer @ 2016-05-09 20:36 UTC (permalink / raw) To: buildroot Hello Oscar, On Mon, 9 May 2016 08:37:36 +0200, Oscar Gomez Fuente <oscargomezf@gmail.com> wrote: > Hi, > > > I've tried what told me Peter Seiderer, and it compiled fine: "using > interrupts = <23 2>;". Now I'm going to check if the .dtb file works fine. > $ grep -R IRQ_TYPE_LEVEL_LOW linux-9118192d7357b0942885c2c8baf65d5501c12913/arch/arm/boot/dts/include/ linux-9118192d7357b0942885c2c8baf65d5501c12913/arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h:#define IRQ_TYPE_LEVEL_LOW 8 So 'interrupts = <23 IRQ_TYPE_LEVEL_LOW>;' should translate to 'interrupts = <23 8>;' > Thank you very much. Thanks for feedback... Regards, Peter > > Best regards. > > Oscar Gomez Fuente > > On 6 May 2016 at 23:20, Nicholas Walton <nicholas.walton@gmail.com> wrote: > > > Plugin overlays are not part of mainline dtc. Try > > https://git.kernel.org/cgit/utils/dtc/dtc.git and the instructions at > > https://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/compiling-an-overlay > > . > > > > On Fri, May 6, 2016 at 5:17 AM, Oscar Gomez Fuente <oscargomezf@gmail.com> > > wrote: > > > >> Hi, > >> > >> I'm working with the latest stable release: 2016.02 and with the > >> raspberry pi 3B. > >> > >> I'm trying to compile my own .dtb overlay, because I need to add the IO > >> Expander i2c TCA6424A to my HW. And I would like to know how to do this > >> using overlays and device tree. > >> > >> But I've got this error when I tried to compile de .dts file: > >> > >> # dtc -I dts -O dtb -o tca6424a-overlay.dtb tca6424a-overlay.dts > >> Error: tca6424a-overlay.dts:3.2-8 syntax error > >> FATAL ERROR: Unable to parse input tree > >> # dtc -v > >> Version: DTC 1.4.1-g8ead5b66 > >> # > >> > >> This is the .dts file: > >> ---------- > >> // Definitions for TCA6424A IO Extender from Texas Instruments > >> /dts-v1/; > >> /plugin/; > >> / { > >> compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; > >> > >> fragment at 0 { > >> target = <&i2c1>; > >> __overlay__ { > >> status = "okay"; > >> }; > >> }; > >> > >> fragment at 1 { > >> target = <&gpio>; > >> __overlay__ { > >> tca6424_pins: tca6424_pins { > >> brcm,pins = <4>; > >> brcm,function = <0>; > >> }; > >> }; > >> }; > >> > >> fragment at 2 { > >> target = <&i2c1>; > >> __overlay__ { > >> #address-cells = <1>; > >> #size-cells = <0>; > >> tca6424 at 22 { > >> compatible = "ti,tca6424"; > >> reg = <0x22>; > >> pinctrl-names = "default"; > >> pinctrl-0 = <&tca6424_pins>; > >> interrupt-parent = <&gpio4>; > >> interrupts = <23 IRQ_TYPE_LEVEL_LOW>; > >> }; > >> > >> }; > >> }; > >> }; > >> ----------- > >> > >> Anyone could help me how to do this? > >> > >> Best regards. > >> > >> Oscar Gomez Fuente. > >> > >> _______________________________________________ > >> buildroot mailing list > >> buildroot at busybox.net > >> http://lists.busybox.net/mailman/listinfo/buildroot > >> > > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-05-10 11:09 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-05-06 12:17 [Buildroot] [dtc] Compiling a .dts overlay Oscar Gomez Fuente 2016-05-06 21:08 ` Peter Seiderer 2016-05-06 21:20 ` Nicholas Walton 2016-05-09 6:37 ` Oscar Gomez Fuente 2016-05-09 9:57 ` Oscar Gomez Fuente 2016-05-09 20:46 ` Peter Seiderer 2016-05-10 7:48 ` Oscar Gomez Fuente 2016-05-10 11:09 ` Oscar Gomez Fuente 2016-05-09 20:36 ` Peter Seiderer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox