Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Nov 2015 23:43:27 +0100
From:      Andreas Tobler <andreast@FreeBSD.org>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>, Warner Losh <imp@bsdimp.com>, Ian Lepore <ian@freebsd.org>
Cc:        src-committers <src-committers@FreeBSD.org>, "svn-src-all@freebsd.org" <svn-src-all@FreeBSD.org>, "svn-src-head@freebsd.org" <svn-src-head@FreeBSD.org>
Subject:   Re: svn commit: r290373 - head/sys/dev/ofw
Message-ID:  <563BDB8F.8090504@FreeBSD.org>
In-Reply-To: <563BCE7C.9020900@freebsd.org>
References:  <201511042246.tA4MkUYU010551@repo.freebsd.org> <563BB466.8020801@freebsd.org> <CANCZdfriYN=JbN8uEsCh-CBZ9V8F5mcL_KaRXQBJZkKv-Gt3SQ@mail.gmail.com> <563BC911.5060804@FreeBSD.org> <563BCE7C.9020900@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------010507070301090902050103
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05.11.15 22:47, Nathan Whitehorn wrote:
> 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.

Ah, maybe I have luck to convince my son to handover the PS3 to me. He 
has a PS4 too...

About the POWER8, well, far away from my budget.....

>> 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.

Attached a working proposal.
It does work with the Apple 8-bit I2C addresses and the fan regulation 
works.

But I need a kind soul to test this on an arm board with Linux based FDT 
I2C devices which have 7-bit addresses.

Ian?

Thanks in advance,
Andreas

>>> 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@freebsd.org <mailto:nwhitehorn@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.



--------------010507070301090902050103
Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0";
 name="ofw_iicbus.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="ofw_iicbus.diff"

SW5kZXg6IHN5cy9kZXYvb2Z3L29md19paWNidXMuYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMv
ZGV2L29mdy9vZndfaWljYnVzLmMJKHJldmlzaW9uIDI5MDM3MykKKysrIHN5cy9kZXYvb2Z3
L29md19paWNidXMuYwkod29ya2luZyBjb3B5KQpAQCAtMTAxLDkgKzEwMSwxMyBAQAogewog
CXN0cnVjdCBpaWNidXNfc29mdGMgKnNjID0gSUlDQlVTX1NPRlRDKGRldik7CiAJc3RydWN0
IG9md19paWNidXNfZGV2aW5mbyAqZGluZm87Ci0JcGhhbmRsZV90IGNoaWxkLCBub2RlOwor
CXBoYW5kbGVfdCBjaGlsZCwgbm9kZSwgcm9vdDsKIAlwY2VsbF90IGZyZXEsIHBhZGRyOwog
CWRldmljZV90IGNoaWxkZGV2OworCXNzaXplX3QgY29tcGF0bGVuOworCWNoYXIgY29tcGF0
WzI1NV07CisJY2hhciAqY3Vyc3RyOworCXVfaW50IGlpY19hZGRyXzhiaXQgPSAwOwogCiAJ
c2MtPmRldiA9IGRldjsKIAltdHhfaW5pdCgmc2MtPmxvY2ssICJpaWNidXMiLCBOVUxMLCBN
VFhfREVGKTsKQEAgLTEyNSw2ICsxMjksMjEgQEAKIAlidXNfZW51bWVyYXRlX2hpbnRlZF9j
aGlsZHJlbihkZXYpOwogCiAJLyoKKwkgKiBDaGVjayBpZiB3ZSdyZSBydW5uaW5nIG9uIGEg
UG93ZXJNYWMsIG5lZWRlZCBmb3IgdGhlIEkyQworCSAqIGFkZHJlc3MgYmVsb3cuCisJICov
CisJcm9vdCA9IE9GX3BlZXIoMCk7CisJY29tcGF0bGVuID0gT0ZfZ2V0cHJvcChyb290LCAi
Y29tcGF0aWJsZSIsIGNvbXBhdCwKKwkJCQlzaXplb2YoY29tcGF0KSk7CisJaWYgKGNvbXBh
dGxlbiAhPSAtMSkgeworCSAgICBmb3IgKGN1cnN0ciA9IGNvbXBhdDsgY3Vyc3RyIDwgY29t
cGF0ICsgY29tcGF0bGVuOworCQljdXJzdHIgKz0gc3RybGVuKGN1cnN0cikgKyAxKSB7CisJ
CWlmIChzdHJuY21wKGN1cnN0ciwgIk1hY1JJU0MiLCA3KSA9PSAwKQorCQkgICAgaWljX2Fk
ZHJfOGJpdCA9IDE7CisJICAgIH0KKwl9CisKKwkvKgogCSAqIEF0dGFjaCB0aG9zZSBjaGls
ZHJlbiByZXByZXNlbnRlZCBpbiB0aGUgZGV2aWNlIHRyZWUuCiAJICovCiAJZm9yIChjaGls
ZCA9IE9GX2NoaWxkKG5vZGUpOyBjaGlsZCAhPSAwOyBjaGlsZCA9IE9GX3BlZXIoY2hpbGQp
KSB7CkBAIC0xNTMsMTEgKzE3MiwxMSBAQAogCQkgKiBMaW51eCBGRFQgZGF0YSBjb250YWlu
cyA3LWJpdCB2YWx1ZXMsIHNvIHNoaWZ0IHRoZW0gdXAgdG8KIAkJICogOC1iaXQgZm9ybWF0
LgogCQkgKi8KLSNpZmRlZiBBSU0KLQkJZGluZm8tPm9wZF9kaW5mby5hZGRyID0gcGFkZHI7
Ci0jZWxzZQotCQlkaW5mby0+b3BkX2RpbmZvLmFkZHIgPSBwYWRkciA8PCAxOwotI2VuZGlm
CisJCWlmIChpaWNfYWRkcl84Yml0KQorCQkgICAgZGluZm8tPm9wZF9kaW5mby5hZGRyID0g
cGFkZHI7CisJCWVsc2UKKwkJICAgIGRpbmZvLT5vcGRfZGluZm8uYWRkciA9IHBhZGRyIDw8
IDE7CisKIAkJaWYgKG9md19idXNfZ2VuX3NldHVwX2RldmluZm8oJmRpbmZvLT5vcGRfb2Jk
aW5mbywgY2hpbGQpICE9CiAJCSAgICAwKSB7CiAJCQlmcmVlKGRpbmZvLCBNX0RFVkJVRik7
Cg==
--------------010507070301090902050103--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?563BDB8F.8090504>