Thanks, David. I am not competent enough on DT yet. I see one of the I2C
devices has a pinctrl in the device-tree but i2c1 does not. I don't
understand why/how when I open /dev/i2c-1 from userspace that the pins seem
to get assigned. Hopefully Robert can help.

Mark

On Tue, Jan 9, 2018 at 7:26 PM David Lechner <da...@lechnology.com> wrote:

> Sounds like a question for RCN. I'm not up to speed on the pinctrl
> situation on BeagleBone. I'm weird and don't use capemanager or any of the
> usual BealgeBone stuff.
>
> But, I think you are right to think the problem is cause by pin muxing
> somehow.
>
>
>
> On 01/09/2018 12:41 AM, Mark Grosen wrote:
>
> I moved 4.14.12-ti-r24 and now it gets past the the vbat regulator, but
> then fails trying to write to the I2C with a bus ready timeout:
>
> mark@pocket:~/bb.org-overlays/src/arm$ dmesg | grep -P 'ssd|i2c'
> [    0.508117] omap_i2c 44e0b000.i2c: could not find pctldev for node
> /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring
> probe
> [    0.509098] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
> [    0.509821] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz
> [    1.945474] omap_i2c 4802a000.i2c: timeout waiting for bus ready
> [    1.945496] ssd1307fb 1-003c: Couldn't send I2C command 2.
> [    1.945554] ssd1307fb: probe of 1-003c failed with error -110
> [    2.057076] i2c /dev entries driver
> [    2.178366] input: tps65217_pwr_but as
> /devices/platform/ocp/44e0b000.i2c/i2c-0/0-0024/tps65217-pwrbutton/input/input0
> [    2.179568] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
>
> After the boot finishes, I can use the device from userspace with no
> problems. It seems that i2c-1 is registered before the ssd1307fb probe
> happens. Are pins not assigned at this point?
>
> Mark
>
> On Mon, Jan 8, 2018 at 7:10 PM David Lechner <da...@lechnology.com> wrote:
>
>> The linux driver for this is an i2c driver. So the device tree node that
>> you added will create an i2c device in the linux kernel (i.e.
>> /sys/bus/i2c/devices/1-003c). Then udev sees that this device matches the
>> compatible string of the "ssd1307fb" driver (you will see this listed in
>> `lsmod`). This driver is bound to the device and calls the drivers probe
>> function. This is where the error message is coming from. If the probe
>> function had completed successfully, it would have registered a new fbdev
>> device.
>>
>> It looks like this error is a bug in the linux kernel that was fixed in
>> kernel v4.11.
>> <https://github.com/torvalds/linux/commit/cfc5b2b551d8c089079e754525839101b1b43624>
>> <https://github.com/torvalds/linux/commit/cfc5b2b551d8c089079e754525839101b1b43624>
>> .
>>
>> You can work around this by adding a fixed regulator to the device tree
>> and adding it to your device. Or, if you are compiling your own kernel
>> anyway, you can grab the patch I linked.
>>
>> On 1/8/18 8:09 PM, Mark Grosen wrote:
>>
>> mark@pocket:~$ dmesg | grep -P 'fb|ssd'
>> [    2.165499] ssd1307fb 1-003c: failed to get VBAT regulator: -19
>>
>> How does fbdev "find" the ssd1306?
>>
>> On Mon, Jan 8, 2018 at 5:51 PM David Lechner <da...@lechnology.com>
>> wrote:
>>
>>> On 01/08/2018 07:27 PM, Mark Grosen wrote:
>>>
>>> On Mon, Jan 8, 2018 at 10:08 AM David Lechner <da...@lechnology.com>
>>> wrote:
>>>
>>>> On 01/07/2018 05:59 PM, Mark Grosen wrote:
>>>> > I am trying to get the kernel driver for the ssd1306 working with the
>>>> PocketBeagle USB HUB cape which has a 64x32 SSD1306 display (
>>>> https://www.tindie.com/products/microwavemont/oled-with-24-port-usb-hub-cape-for-pocketbeagle/)
>>>> I know it is physically working as I can use it via user-mode I2C. I
>>>> believe a small change is needed to support the unusual 64 pixel width of
>>>> this board. I have built and loaded a new kernel and have a .dtbo
>>>>
>>>> And what does your device tree overlay look like?
>>>>
>>>
>>> /dts-v1/;
>>> /plugin/;
>>>
>>> #include <dt-bindings/board/am335x-bbw-bbb-base.h>
>>> #include <dt-bindings/gpio/gpio.h>
>>> #include <dt-bindings/pinctrl/am33xx.h>
>>>
>>> / {
>>> fragment@0 {
>>> target = <&i2c1>;
>>> __overlay__ {
>>> status = "okay";
>>>
>>> #address-cells = <1>;
>>> #size-cells = <0>;
>>>
>>> ssd1306: oled@3c {
>>> compatible = "solomon,ssd1306fb-i2c";
>>> reg = <0x3c>;
>>>                                 solomon,width = <64>;
>>>                                 solomon,height = <32>;
>>>                                 solomon,page-offset = <0>;
>>> };
>>> };
>>> };
>>> };
>>>
>>>
>>>>
>>>> > loaded via u-boot with 4.4.88-ti-r128 kernel. It shows up in
>>>> /proc/device-tree correctly (at least as far as I can tell - the entries
>>>> match the dts values). I am missing how to get this connected to the
>>>> framebuffer world - there is no /dev/fb0 showing up. I see the config
>>>> options appear to be enabled (I am using the defconfig).
>>>>
>>>> And which options did you enable/are enabled?
>>>
>>>
>>> mark@pocket:~$ zcat /proc/config.gz | grep CONFIG_FB | grep -v '#'
>>> CONFIG_FB=y
>>> CONFIG_FB_CMDLINE=y
>>> CONFIG_FB_NOTIFY=y
>>> CONFIG_FB_CFB_FILLRECT=y
>>> CONFIG_FB_CFB_COPYAREA=y
>>> CONFIG_FB_CFB_IMAGEBLIT=y
>>> CONFIG_FB_SYS_FILLRECT=y
>>> CONFIG_FB_SYS_COPYAREA=y
>>> CONFIG_FB_SYS_IMAGEBLIT=y
>>> CONFIG_FB_SYS_FOPS=y
>>> CONFIG_FB_DEFERRED_IO=y
>>> CONFIG_FB_BACKLIGHT=y
>>> CONFIG_FB_MODE_HELPERS=y
>>> CONFIG_FB_TILEBLITTING=y
>>> CONFIG_FB_SMSCUFX=m
>>> CONFIG_FB_UDL=m
>>> CONFIG_FB_SIMPLE=y
>>> CONFIG_FB_SSD1307=y
>>>
>>>
>>>>
>>>>
>>> Looks alright to me. Is there any error in `dmesg`?
>>>
>>>
>>> --
>>> 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/8d1b9f53-ab73-6bf4-92d0-ebcfb072bb06%40lechnology.com
>>> <https://groups.google.com/d/msgid/beagleboard/8d1b9f53-ab73-6bf4-92d0-ebcfb072bb06%40lechnology.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>> 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/CAL8ugEcSLFrFasGKqfX44iR-UDhzeNE9nt4u4Nfirj9oDnC20A%40mail.gmail.com
>> <https://groups.google.com/d/msgid/beagleboard/CAL8ugEcSLFrFasGKqfX44iR-UDhzeNE9nt4u4Nfirj9oDnC20A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> 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/fab14b2e-8b97-b6ff-80e5-626edd04d9fa%40lechnology.com
>> <https://groups.google.com/d/msgid/beagleboard/fab14b2e-8b97-b6ff-80e5-626edd04d9fa%40lechnology.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> 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/CAL8ugEdJZPRwWuYzZm5KbEmjGH%2B%2BfjYMmU%2B8aoPvzE_3HQ9OGQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/beagleboard/CAL8ugEdJZPRwWuYzZm5KbEmjGH%2B%2BfjYMmU%2B8aoPvzE_3HQ9OGQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
> For more options, visit https://groups.google.com/d/optout.
>
> --
> 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/ab8e70c0-1b4d-e3ec-d49c-26a75ff68a5d%40lechnology.com
> <https://groups.google.com/d/msgid/beagleboard/ab8e70c0-1b4d-e3ec-d49c-26a75ff68a5d%40lechnology.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CAL8ugEdhFwXkQZBG1qZ%3DaWKMVU9QmFy7X6%2B7-sjQ8ahZ0kJxtg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to