On 04/24/2017 04:15 PM, Arun Parameswaran wrote: > > > On 17-04-24 04:07 PM, Florian Fainelli wrote: >> On 04/24/2017 04:03 PM, Arun Parameswaran wrote: >>> Hi Eric >>> >>> A comment on the Device ID. >>> >>> >>> On 17-04-24 02:50 PM, Eric Anholt wrote: >>>> Cygnus is a small family of SoCs, of which we currently have >>>> devicetree for BCM11360 and BCM58300. The 11360's B53 is mostly the >>>> same as 58xx, just requiring a tiny bit of setup that was previously >>>> missing. >>>> >>>> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> >>>> --- >>>> Documentation/devicetree/bindings/net/dsa/b53.txt | 3 +++ >>>> drivers/net/dsa/b53/b53_srab.c | 2 ++ >>>> 2 files changed, 5 insertions(+) >>>> >>>> diff --git a/Documentation/devicetree/bindings/net/dsa/b53.txt b/Documentation/devicetree/bindings/net/dsa/b53.txt >>>> index d6c6e41648d4..49c93d3c0839 100644 >>>> --- a/Documentation/devicetree/bindings/net/dsa/b53.txt >>>> +++ b/Documentation/devicetree/bindings/net/dsa/b53.txt >>>> @@ -29,6 +29,9 @@ Required properties: >>>> "brcm,bcm58625-srab" >>>> "brcm,bcm88312-srab" and the mandatory "brcm,nsp-srab string >>>> >>>> + For the BCM11360 SoC, must be: >>>> + "brcm,bcm11360-srab" and the mandatory "brcm,cygnus-srab string >>>> + >>>> For the BCM63xx/33xx SoCs with an integrated switch, must be one of: >>>> "brcm,bcm3384-switch" >>>> "brcm,bcm6328-switch" >>>> diff --git a/drivers/net/dsa/b53/b53_srab.c b/drivers/net/dsa/b53/b53_srab.c >>>> index 8a62b6a69703..c37ffd1b6833 100644 >>>> --- a/drivers/net/dsa/b53/b53_srab.c >>>> +++ b/drivers/net/dsa/b53/b53_srab.c >>>> @@ -364,6 +364,7 @@ static const struct of_device_id b53_srab_of_match[] = { >>>> { .compatible = "brcm,bcm53018-srab" }, >>>> { .compatible = "brcm,bcm53019-srab" }, >>>> { .compatible = "brcm,bcm5301x-srab" }, >>>> + { .compatible = "brcm,bcm11360-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> { .compatible = "brcm,bcm58522-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> { .compatible = "brcm,bcm58525-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> { .compatible = "brcm,bcm58535-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> @@ -371,6 +372,7 @@ static const struct of_device_id b53_srab_of_match[] = { >>>> { .compatible = "brcm,bcm58623-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> { .compatible = "brcm,bcm58625-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> { .compatible = "brcm,bcm88312-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>>> + { .compatible = "brcm,cygnus-srab", .data = (void *)BCM58XX_DEVICE_ID }, >>> The device ID should be 0xd300. This is the actual value read from the switch regs. >>> This also requires an entry in the 'b53_switch_chips' structure in b53_common.c. >> These are not real ID numbers, these are values that indicate the >> generation of the switch being embedded into the SoC. Within >> b53_common.c we don't have to differentiate a Starfighter 2 embedded in >> BCM11360, NSP, or 7445 or 7278, which is why using 58XX_DEVICE_ID should >> be good enough. > Ok. Thanks. > > I was under the impression, that these id's could be used in the b53_switch_detect() > API to auto detect the switch. In that API, the switch ID is read from the > Management page register. For external switches that is the case, but for internal/integrated switches, the ID is not always representative of the switch. This is why the choice of a chip-type ID was used here while adding support for NSP to the b53 driver. -- Florian -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html