Bug ID: 9541
Summary: Platform drivers autoloading from info in device tree
does not work
Assignee: [hidden email] Reporter: [hidden email] CC: [hidden email] Target Milestone: ---
Hello everyone! What is going on with autoloading modules for platform devices
from device tree? I've build image for raspberry pi, added device tree overlay
for enc28j60. I've checked: device tree node with this device exists in
/proc/device-tree/soc/spi@7e204000. But lsmod does not shows that enc28j60.ko
is not loaded. In contrast of, raspbian distro successfully managed with this -
module loaded successfully.
Also, I've read this thread:
http://lists.busybox.net/pipermail/buildroot/2016-December/178779.html. As I
First of all I'll describe steps, which I've made.
1. Clone buildroot from official repo
2. make raspberrypi_defconfig
3. Add enc28j60.dtbo into overlays directory on boot partition
4. Add dtoverlay=enc28j60 into config.txt
After boot lsmod command output is empty(except ipv6 module, which is marked as
- I've used device tree overlay from the firmware, which was built by buildroot
itself. As for the snippet it is standard also, here is its code:
Also, as I said, device tree node with this device is exposed in
/proc/device-tree, so I think it is ok.
- driver enc28j60.ko is enabled in kernel configuration as loadable, it is
present in /lib/modules filesystem. I can load it manually and it is ok too.
- mdev is present in system. And I think it is root of the problem, because
Raspbian distro has udev instead mdev and it successfully loads kernel module
based on info from device tree.