Enable the I2C core for this SoC.
Signed-off-by: Yakir Yang <[email protected]>
---
Documentation/devicetree/bindings/i2c/i2c-rk3x.txt | 4 ++--
drivers/i2c/busses/i2c-rk3x.c | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt b/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
index f0d71bc..0b4a85f 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
@@ -6,8 +6,8 @@ RK3xxx SoCs.
Required properties :
- reg : Offset and length of the register set for the device
- - compatible : should be "rockchip,rk3066-i2c", "rockchip,rk3188-i2c" or
- "rockchip,rk3288-i2c".
+ - compatible : should be "rockchip,rk3066-i2c", "rockchip,rk3188-i2c",
+ "rockchip,rk3228-i2c" or "rockchip,rk3288-i2c".
- interrupts : interrupt number
- clocks : parent clock
diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
index 9096d17..3dcc5f3 100644
--- a/drivers/i2c/busses/i2c-rk3x.c
+++ b/drivers/i2c/busses/i2c-rk3x.c
@@ -855,6 +855,7 @@ static struct rk3x_i2c_soc_data soc_data[3] = {
static const struct of_device_id rk3x_i2c_match[] = {
{ .compatible = "rockchip,rk3066-i2c", .data = (void *)&soc_data[0] },
{ .compatible = "rockchip,rk3188-i2c", .data = (void *)&soc_data[1] },
+ { .compatible = "rockchip,rk3228-i2c", .data = (void *)&soc_data[2] },
{ .compatible = "rockchip,rk3288-i2c", .data = (void *)&soc_data[2] },
{},
};
--
1.9.1
This patch add the i2c dt nodes for rk3228 SoCs.
Signed-off-by: Yakir Yang <[email protected]>
---
arch/arm/boot/dts/rk3228.dtsi | 80 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)
diff --git a/arch/arm/boot/dts/rk3228.dtsi b/arch/arm/boot/dts/rk3228.dtsi
index 119ff12..a159296 100644
--- a/arch/arm/boot/dts/rk3228.dtsi
+++ b/arch/arm/boot/dts/rk3228.dtsi
@@ -185,6 +185,58 @@
status = "disabled";
};
+ i2c0: i2c@11050000 {
+ compatible = "rockchip,rk3228-i2c";
+ reg = <0x11050000 0x1000>;
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "i2c";
+ clocks = <&cru PCLK_I2C0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c0_xfer>;
+ status = "disabled";
+ };
+
+ i2c1: i2c@11060000 {
+ compatible = "rockchip,rk3228-i2c";
+ reg = <0x11060000 0x1000>;
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "i2c";
+ clocks = <&cru PCLK_I2C1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_xfer>;
+ status = "disabled";
+ };
+
+ i2c2: i2c@11070000 {
+ compatible = "rockchip,rk3228-i2c";
+ reg = <0x11070000 0x1000>;
+ interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "i2c";
+ clocks = <&cru PCLK_I2C2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_xfer>;
+ status = "disabled";
+ };
+
+ i2c3: i2c@11080000 {
+ compatible = "rockchip,rk3228-i2c";
+ reg = <0x11080000 0x1000>;
+ interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "i2c";
+ clocks = <&cru PCLK_I2C3>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_xfer>;
+ status = "disabled";
+ };
+
pwm0: pwm@110b0000 {
compatible = "rockchip,rk3288-pwm";
reg = <0x110b0000 0x10>;
@@ -349,6 +401,34 @@
bias-disable;
};
+ i2c0 {
+ i2c0_xfer: i2c0-xfer {
+ rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>,
+ <0 1 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
+ i2c1 {
+ i2c1_xfer: i2c1-xfer {
+ rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
+ <0 3 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
+ i2c2 {
+ i2c2_xfer: i2c2-xfer {
+ rockchip,pins = <2 20 RK_FUNC_1 &pcfg_pull_none>,
+ <2 21 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
+ i2c3 {
+ i2c3_xfer: i2c3-xfer {
+ rockchip,pins = <0 6 RK_FUNC_1 &pcfg_pull_none>,
+ <0 7 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
emmc {
emmc_clk: emmc-clk {
rockchip,pins = <2 7 RK_FUNC_2 &pcfg_pull_none>;
--
1.9.1
Am Montag, 14. M?rz 2016, 11:09:15 schrieb Yakir Yang:
> Enable the I2C core for this SoC.
>
> Signed-off-by: Yakir Yang <[email protected]>
Reviewed-by: Heiko Stuebner <[email protected]>
Heiko
> ---
> Documentation/devicetree/bindings/i2c/i2c-rk3x.txt | 4 ++--
> drivers/i2c/busses/i2c-rk3x.c | 1 +
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
> b/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt index f0d71bc..0b4a85f
> 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
> @@ -6,8 +6,8 @@ RK3xxx SoCs.
> Required properties :
>
> - reg : Offset and length of the register set for the device
> - - compatible : should be "rockchip,rk3066-i2c", "rockchip,rk3188-i2c" or
> - "rockchip,rk3288-i2c".
> + - compatible : should be "rockchip,rk3066-i2c", "rockchip,rk3188-i2c",
> + "rockchip,rk3228-i2c" or "rockchip,rk3288-i2c".
> - interrupts : interrupt number
> - clocks : parent clock
>
> diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
> index 9096d17..3dcc5f3 100644
> --- a/drivers/i2c/busses/i2c-rk3x.c
> +++ b/drivers/i2c/busses/i2c-rk3x.c
> @@ -855,6 +855,7 @@ static struct rk3x_i2c_soc_data soc_data[3] = {
> static const struct of_device_id rk3x_i2c_match[] = {
> { .compatible = "rockchip,rk3066-i2c", .data = (void *)&soc_data[0] },
> { .compatible = "rockchip,rk3188-i2c", .data = (void *)&soc_data[1] },
> + { .compatible = "rockchip,rk3228-i2c", .data = (void *)&soc_data[2] },
> { .compatible = "rockchip,rk3288-i2c", .data = (void *)&soc_data[2] },
> {},
> };
On Mon, Mar 14, 2016 at 11:09:15AM +0800, Yakir Yang wrote:
> Enable the I2C core for this SoC.
>
> Signed-off-by: Yakir Yang <[email protected]>
> ---
> Documentation/devicetree/bindings/i2c/i2c-rk3x.txt | 4 ++--
> drivers/i2c/busses/i2c-rk3x.c | 1 +
> 2 files changed, 3 insertions(+), 2 deletions(-)
Acked-by: Rob Herring <[email protected]>
On Mon, Mar 14, 2016 at 11:09:15AM +0800, Yakir Yang wrote:
> Enable the I2C core for this SoC.
>
> Signed-off-by: Yakir Yang <[email protected]>
Applied to for-current, thanks!
On Mon, Mar 14, 2016 at 11:11:42AM +0800, Yakir Yang wrote:
> This patch add the i2c dt nodes for rk3228 SoCs.
>
> Signed-off-by: Yakir Yang <[email protected]>
This needs to go via arm-soc.
Hi Heiko,
On 04/13/2016 05:39 AM, Wolfram Sang wrote:
> On Mon, Mar 14, 2016 at 11:11:42AM +0800, Yakir Yang wrote:
>> This patch add the i2c dt nodes for rk3228 SoCs.
>>
>> Signed-off-by: Yakir Yang <[email protected]>
> This needs to go via arm-soc.
>
Could you pick up this patch, it's helpful to add rk3228 HDMI support :-)
- Yakir
> Could you pick up this patch, it's helpful to add rk3228 HDMI support :-)
I undestand that it is needed, but why not via arm-soc? dts files are
their realm.
On 04/13/2016 10:37 AM, Wolfram Sang wrote:
>> Could you pick up this patch, it's helpful to add rk3228 HDMI support :-)
> I undestand that it is needed, but why not via arm-soc? dts files are
> their realm.
>
Yep, for previous email, I'm replying to Heiko, but forget to add him to
the "TO" list ;)
Am Montag, 14. M?rz 2016, 11:11:42 schrieb Yakir Yang:
> This patch add the i2c dt nodes for rk3228 SoCs.
>
> Signed-off-by: Yakir Yang <[email protected]>
applied to my dts32 branch for 4.7, after moving the i2c pinctrl nodes in
between emmc and pwm* (please try to keep alphabetical ordering there)
Heiko