There have been some big changes in Newbus in CURRENT?
Matías Perret Cantoni
perretcantonim at gmail.com
Mon Jun 15 19:45:48 UTC 2015
Hi! First of all sorry if this question is too silly, but there have
been some big changes in Newbus in CURRENT?
I ask this because I was using a "custom" DTS and a driver that I
made, happily on a FreeBSD-10.1.0 image I built, on the ZedBoard
platform.
But now I created a new FreeBSD image with CURRENT; I use the exact
same DTS and driver, but the probe() routine of my driver is never
called when I load it; so my driver never gets attached to my device.
Thanks in advance for your patience!
Matias
PS: Just in case, here are some details:
* The system is:
FreeBSD zedboard 11.0-CURRENT FreeBSD 11.0-CURRENT #1 r283900: Thu Jun
4 07:44:32 ART 2015
root at efn.uncor:/usr/obj/arm.armv6/usr/src/sys/ZEDBOARD arm
* This is how I built the image:
cd /usr/src
svn checkout http://svn0.us-west.freebsd.org/base/head
svn update
make TARGET_ARCH=armv6 KERNCONF=ZEDBOARD buildworld buildkernel
* This is the drivers probe routine:
static int
p3_probe(device_t dev)
{
device_printf(dev, "Probe routine");
if (!ofw_bus_is_compatible(dev, "zedBSD,p3")){
device_printf(dev, "Not compatible!");
return (ENXIO);
}
device_set_desc(dev, "p3_device");
device_printf(dev, "Compatible!");
return(BUS_PROBE_SPECIFIC);
}
* This the DTS node:
/* AXI General purpose #0 from PL: */
M_AXI_GP0 at 40000000 {
device_type = "soc";
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x40000000 0x3fffffff>;
/* MY NODE */
p3: p3 at 1200000 {
compatible = "zedBSD,p3";
reg = <0x1200000 0xFFFF>,
<0x27000000 0xFFFF>;
interrupts = <61>;
interrupt-parent = <&GIC>;
};
};
* And I load the driver with:
kldload ./p3.ko
More information about the freebsd-arm
mailing list