Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
On 1/16/2015 11:48 AM, Uwe Kleine-König wrote: > Hello, > > On Fri, Jan 16, 2015 at 11:24:09AM -0800, Ray Jui wrote: + i2c0: i2c@18008000 { + compatible = "brcm,iproc-i2c"; >>> in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd >>> make this: >>> >>> compatible = "brcm,$mysoc-iproc-i2c", "brcm,iproc-i2c"; >>> >> Sorry could you please help to explain the intention here? Note the >> iProc I2C IP can be found in various iProc family of SoCs, but to my >> best knowledge, there hasn't been any changes of the IP in any of those >> SoCs. > This is just for making the device tree stable in the future. Consider > your gentle hardware engineers "fix" a small issue for the next > generation iproc SoC "pony" that needs an incompatible software change. > > Then you can fix the driver without updating the device trees by > switching to the SoC specific compatible string for "pony". And in case > the hardware engineers didn't tell you that there is a change and the > need for the software change is only detected when the machines are > already shipped, you're happy if you can fix your kernel without needing > to change the bootloader that provides the dtb. > So start already today to add the (for now unused) compatible string. > >> Is the compatible ID "brcm,$mysoc-iproc-i2c" only to clarify that it's >> for a specific SoC? If so, what should the compatible ID array look >> like? Should it be changed to the following? >> >> static const struct of_device_id bcm_iproc_i2c_of_match[] = { >> { .compatible = "brcm,iproc-i2c" }, >> { .compatible = "brcm,$mysoc-iproc-i2c" }, >> {}, >> }; > No, there is no need, see above. > > If something is still unclear, don't hesitate to ask. > > Best regards > Uwe > Okay got it. Thanks for the explanation! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
Hello, On Fri, Jan 16, 2015 at 11:24:09AM -0800, Ray Jui wrote: > >> + i2c0: i2c@18008000 { > >> + compatible = "brcm,iproc-i2c"; > > in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd > > make this: > > > > compatible = "brcm,$mysoc-iproc-i2c", "brcm,iproc-i2c"; > > > Sorry could you please help to explain the intention here? Note the > iProc I2C IP can be found in various iProc family of SoCs, but to my > best knowledge, there hasn't been any changes of the IP in any of those > SoCs. This is just for making the device tree stable in the future. Consider your gentle hardware engineers "fix" a small issue for the next generation iproc SoC "pony" that needs an incompatible software change. Then you can fix the driver without updating the device trees by switching to the SoC specific compatible string for "pony". And in case the hardware engineers didn't tell you that there is a change and the need for the software change is only detected when the machines are already shipped, you're happy if you can fix your kernel without needing to change the bootloader that provides the dtb. So start already today to add the (for now unused) compatible string. > Is the compatible ID "brcm,$mysoc-iproc-i2c" only to clarify that it's > for a specific SoC? If so, what should the compatible ID array look > like? Should it be changed to the following? > > static const struct of_device_id bcm_iproc_i2c_of_match[] = { > { .compatible = "brcm,iproc-i2c" }, > { .compatible = "brcm,$mysoc-iproc-i2c" }, > {}, > }; No, there is no need, see above. If something is still unclear, don't hesitate to ask. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
On 1/15/2015 12:44 AM, Uwe Kleine-König wrote: > Hello, > > On Wed, Jan 14, 2015 at 02:23:33PM -0800, Ray Jui wrote: >> Add I2C device nodes and its properties in bcm-cygnus.dtsi but keep >> them disabled there. Individual I2C devices can be enabled in board >> specific dts file when I2C slave devices are enabled in the future > s/$/./ > >> >> Signed-off-by: Ray Jui >> Reviewed-by: Scott Branden >> --- >> arch/arm/boot/dts/bcm-cygnus.dtsi | 20 >> 1 file changed, 20 insertions(+) >> >> diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi >> b/arch/arm/boot/dts/bcm-cygnus.dtsi >> index 5126f9e..f7d6c1d 100644 >> --- a/arch/arm/boot/dts/bcm-cygnus.dtsi >> +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi >> @@ -70,6 +70,26 @@ >> }; >> }; >> >> +i2c0: i2c@18008000 { >> +compatible = "brcm,iproc-i2c"; > in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd > make this: > > compatible = "brcm,$mysoc-iproc-i2c", "brcm,iproc-i2c"; > Sorry could you please help to explain the intention here? Note the iProc I2C IP can be found in various iProc family of SoCs, but to my best knowledge, there hasn't been any changes of the IP in any of those SoCs. Is the compatible ID "brcm,$mysoc-iproc-i2c" only to clarify that it's for a specific SoC? If so, what should the compatible ID array look like? Should it be changed to the following? static const struct of_device_id bcm_iproc_i2c_of_match[] = { { .compatible = "brcm,iproc-i2c" }, { .compatible = "brcm,$mysoc-iproc-i2c" }, {}, }; > (or maybe s/$mysoc-iproc-i2c/$mysoc-i2c/). > > Best regards > Uwe > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
On 1/15/2015 12:44 AM, Uwe Kleine-König wrote: Hello, On Wed, Jan 14, 2015 at 02:23:33PM -0800, Ray Jui wrote: Add I2C device nodes and its properties in bcm-cygnus.dtsi but keep them disabled there. Individual I2C devices can be enabled in board specific dts file when I2C slave devices are enabled in the future s/$/./ Signed-off-by: Ray Jui r...@broadcom.com Reviewed-by: Scott Branden sbran...@broadcom.com --- arch/arm/boot/dts/bcm-cygnus.dtsi | 20 1 file changed, 20 insertions(+) diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi index 5126f9e..f7d6c1d 100644 --- a/arch/arm/boot/dts/bcm-cygnus.dtsi +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi @@ -70,6 +70,26 @@ }; }; +i2c0: i2c@18008000 { +compatible = brcm,iproc-i2c; in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd make this: compatible = brcm,$mysoc-iproc-i2c, brcm,iproc-i2c; Sorry could you please help to explain the intention here? Note the iProc I2C IP can be found in various iProc family of SoCs, but to my best knowledge, there hasn't been any changes of the IP in any of those SoCs. Is the compatible ID brcm,$mysoc-iproc-i2c only to clarify that it's for a specific SoC? If so, what should the compatible ID array look like? Should it be changed to the following? static const struct of_device_id bcm_iproc_i2c_of_match[] = { { .compatible = brcm,iproc-i2c }, { .compatible = brcm,$mysoc-iproc-i2c }, {}, }; (or maybe s/$mysoc-iproc-i2c/$mysoc-i2c/). Best regards Uwe -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
Hello, On Fri, Jan 16, 2015 at 11:24:09AM -0800, Ray Jui wrote: + i2c0: i2c@18008000 { + compatible = brcm,iproc-i2c; in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd make this: compatible = brcm,$mysoc-iproc-i2c, brcm,iproc-i2c; Sorry could you please help to explain the intention here? Note the iProc I2C IP can be found in various iProc family of SoCs, but to my best knowledge, there hasn't been any changes of the IP in any of those SoCs. This is just for making the device tree stable in the future. Consider your gentle hardware engineers fix a small issue for the next generation iproc SoC pony that needs an incompatible software change. Then you can fix the driver without updating the device trees by switching to the SoC specific compatible string for pony. And in case the hardware engineers didn't tell you that there is a change and the need for the software change is only detected when the machines are already shipped, you're happy if you can fix your kernel without needing to change the bootloader that provides the dtb. So start already today to add the (for now unused) compatible string. Is the compatible ID brcm,$mysoc-iproc-i2c only to clarify that it's for a specific SoC? If so, what should the compatible ID array look like? Should it be changed to the following? static const struct of_device_id bcm_iproc_i2c_of_match[] = { { .compatible = brcm,iproc-i2c }, { .compatible = brcm,$mysoc-iproc-i2c }, {}, }; No, there is no need, see above. If something is still unclear, don't hesitate to ask. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
On 1/16/2015 11:48 AM, Uwe Kleine-König wrote: Hello, On Fri, Jan 16, 2015 at 11:24:09AM -0800, Ray Jui wrote: + i2c0: i2c@18008000 { + compatible = brcm,iproc-i2c; in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd make this: compatible = brcm,$mysoc-iproc-i2c, brcm,iproc-i2c; Sorry could you please help to explain the intention here? Note the iProc I2C IP can be found in various iProc family of SoCs, but to my best knowledge, there hasn't been any changes of the IP in any of those SoCs. This is just for making the device tree stable in the future. Consider your gentle hardware engineers fix a small issue for the next generation iproc SoC pony that needs an incompatible software change. Then you can fix the driver without updating the device trees by switching to the SoC specific compatible string for pony. And in case the hardware engineers didn't tell you that there is a change and the need for the software change is only detected when the machines are already shipped, you're happy if you can fix your kernel without needing to change the bootloader that provides the dtb. So start already today to add the (for now unused) compatible string. Is the compatible ID brcm,$mysoc-iproc-i2c only to clarify that it's for a specific SoC? If so, what should the compatible ID array look like? Should it be changed to the following? static const struct of_device_id bcm_iproc_i2c_of_match[] = { { .compatible = brcm,iproc-i2c }, { .compatible = brcm,$mysoc-iproc-i2c }, {}, }; No, there is no need, see above. If something is still unclear, don't hesitate to ask. Best regards Uwe Okay got it. Thanks for the explanation! -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
Hello, On Wed, Jan 14, 2015 at 02:23:33PM -0800, Ray Jui wrote: > Add I2C device nodes and its properties in bcm-cygnus.dtsi but keep > them disabled there. Individual I2C devices can be enabled in board > specific dts file when I2C slave devices are enabled in the future s/$/./ > > Signed-off-by: Ray Jui > Reviewed-by: Scott Branden > --- > arch/arm/boot/dts/bcm-cygnus.dtsi | 20 > 1 file changed, 20 insertions(+) > > diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi > b/arch/arm/boot/dts/bcm-cygnus.dtsi > index 5126f9e..f7d6c1d 100644 > --- a/arch/arm/boot/dts/bcm-cygnus.dtsi > +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi > @@ -70,6 +70,26 @@ > }; > }; > > + i2c0: i2c@18008000 { > + compatible = "brcm,iproc-i2c"; in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd make this: compatible = "brcm,$mysoc-iproc-i2c", "brcm,iproc-i2c"; (or maybe s/$mysoc-iproc-i2c/$mysoc-i2c/). Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
Hello, On Wed, Jan 14, 2015 at 02:23:33PM -0800, Ray Jui wrote: Add I2C device nodes and its properties in bcm-cygnus.dtsi but keep them disabled there. Individual I2C devices can be enabled in board specific dts file when I2C slave devices are enabled in the future s/$/./ Signed-off-by: Ray Jui r...@broadcom.com Reviewed-by: Scott Branden sbran...@broadcom.com --- arch/arm/boot/dts/bcm-cygnus.dtsi | 20 1 file changed, 20 insertions(+) diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi index 5126f9e..f7d6c1d 100644 --- a/arch/arm/boot/dts/bcm-cygnus.dtsi +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi @@ -70,6 +70,26 @@ }; }; + i2c0: i2c@18008000 { + compatible = brcm,iproc-i2c; in patch 2 you wrote the driver is for a family of SoCs, right? Then I'd make this: compatible = brcm,$mysoc-iproc-i2c, brcm,iproc-i2c; (or maybe s/$mysoc-iproc-i2c/$mysoc-i2c/). Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König| Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
Add I2C device nodes and its properties in bcm-cygnus.dtsi but keep them disabled there. Individual I2C devices can be enabled in board specific dts file when I2C slave devices are enabled in the future Signed-off-by: Ray Jui Reviewed-by: Scott Branden --- arch/arm/boot/dts/bcm-cygnus.dtsi | 20 1 file changed, 20 insertions(+) diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi index 5126f9e..f7d6c1d 100644 --- a/arch/arm/boot/dts/bcm-cygnus.dtsi +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi @@ -70,6 +70,26 @@ }; }; + i2c0: i2c@18008000 { + compatible = "brcm,iproc-i2c"; + reg = <0x18008000 0x100>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + clock-frequency = <10>; + status = "disabled"; + }; + + i2c1: i2c@1800b000 { + compatible = "brcm,iproc-i2c"; + reg = <0x1800b000 0x100>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = ; + clock-frequency = <10>; + status = "disabled"; + }; + uart0: serial@1802 { compatible = "snps,dw-apb-uart"; reg = <0x1802 0x100>; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v4 3/3] ARM: dts: add I2C device nodes for Broadcom Cygnus
Add I2C device nodes and its properties in bcm-cygnus.dtsi but keep them disabled there. Individual I2C devices can be enabled in board specific dts file when I2C slave devices are enabled in the future Signed-off-by: Ray Jui r...@broadcom.com Reviewed-by: Scott Branden sbran...@broadcom.com --- arch/arm/boot/dts/bcm-cygnus.dtsi | 20 1 file changed, 20 insertions(+) diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi index 5126f9e..f7d6c1d 100644 --- a/arch/arm/boot/dts/bcm-cygnus.dtsi +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi @@ -70,6 +70,26 @@ }; }; + i2c0: i2c@18008000 { + compatible = brcm,iproc-i2c; + reg = 0x18008000 0x100; + #address-cells = 1; + #size-cells = 0; + interrupts = GIC_SPI 85 IRQ_TYPE_NONE; + clock-frequency = 10; + status = disabled; + }; + + i2c1: i2c@1800b000 { + compatible = brcm,iproc-i2c; + reg = 0x1800b000 0x100; + #address-cells = 1; + #size-cells = 0; + interrupts = GIC_SPI 86 IRQ_TYPE_NONE; + clock-frequency = 10; + status = disabled; + }; + uart0: serial@1802 { compatible = snps,dw-apb-uart; reg = 0x1802 0x100; -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/