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

Reply via email to