Thanks. That was a bit embarrassing - I saw the message in dmesg but assumed it was benign since the /proc/device-tree entry was there. I'll move to a later kernel and try my fix there. I appreciate your quick help!
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/CAL8ugEdmkra9JNEp850VgvXt08eLzaq-iOVw3eVoCrg-A%3DtVvw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.