svn commit: r290373 - head/sys/dev/ofw
Nathan Whitehorn
nwhitehorn at freebsd.org
Thu Nov 5 21:47:43 UTC 2015
On 11/05/15 13:24, Andreas Tobler wrote:
> Hi Nathan, Warner,
>
> first, I had the feeling that I have to provide a fast solution which
> makes PowerMacs usable again. I am aware that the committed version
> doesn't win a prize.
Thank you!
> Also, I didn't know that we have AIM & FDT, Nathan which one?
PS3 and POWER8 systems are AIM+FDT. Neither of these have I2C busses in
their FDTs, so the impact is low for now, but it makes me a little nervous.
> On 05.11.15 21:26, Warner Losh wrote:
>> I'd suggested that this be driven off a global quirk like
>>
>> u_int fdt_quirks;
>> #define FDT_QUIRK_8BIT_IIC_ADDR 1
>> ...
>
> In openfirm.h?
I'd really prefer an explicit platform check in ofw_iicbus.c for this by
looking at the compatible property of the root node. If this ever comes
up on another system, we can modify it, but I think it won't.
-Nathan
>
>> if (fdt_quirks & FDT_QUIRK_8BIT_IIC_ADDR)
>> dinfo->opd_dinfo.addr = paddr;
>> else
>> dinfo->opd_dinfo.addr = paddr << 1;
>>
>> And the platform code, whatever that means, would set it when it "knows"
>> this is the case.
>
> If I get that right, I'd have to set the fdt_quirk in each I2C parent,
> like kiic.c and smu.c?
>
>> On Thu, Nov 5, 2015 at 12:56 PM, Nathan Whitehorn
>> <nwhitehorn at freebsd.org <mailto:nwhitehorn at freebsd.org>> wrote:
>>
>> 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?
>
> The 'compatible property' approach would be limited/isolated to one
> file (ofw_iicbus.c) in comparison to the quirk approach where I'd have
> to adapt at least (known now) four files.
>
> I can go either way, just my thoughts.
>
> Andreas
>
More information about the svn-src-head
mailing list