* Usage of i2c_-Tools in Barebox @ 2015-05-05 14:56 Marcel Behlau 2015-05-05 15:54 ` Sascha Hauer 0 siblings, 1 reply; 7+ messages in thread From: Marcel Behlau @ 2015-05-05 14:56 UTC (permalink / raw) To: barebox Hi, i'm using a phyFLEX-i.MX6 SBC and want to communicate with an external µC over I2C. I only want to read/set 1 register, so i tried to use the builtin i2c_read and i2c_write-Commands. The µC is connected to i2c-bus 1 of the device, so i tried to probe the hole bus with "i2c_bus 1 3 30". The command only answered with "i2c_probe: No such device". I tried also the busses 0-3, with the same result. I searched in the board.c sourcecode of the phyflex, but couldn't find i2c related stuff, so i think, i have to add the initalisation for the i2c. Do i have to add the i2c-init in the boards/phytec-pfla02/board.c -file? Is there some documenation about this stuff? Thank in advance, Marcel -- Dipl. Ing (FH) Marcel Behlau (Software Developer) ELFIN GmbH Siegburger Straße 215 50679 Köln Germany Tel: +49 (221) 6778932-0 Fax: +49 (221) 6778932-2 marcel.behlau@elfin.de www.elfin.de _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Usage of i2c_-Tools in Barebox 2015-05-05 14:56 Usage of i2c_-Tools in Barebox Marcel Behlau @ 2015-05-05 15:54 ` Sascha Hauer 2015-05-06 7:12 ` Uwe Kleine-König 0 siblings, 1 reply; 7+ messages in thread From: Sascha Hauer @ 2015-05-05 15:54 UTC (permalink / raw) To: Marcel Behlau; +Cc: barebox Hi Marcel, On Tue, May 05, 2015 at 04:56:10PM +0200, Marcel Behlau wrote: > Hi, > > i'm using a phyFLEX-i.MX6 SBC and want to communicate with an > external µC over I2C. I only want to read/set 1 register, so i tried > to use the builtin i2c_read and i2c_write-Commands. The µC is > connected to i2c-bus 1 of the device, so i tried to probe the hole > bus with "i2c_bus 1 3 30". The command only answered with > "i2c_probe: No such device". I tried also the busses 0-3, with the > same result. I searched in the board.c sourcecode of the phyflex, > but couldn't find i2c related stuff, so i think, i have to add the > initalisation for the i2c. > > Do i have to add the i2c-init in the boards/phytec-pfla02/board.c > -file? Is there some documenation about this stuff? The phyFLEX board is device tree based. You have to enable the i2c controller in the dts file (same as you would do in the kernel). Usually a: &i2c0 { status = "okay"; }; Should be enough. You probably also have to add the proper pinctrl node. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Usage of i2c_-Tools in Barebox 2015-05-05 15:54 ` Sascha Hauer @ 2015-05-06 7:12 ` Uwe Kleine-König 2015-05-07 11:24 ` Marcel Behlau 0 siblings, 1 reply; 7+ messages in thread From: Uwe Kleine-König @ 2015-05-06 7:12 UTC (permalink / raw) To: Marcel Behlau; +Cc: barebox Hello, On Tue, May 05, 2015 at 05:54:50PM +0200, Sascha Hauer wrote: > On Tue, May 05, 2015 at 04:56:10PM +0200, Marcel Behlau wrote: > > i'm using a phyFLEX-i.MX6 SBC and want to communicate with an > > external µC over I2C. I only want to read/set 1 register, so i tried > > to use the builtin i2c_read and i2c_write-Commands. The µC is > > connected to i2c-bus 1 of the device, so i tried to probe the hole > > bus with "i2c_bus 1 3 30". The command only answered with > > "i2c_probe: No such device". I tried also the busses 0-3, with the > > same result. I searched in the board.c sourcecode of the phyflex, > > but couldn't find i2c related stuff, so i think, i have to add the > > initalisation for the i2c. > > > > Do i have to add the i2c-init in the boards/phytec-pfla02/board.c > > -file? Is there some documenation about this stuff? > > The phyFLEX board is device tree based. You have to enable the i2c > controller in the dts file (same as you would do in the kernel). > Usually a: > > &i2c0 { > status = "okay"; > }; > > Should be enough. You probably also have to add the proper pinctrl node. and enable the i2c driver. You might want to check the output of devinfo. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Usage of i2c_-Tools in Barebox 2015-05-06 7:12 ` Uwe Kleine-König @ 2015-05-07 11:24 ` Marcel Behlau 2015-05-08 5:12 ` Sascha Hauer 0 siblings, 1 reply; 7+ messages in thread From: Marcel Behlau @ 2015-05-07 11:24 UTC (permalink / raw) To: Uwe Kleine-König; +Cc: barebox Hi, many thanks for your help. I activated the i2c devices in the device tree, the pinctrl is already done in the imx6q.dtsi, which is included. The used pins are identically with the used pins on the SBC. devinfo told me, that the driver "i2c-fsl" is loaded. After rebuild barebox, it's possible to probe the bus, but the command only answered with an timeout: barebox@Phytec phyFLEX-i.MX6 Quad Carrier-Board:/ i2c_probe 1 83 83 probing i2c range 0x53 - 0x53 : i2c2: <i2c_fsl_bus_busy> timeout waiting for I2C bus busy I'm using barebox-2013.08.0, which is provided by the phytec-bsp. Thanks in advance, Marcel On 06.05.2015 09:12, Uwe Kleine-König wrote: > Hello, > > On Tue, May 05, 2015 at 05:54:50PM +0200, Sascha Hauer wrote: >> On Tue, May 05, 2015 at 04:56:10PM +0200, Marcel Behlau wrote: >>> i'm using a phyFLEX-i.MX6 SBC and want to communicate with an >>> external µC over I2C. I only want to read/set 1 register, so i tried >>> to use the builtin i2c_read and i2c_write-Commands. The µC is >>> connected to i2c-bus 1 of the device, so i tried to probe the hole >>> bus with "i2c_bus 1 3 30". The command only answered with >>> "i2c_probe: No such device". I tried also the busses 0-3, with the >>> same result. I searched in the board.c sourcecode of the phyflex, >>> but couldn't find i2c related stuff, so i think, i have to add the >>> initalisation for the i2c. >>> >>> Do i have to add the i2c-init in the boards/phytec-pfla02/board.c >>> -file? Is there some documenation about this stuff? >> The phyFLEX board is device tree based. You have to enable the i2c >> controller in the dts file (same as you would do in the kernel). >> Usually a: >> >> &i2c0 { >> status = "okay"; >> }; >> >> Should be enough. You probably also have to add the proper pinctrl node. > and enable the i2c driver. You might want to check the output of > devinfo. > > Best regards > Uwe > -- Dipl. Ing (FH) Marcel Behlau (Software Developer) ELFIN GmbH Siegburger Straße 215 50679 Köln Germany Tel: +49 (221) 6778932-0 Fax: +49 (221) 6778932-2 marcel.behlau@elfin.de www.elfin.de _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Usage of i2c_-Tools in Barebox 2015-05-07 11:24 ` Marcel Behlau @ 2015-05-08 5:12 ` Sascha Hauer 2015-05-20 6:34 ` Marcel Behlau 0 siblings, 1 reply; 7+ messages in thread From: Sascha Hauer @ 2015-05-08 5:12 UTC (permalink / raw) To: Marcel Behlau; +Cc: barebox, Uwe Kleine-König On Thu, May 07, 2015 at 01:24:19PM +0200, Marcel Behlau wrote: > Hi, > > many thanks for your help. I activated the i2c devices in the device > tree, the pinctrl is already done in the imx6q.dtsi, which is > included. The used pins are identically with the used pins on the > SBC. devinfo told me, that the driver "i2c-fsl" is loaded. After > rebuild barebox, it's possible to probe the bus, but the command > only answered with an timeout: > > barebox@Phytec phyFLEX-i.MX6 Quad Carrier-Board:/ i2c_probe 1 83 83 > probing i2c range 0x53 - 0x53 : > i2c2: <i2c_fsl_bus_busy> timeout waiting for I2C bus busy I *think* this means that the levels on the bus do not properly follow what the controller wants to do. Maybe pullup missing? An oscilloscope might help here. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Usage of i2c_-Tools in Barebox 2015-05-08 5:12 ` Sascha Hauer @ 2015-05-20 6:34 ` Marcel Behlau 2015-05-22 6:41 ` Sascha Hauer 0 siblings, 1 reply; 7+ messages in thread From: Marcel Behlau @ 2015-05-20 6:34 UTC (permalink / raw) To: Sascha Hauer; +Cc: barebox, Uwe Kleine-König Hi, i found the problem. The Pad Mux Register (0x20E008C and 0x20E0090) are not initialised. In both registers is a 0x00000005 (reset value), instead of 0x00000016. I think, i must specify the value of the mux register in the device tree, too. How can i do this? Thank in advance, Marcel md 0x20E008C-0x20E0093 On 08.05.2015 07:12, Sascha Hauer wrote: > On Thu, May 07, 2015 at 01:24:19PM +0200, Marcel Behlau wrote: >> Hi, >> >> many thanks for your help. I activated the i2c devices in the device >> tree, the pinctrl is already done in the imx6q.dtsi, which is >> included. The used pins are identically with the used pins on the >> SBC. devinfo told me, that the driver "i2c-fsl" is loaded. After >> rebuild barebox, it's possible to probe the bus, but the command >> only answered with an timeout: >> >> barebox@Phytec phyFLEX-i.MX6 Quad Carrier-Board:/ i2c_probe 1 83 83 >> probing i2c range 0x53 - 0x53 : >> i2c2: <i2c_fsl_bus_busy> timeout waiting for I2C bus busy > I *think* this means that the levels on the bus do not properly follow > what the controller wants to do. Maybe pullup missing? An oscilloscope > might help here. > > Sascha > -- Dipl. Ing (FH) Marcel Behlau (Software Developer) ELFIN GmbH Siegburger Straße 215 50679 Köln Germany Tel: +49 (221) 6778932-0 Fax: +49 (221) 6778932-2 marcel.behlau@elfin.de www.elfin.de _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Usage of i2c_-Tools in Barebox 2015-05-20 6:34 ` Marcel Behlau @ 2015-05-22 6:41 ` Sascha Hauer 0 siblings, 0 replies; 7+ messages in thread From: Sascha Hauer @ 2015-05-22 6:41 UTC (permalink / raw) To: Marcel Behlau; +Cc: barebox, Uwe Kleine-König On Wed, May 20, 2015 at 08:34:23AM +0200, Marcel Behlau wrote: > Hi, > > i found the problem. The Pad Mux Register (0x20E008C and 0x20E0090) > are not initialised. In both registers is a 0x00000005 (reset > value), instead of 0x00000016. I think, i must specify the value of > the mux register in the device tree, too. How can i do this? You have to add a pinctrl node, like this: &iomuxc { imx6s-riotboard { pinctrl_i2c1_2: i2c1grp-2 { fsl,pins = < MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1 MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1 >; }; }; }; ... &i2c1 { pinctrl-0 = <&pinctrl_i2c1_2>; }; See dts/Bindings/pinctrl/fsl,imx-pinctrl.txt and dts/Bindings/pinctrl/fsl,imx6q-pinctrl.txt for a documentation what the 0x4001b8b1 value means. In short bit30 is for the SION bit and the remaing bits are for the PAD_CTL register. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-05-22 6:41 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-05-05 14:56 Usage of i2c_-Tools in Barebox Marcel Behlau 2015-05-05 15:54 ` Sascha Hauer 2015-05-06 7:12 ` Uwe Kleine-König 2015-05-07 11:24 ` Marcel Behlau 2015-05-08 5:12 ` Sascha Hauer 2015-05-20 6:34 ` Marcel Behlau 2015-05-22 6:41 ` Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox