[PATCH V2 RFC 6/6] ARM: dts: bcm2835: Add Raspberry Pi Zero
Stephen Warren
swarren at wwwdotorg.org
Tue Aug 2 13:56:59 PDT 2016
On 08/02/2016 01:29 PM, Stefan Wahren wrote:
> Hi Stephen,
>
>> Stephen Warren <swarren at wwwdotorg.org> hat am 2. August 2016 um 19:19
>> geschrieben:
>>
>>
>> On 07/26/2016 12:53 PM, Stefan Wahren wrote:
>>> The Raspberry Pi Zero is a minified version of model A+. It's
>>> notable there is no PWR LED and the ACT LED is inverted.
>>
>> Patches 3-6,
>> Acked-by: Stephen Warren <swarren at nvidia.com>
>>
>>> diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
>>> b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
>>
>> The following comment format is a bit strange, but I'm not sure there's
>> anything objectively better...
>
> the idea behind that was to provide valid values for every dr_mode with minimum
> effort. I see 2 alternative solutions:
> a) add different dr_mode examples to the dwc2 => doesn't work for all
> platforms
> b) add comments to drivers/usb/dwc2/platform.c => harder to find
>
> At the end the solution here is already obsolete. This patch series doesn't
> contain an update for the bcm2835_defconfig which should set the following:
>
> CONFIG_NOP_USB_XCEIV=y
> CONFIG_USB_GADGET=y
>
> After enabling these options another issue is revealed. Currently the dr_mode
> for all the other bcm283x boards isn't defined, which means "otg" instead of
> intended "host". But the dwc2 driver ignores this as long as CONFIG_USB_GADGET
> is not defined. So we need to define the dr_mode for all bcm283x boards.
Do note that the existing DTs must work with any new kernel update;
that's part of DT being an ABI. So, there should be no need to update
any of the existing DTs. Rather, the driver must cope with missing
properties and operate as best it can. Perhaps that means that even if
dr_mode is unspecified and hence defaults to otg, then if properties
that are mandatory for OTG to operate are missing, the driver falls back
to host mode. I think that'd be completely backwards-compatible?
> In
> order to avoid such massive copy & paste, we better define 3 dtsi files for each
> dr_mode.
3 DT files, with an appropriate one of those included in each RPi DT,
sounds reasonable.
> The only catch about this solution is the modes "otg" and "peripheral"
> wouldn't be referenced.
That's probably OK; in this patch the properties for those modes are in
a comment too, so essentially unreferenced. Perhaps on RPi platforms
where a choice is possible (Zero, A), there could be a comment next to
the include of the "host" or "otg" version that states the user might
want to edit the DT and include the other version instead. Then, those
files would be somewhat referenced.
More information about the linux-arm-kernel
mailing list