Subject: [PATCH] Add support for generic BCM SoC chipsets

From: [email-masked] (Stephen Warren)
Date: Sun, 11 Nov 2012 14:38:07 -0700

On 11/11/2012 06:34 AM, Christian Daudt wrote:
> On 12-11-08 07:24 PM, Stephen Warren wrote:
>> On 11/08/2012 09:13 AM, Christian Daudt wrote:

>>> +	uart at 3e000000 {
>>> +		compatible = "snps,dw-apb-uart";
>>
>> You probably want to include SoC-specific compatible values for all the
>> IP blocks too.
>
> I don't follow this part. Do you mean to replace that line with
> something like 'compatible = "snps,sw-apb-uart", "bcm, bcm28x11-uart"' ?
> If so, I don't think that that is necessary - right now there is nothing
> BCM specific about this.

I would expect:

compatible = "bcm,bcm28x11-uart", "snps,sw-apb-uart";

The device-tree convention is for the compatible value to always include
a specific representation of the exact instance of the HW first (i.e.
"bcm,bcm28x11-uart"), and then also describe any base value that the HW
is compatible with, or describes the IP block that was instantiated
(i.e. "snps,sw-apb-uart"). While the first more-specific value may not
be strictly required to make the code work from the start, it is
required so that if in the future it is discovered that the HW needs
some unexpected quirk or workaround in the driver, the compatible
property (for any old device tree that was loaded onto the HW
previously) already includes the required value to indicate the specific
HW, and hence allow the workaround to be applied.