svn commit: r290373 - head/sys/dev/ofw
Nathan Whitehorn
nwhitehorn at freebsd.org
Thu Nov 5 20:06:47 UTC 2015
I'm not sure this is the best way to do this: we have AIM systems that
use FDT, for example. Can we make it a quirk in the host-bus driver? Or
do a run-time check to see if the root node has MacRISC in its
compatible property?
-Nathan
On 11/04/15 14:46, Andreas Tobler wrote:
> Author: andreast
> Date: Wed Nov 4 22:46:30 2015
> New Revision: 290373
> URL: https://svnweb.freebsd.org/changeset/base/290373
>
> Log:
> Add a compile time switch to distinguish between 7-bit and 8-bit I2C address
> usage. The comment in the code should explain the situation.
>
> Discussed with: ian@
>
> Modified:
> head/sys/dev/ofw/ofw_iicbus.c
>
> Modified: head/sys/dev/ofw/ofw_iicbus.c
> ==============================================================================
> --- head/sys/dev/ofw/ofw_iicbus.c Wed Nov 4 19:09:42 2015 (r290372)
> +++ head/sys/dev/ofw/ofw_iicbus.c Wed Nov 4 22:46:30 2015 (r290373)
> @@ -148,10 +148,16 @@ ofw_iicbus_attach(device_t dev)
> if (dinfo == NULL)
> continue;
> /*
> - * OFW uses 7-bit I2C address format (see ePAPR),
> - * but system expect 8-bit.
> + * FreeBSD drivers expect I2C addresses to be expressed as
> + * 8-bit values. Apple OFW data contains 8-bit values, but
> + * Linux FDT data contains 7-bit values, so shift them up to
> + * 8-bit format.
> */
> +#ifdef AIM
> + dinfo->opd_dinfo.addr = paddr;
> +#else
> dinfo->opd_dinfo.addr = paddr << 1;
> +#endif
> if (ofw_bus_gen_setup_devinfo(&dinfo->opd_obdinfo, child) !=
> 0) {
> free(dinfo, M_DEVBUF);
>
More information about the svn-src-all
mailing list