mbox series

[0/2] i2c: meson: add support for Meson G12A SoC i2c controller

Message ID 1543489197-183181-1-git-send-email-jian.hu@amlogic.com (mailing list archive)
Headers show
Series i2c: meson: add support for Meson G12A SoC i2c controller | expand

Message

Jian Hu Nov. 29, 2018, 10:59 a.m. UTC
1)Add G12A SoC i2c compatible string in dt-bindings.
2)Add compatible and data for G12A I2C controller driver.

Jian Hu (2):
  dt-bindings: i2c: meson: add Meson G12A SoC i2c compatible string
  i2c: meson: add support for Meson G12A SoC I2C controller

 Documentation/devicetree/bindings/i2c/i2c-meson.txt | 1 +
 drivers/i2c/busses/i2c-meson.c                      | 5 +++++
 2 files changed, 6 insertions(+)

Comments

Jerome Brunet Nov. 29, 2018, 11:02 a.m. UTC | #1
On Thu, 2018-11-29 at 18:59 +0800, Jian Hu wrote:
> 1)Add G12A SoC i2c compatible string in dt-bindings.
> 2)Add compatible and data for G12A I2C controller driver.
> 
> Jian Hu (2):
>   dt-bindings: i2c: meson: add Meson G12A SoC i2c compatible string
>   i2c: meson: add support for Meson G12A SoC I2C controller

Looks to me that the g12a is compatible with the axg. What is the point of
adding this new compatible string ?

> 
>  Documentation/devicetree/bindings/i2c/i2c-meson.txt | 1 +
>  drivers/i2c/busses/i2c-meson.c                      | 5 +++++
>  2 files changed, 6 insertions(+)
>
Jian Hu Nov. 29, 2018, 11:55 a.m. UTC | #2
On 2018/11/29 19:02, Jerome Brunet wrote:
> On Thu, 2018-11-29 at 18:59 +0800, Jian Hu wrote:
>> 1)Add G12A SoC i2c compatible string in dt-bindings.
>> 2)Add compatible and data for G12A I2C controller driver.
>>
>> Jian Hu (2):
>>    dt-bindings: i2c: meson: add Meson G12A SoC i2c compatible string
>>    i2c: meson: add support for Meson G12A SoC I2C controller
> 
> Looks to me that the g12a is compatible with the axg. What is the point of
> adding this new compatible string ?
> 

I am okay if it is reasonable below in file 
arch/arm64/boot/dts/amlogic/meson-g12a.dtsi. I2c controller node just 
uses axg's compatible.

			i2c0: i2c@1f000 {
				compatible = "amlogic,meson-axg-i2c";
				reg = <0x0 0x1f000 0x0 0x20>;
				interrupts = <GIC_SPI 21 		   IRQ_TYPE_EDGE_RISING>;
				clocks = <&clkc CLKID_I2C>;
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};

If it is, I just submit the i2c controller node in meson-g12a.dtsi.

>>
>>   Documentation/devicetree/bindings/i2c/i2c-meson.txt | 1 +
>>   drivers/i2c/busses/i2c-meson.c                      | 5 +++++
>>   2 files changed, 6 insertions(+)
>>
> 
> 
> .
>
Wolfram Sang Dec. 11, 2018, 8:36 p.m. UTC | #3
> I am okay if it is reasonable below in file
> arch/arm64/boot/dts/amlogic/meson-g12a.dtsi. I2c controller node just uses
> axg's compatible.
> 
> 			i2c0: i2c@1f000 {
> 				compatible = "amlogic,meson-axg-i2c";

Actually, you should have

	compatible = "amlogic,meson-g12a-i2c", "amlogic,meson-axg-i2c";

in the DT to have support for future SoC specific additions. And then,
patch 1 is needed.

Or do you handle this differently? I'd think this is DT standard.
Kevin Hilman Dec. 11, 2018, 9:41 p.m. UTC | #4
Wolfram Sang <wsa@the-dreams.de> writes:

>> I am okay if it is reasonable below in file
>> arch/arm64/boot/dts/amlogic/meson-g12a.dtsi. I2c controller node just uses
>> axg's compatible.
>> 
>> 			i2c0: i2c@1f000 {
>> 				compatible = "amlogic,meson-axg-i2c";
>
> Actually, you should have
>
> 	compatible = "amlogic,meson-g12a-i2c", "amlogic,meson-axg-i2c";
>
> in the DT to have support for future SoC specific additions. And then,
> patch 1 is needed.
>
> Or do you handle this differently? I'd think this is DT standard.

It's a DT standard *if* there are actual hardware differences.  In this
case, the IP block is identical, so there are no driver changes.

We prefer to add a new compatible if and when there are actual
driver/hardware changes.

Kevin
Wolfram Sang Dec. 11, 2018, 9:45 p.m. UTC | #5
> >> I am okay if it is reasonable below in file
> >> arch/arm64/boot/dts/amlogic/meson-g12a.dtsi. I2c controller node just uses
> >> axg's compatible.
> >> 
> >> 			i2c0: i2c@1f000 {
> >> 				compatible = "amlogic,meson-axg-i2c";
> >
> > Actually, you should have
> >
> > 	compatible = "amlogic,meson-g12a-i2c", "amlogic,meson-axg-i2c";
> >
> > in the DT to have support for future SoC specific additions. And then,
> > patch 1 is needed.
> >
> > Or do you handle this differently? I'd think this is DT standard.
> 
> It's a DT standard *if* there are actual hardware differences.  In this
> case, the IP block is identical, so there are no driver changes.
> 
> We prefer to add a new compatible if and when there are actual
> driver/hardware changes.

OK, fine with me. I just hope for you guys that there really is no
change in the IP block, otherwise you need to update DTs later.