[PATCH v3 1/2] gpio: davinci: Add keystone-k2g compatible
Keerthy
j-keerthy at ti.com
Wed Jul 26 06:36:51 PDT 2017
On Wednesday 26 July 2017 06:57 PM, Franklin S Cooper Jr wrote:
>
>
> On 07/26/2017 08:00 AM, Suman Anna wrote:
>> Hi Keerthy,
>>
>> On 07/26/2017 01:45 AM, Keerthy wrote:
>>> The patch adds keystone-k2g compatible, specific properties and
>>> an example.
>
> Seems we are adding information regarding several Keystone 2 SoCs. So
> the commit and subject should be tweaked to reflect this.
Okay i can add that as well.
>>
>> Please update patch header to "dt-bindings: gpio: davinci: ...."
>>
>>>
>>> Signed-off-by: Keerthy <j-keerthy at ti.com>
>>> ---
>>>
>>> Changes in v3:
>>>
>>> * Added details about family of SoCs corresponding to compatibles.
>>>
>>> .../devicetree/bindings/gpio/gpio-davinci.txt | 40 +++++++++++++++++++++-
>>> 1 file changed, 39 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt
>>> index 5079ba7..fb9efee 100644
>>> --- a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt
>>> +++ b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt
>>> @@ -1,7 +1,10 @@
>>> Davinci/Keystone GPIO controller bindings
>>>
>>> Required Properties:
>>> -- compatible: should be "ti,dm6441-gpio", "ti,keystone-gpio"
>>> +- compatible: should be "ti,dm6441-gpio": for Davinci da850 SoCs
>>> + "ti,keystone-gpio": for Keystone 2 66AK2H/K, 66AK2L,
>>> + 66AK2E SoCs
>>> + "ti,keystone-k2g-gpio", "ti,keystone-gpio": for 66AK2G
>>>
>>> - reg: Physical base address of the controller and the size of memory mapped
>>> registers.
>>> @@ -26,6 +29,17 @@ The GPIO controller also acts as an interrupt controller. It uses the default
>>> two cells specifier as described in Documentation/devicetree/bindings/
>>> interrupt-controller/interrupts.txt.
>>>
>>> +Required Properties specific to keystone-k2g
>>
>> Thanks for updating the binding for the clocks, but clocks are not
>> specific to K2G. They also apply to other K2 SoCs. Davinci platforms do
>> not have DT clocks atm, so the Davinci portion can be updated later if
>> and when they get added.
>>
>
> What about power-domain property?
Driver has no pm_runtime implemented yet.
>
>>> +
>>> +- clocks: Should contain devices input clock. The first parameter
>>> + is a handle to k2g_clks. The second parameter is the
>>> + device ID and the third parameter is the clock ID. One can
>>> + refer: http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data
>>
>> No need for this link here, just refer to the appropriate clock
>> bindings. Some thing like the following would be better
>
> This information is helpful especially with the macros being dropped.
> However, I agree that this is not the place for this information.
> Probably should be linked to in the ti,sci-clk.txt and
> sci-pm-domain.txt. However, both of these are outdated since it is
> referring to macros and includes that don't exist or will no longer exist.
Hence included here but yes i can point to something like what Suman
asked me to.
>
>>
>> - clocks: Should contain the device's input clock, and
>> should be defined as per the appropriate clock
>> bindings consumer usage in,
>>
>> Documentation/devicetree/bindings/clock/keystone-gate.txt
>> for 66AK2HK/66AK2L/66AK2E SoCs or,
>>
>> Documentation/devicetree/bindings/clock/ti,sci-clk.txt
>> for 66AK2G SoCs
>>
>>> +
>>> + Example: <&k2g_clks 0x001c 0x0>;
>>
>> This can be dropped as well, below example already demonstrates it.
>>
>>> +
>>> +- clock-names: The driver expects the clock name to be "gpio";
>>
>> Just say, Should be "gpio". No need of mentioning about the driver.
>>
>>> +
>>> Example:
>>>
>>> gpio: gpio at 1e26000 {
>>> @@ -60,3 +74,27 @@ leds {
>>> ...
>>> };
>>> };
>>> +
>>> +Example for keystone-k2g:
>>
>> s/keystone-k2g/66AK2G/
>>
>>> +
>>> +gpio0: gpio at 2603000 {
>>> + compatible = "ti,keystone-k2g-gpio", "ti,keystone-gpio";
>>> + reg = <0x02603000 0x100>;
>>> + gpio-controller;
>>> + #gpio-cells = <2>;
>>> + interrupts = <GIC_SPI 432 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 433 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 434 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 436 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 437 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 438 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 439 IRQ_TYPE_EDGE_RISING>,
>>> + <GIC_SPI 440 IRQ_TYPE_EDGE_RISING>;
>>> + interrupt-controller;
>>> + #interrupt-cells = <2>;
>>> + ti,ngpio = <144>;
>>> + ti,davinci-gpio-unbanked = <0>;
>>> + clocks = <&k2g_clks 0x001b 0x0>;
>>> + clock-names = "gpio";
>>> +};
>
> If your going to talk about other Keystone 2 devices it would be helpful
> to include an example for one of them since they have slightly different
> properties.
Sure.
>>>
>>
>> regards
>> Suman
>>
More information about the linux-arm-kernel
mailing list