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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to