Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1699882 > unrolled thread

[PATCH 00/14] Support more devices on rockchip rv1108

Started byAndy Yan <andy.yan@rock-chips.com>
First post2017-07-31 12:10 +0200
Last post2017-07-31 12:30 +0200
Articles 20 on this page of 21 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/14] Support more devices on rockchip rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:10 +0200
    [PATCH 05/14] i2c: rk3x: add support for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
      Re: [PATCH 05/14] i2c: rk3x: add support for rv1108 Heiko Stübner <heiko@sntech.de> - 2017-07-31 13:30 +0200
    [PATCH 09/14] ARM: dts: rockchip: add pwm dt node for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
      Re: [PATCH 09/14] ARM: dts: rockchip: add pwm dt node for rv1108 Heiko Stübner <heiko@sntech.de> - 2017-07-31 13:30 +0200
    [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
      Re: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108 Heiko Stuebner <heiko@sntech.de> - 2017-08-01 17:20 +0200
        Re: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108 Heiko Stuebner <heiko@sntech.de> - 2017-08-01 21:00 +0200
          Re: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-08-02 02:40 +0200
    [PATCH 07/14] spi: rockchip: add compatible string for rv1108 spi Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
    [PATCH 06/14] ARM: dts: rockchip: add i2c dt node for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
    [PATCH 11/14] ARM: dts: rockchip: add saradc support for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
      Re: [PATCH 11/14] ARM: dts: rockchip: add saradc support for rv1108 Heiko Stuebner <heiko@sntech.de> - 2017-08-01 01:20 +0200
    [PATCH 08/14] ARM: dts: rockchip: add spi dt node for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
    [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
      Re: [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108 Heiko Stübner <heiko@sntech.de> - 2017-07-31 13:30 +0200
      Re: [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108 Linus Walleij <linus.walleij@linaro.org> - 2017-08-07 10:50 +0200
    [PATCH 04/14] dt-bindings: i2c: rk3x: add support for rv1108 Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:20 +0200
    [PATCH 14/14] ARM: dts: rockchip: add accelerometer bma250e dt node for rv1108 evb Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:30 +0200
    [PATCH 13/14] ARM: dts: rockchip: add pmic rk805 dt node for rv1108 evb Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:30 +0200
    [PATCH 12/14] ARM: dts: rockchip: add pwm backlight for rv1108 evb Andy Yan <andy.yan@rock-chips.com> - 2017-07-31 12:30 +0200

Page 1 of 2  [1] 2  Next page →


#1699882 — [PATCH 00/14] Support more devices on rockchip rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:10 +0200
Subject[PATCH 00/14] Support more devices on rockchip rv1108
Message-ID<u9fOa-4XH-17@gated-at.bofh.it>
This series try to support i2c/spi/pwm/saradc/pmic/watchdog and
the full clk tree on rockchip rv1108 soc.


Andy Yan (12):
  pinctrl: rockchip: add input schmitt support for rv1108
  dt-bindings: i2c: rk3x: add support for rv1108
  i2c: rk3x: add support for rv1108
  ARM: dts: rockchip: add i2c dt node for rv1108
  spi: rockchip: add compatible string for rv1108 spi
  ARM: dts: rockchip: add spi dt node for rv1108
  ARM: dts: rockchip: add pwm dt node for rv1108
  ARM: dts: rockchip: add watchdog dt node for rv1108
  ARM: dts: rockchip: add saradc support for rv1108
  ARM: dts: rockchip: add pwm backlight for rv1108 evb
  ARM: dts: rockchip: add pmic rk805 dt node for rv1108 evb
  ARM: dts: rockchip: add accelerometer bma250e dt node for rv1108 evb

Elaine Zhang (2):
  clk: rockchip: add more clk ids for rv1108
  clk: rockchip: support more clks for rv1108

 Documentation/devicetree/bindings/i2c/i2c-rk3x.txt |   1 +
 .../devicetree/bindings/spi/spi-rockchip.txt       |   1 +
 arch/arm/boot/dts/rv1108-evb.dts                   | 158 +++++++
 arch/arm/boot/dts/rv1108.dtsi                      | 249 ++++++++++
 drivers/clk/rockchip/clk-rv1108.c                  | 513 ++++++++++++++++-----
 drivers/i2c/busses/i2c-rk3x.c                      |   9 +
 drivers/pinctrl/pinctrl-rockchip.c                 |  31 ++
 drivers/spi/spi-rockchip.c                         |   1 +
 include/dt-bindings/clock/rv1108-cru.h             | 128 ++++-
 9 files changed, 964 insertions(+), 127 deletions(-)

-- 
2.7.4

[toc] | [next] | [standalone]


#1699890 — [PATCH 05/14] i2c: rk3x: add support for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 05/14] i2c: rk3x: add support for rv1108
Message-ID<u9fXQ-513-9@gated-at.bofh.it>
In reply to#1699882
Support for the i2c controller on rv1108

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 drivers/i2c/busses/i2c-rk3x.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
index df22066..fe23457 100644
--- a/drivers/i2c/busses/i2c-rk3x.c
+++ b/drivers/i2c/busses/i2c-rk3x.c
@@ -1131,6 +1131,11 @@ static const struct i2c_algorithm rk3x_i2c_algorithm = {
 	.functionality		= rk3x_i2c_func,
 };
 
+static const struct rk3x_i2c_soc_data rv1108_soc_data = {
+	.grf_offset = -1,
+	.calc_timings = rk3x_i2c_v1_calc_timings,
+};
+
 static const struct rk3x_i2c_soc_data rk3066_soc_data = {
 	.grf_offset = 0x154,
 	.calc_timings = rk3x_i2c_v0_calc_timings,
@@ -1158,6 +1163,10 @@ static const struct rk3x_i2c_soc_data rk3399_soc_data = {
 
 static const struct of_device_id rk3x_i2c_match[] = {
 	{
+		.compatible = "rockchip,rv1108-i2c",
+		.data = (void *)&rv1108_soc_data
+	},
+	{
 		.compatible = "rockchip,rk3066-i2c",
 		.data = (void *)&rk3066_soc_data
 	},
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699951 — Re: [PATCH 05/14] i2c: rk3x: add support for rv1108

FromHeiko Stübner <heiko@sntech.de>
Date2017-07-31 13:30 +0200
SubjectRe: [PATCH 05/14] i2c: rk3x: add support for rv1108
Message-ID<u9h3A-5Dx-25@gated-at.bofh.it>
In reply to#1699890
Am Montag, 31. Juli 2017, 18:12:43 CEST schrieb Andy Yan:
> Support for the i2c controller on rv1108
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>

Reviewed-by: Heiko Stuebner <heiko@sntech.de>

[toc] | [prev] | [next] | [standalone]


#1699891 — [PATCH 09/14] ARM: dts: rockchip: add pwm dt node for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 09/14] ARM: dts: rockchip: add pwm dt node for rv1108
Message-ID<u9fXQ-513-13@gated-at.bofh.it>
In reply to#1699882
Add pwm device tree node for rv1108

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108.dtsi | 143 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 143 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index 6ae83a8..7fcc6de 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -213,6 +213,54 @@
 		status = "disabled";
 	};
 
+	pwm4: pwm@10280000 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x10280000 0x10>;
+		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm4_pin>;
+		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
+	pwm5: pwm@10280010 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x10280010 0x10>;
+		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm5_pin>;
+		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
+	pwm6: pwm@10280020 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x10280020 0x10>;
+		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm6_pin>;
+		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
+	pwm7: pwm@10280030 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x10280030 0x10>;
+		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm7_pin>;
+		clocks = <&cru SCLK_PWM1>, <&cru PCLK_PWM1>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
 	grf: syscon@10300000 {
 		compatible = "rockchip,rv1108-grf", "syscon";
 		reg = <0x10300000 0x1000>;
@@ -232,6 +280,53 @@
 		status = "disabled";
 	};
 
+	pwm0: pwm@20040000 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x20040000 0x10>;
+		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm0_pin>;
+		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
+	pwm1: pwm@20040010 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x20040010 0x10>;
+		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm1_pin>;
+		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
+	pwm2: pwm@20040020 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x20040020 0x10>;
+		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm2_pin>;
+		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
+
+	pwm3: pwm@20040030 {
+		compatible = "rockchip,rk3288-pwm";
+		reg = <0x20040030 0x10>;
+		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
+		#pwm-cells = <3>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pwm3_pin>;
+		clocks = <&cru SCLK_PWM0_PMU>, <&cru PCLK_PWM0_PMU>;
+		clock-names = "pwm", "pclk";
+		status = "disabled";
+	};
 	pmugrf: syscon@20060000 {
 		compatible = "rockchip,rv1108-pmugrf", "syscon";
 		reg = <0x20060000 0x1000>;
@@ -453,6 +548,54 @@
 			};
 		};
 
+		pwm0 {
+			pwm0_pin: pwm0-pin {
+				rockchip,pins = <0 RK_PC5 RK_FUNC_1 &pcfg_pull_none>;
+			};
+		};
+
+		pwm1 {
+			pwm1_pin: pwm1-pin {
+				rockchip,pins = <0 RK_PC4 RK_FUNC_1 &pcfg_pull_none>;
+			};
+		};
+
+		pwm2 {
+			pwm2_pin: pwm2-pin {
+				rockchip,pins = <0 RK_PC6 RK_FUNC_1 &pcfg_pull_none>;
+			};
+		};
+
+		pwm3 {
+			pwm3_pin: pwm3-pin {
+				rockchip,pins = <0 RK_PC0 RK_FUNC_1 &pcfg_pull_none>;
+			};
+		};
+
+		pwm4 {
+			pwm4_pin: pwm4-pin {
+				rockchip,pins = <1 RK_PC1 RK_FUNC_3 &pcfg_pull_none>;
+			};
+		};
+
+		pwm5 {
+			pwm5_pin: pwm5-pin {
+				rockchip,pins = <1 RK_PA7 RK_FUNC_2 &pcfg_pull_none>;
+			};
+		};
+
+		pwm6 {
+			pwm6_pin: pwm6-pin {
+				rockchip,pins = <1 RK_PB0 RK_FUNC_2 &pcfg_pull_none>;
+			};
+		};
+
+		pwm7 {
+			pwm7_pin: pwm7-pin {
+				rockchip,pins = <1 RK_PB1 RK_FUNC_2 &pcfg_pull_none>;
+			};
+		};
+
 		sdmmc {
 			sdmmc_clk: sdmmc-clk {
 				rockchip,pins = <3 RK_PC4 RK_FUNC_1 &pcfg_pull_none_drv_4ma>;
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699948 — Re: [PATCH 09/14] ARM: dts: rockchip: add pwm dt node for rv1108

FromHeiko Stübner <heiko@sntech.de>
Date2017-07-31 13:30 +0200
SubjectRe: [PATCH 09/14] ARM: dts: rockchip: add pwm dt node for rv1108
Message-ID<u9h3A-5Dx-21@gated-at.bofh.it>
In reply to#1699891
Hi Andy,

Am Montag, 31. Juli 2017, 18:17:45 CEST schrieb Andy Yan:
> Add pwm device tree node for rv1108
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> ---
> 
>  arch/arm/boot/dts/rv1108.dtsi | 143
> ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143
> insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
> index 6ae83a8..7fcc6de 100644
> --- a/arch/arm/boot/dts/rv1108.dtsi
> +++ b/arch/arm/boot/dts/rv1108.dtsi
> @@ -213,6 +213,54 @@
>  		status = "disabled";
>  	};
> 
> +	pwm4: pwm@10280000 {
> +		compatible = "rockchip,rk3288-pwm";

please make that a
	compatible = "rockchip,rv1108-pwm", "rockchip,rk3288-pwm";

and update the binding accordingly.


Thanks
Heiko

[toc] | [prev] | [next] | [standalone]


#1699892 — [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108
Message-ID<u9fXQ-513-15@gated-at.bofh.it>
In reply to#1699882
Add watchdog device tree node for rv1108

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index 7fcc6de..1fc467e 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -266,6 +266,15 @@
 		reg = <0x10300000 0x1000>;
 	};
 
+	watchdog: wdt@10360000 {
+		compatible = "snps,dw-wdt";
+		reg = <0x10360000 0x100>;
+		clocks = <&cru PCLK_WDT>;
+		clock-names = "pclk_wdt";
+		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+		status = "disabled";
+	};
+
 	i2c0: i2c@20000000 {
 		compatible = "rockchip,rv1108-i2c";
 		reg = <0x20000000 0x1000>;
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1701143 — Re: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108

FromHeiko Stuebner <heiko@sntech.de>
Date2017-08-01 17:20 +0200
SubjectRe: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108
Message-ID<u9H7H-5CS-3@gated-at.bofh.it>
In reply to#1699892
Hi Andy,

Am Montag, 31. Juli 2017, 18:18:30 CEST schrieb Andy Yan:
> Add watchdog device tree node for rv1108
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>

I've adapted this patch to apply against the current rv1108.dtsi
and applied it for 4.14. So resends of your series should take this
change into account please :-) .

See
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git/log/?h=v4.14-armsoc/dts32
for reference


Heiko

[toc] | [prev] | [next] | [standalone]


#1701345 — Re: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108

FromHeiko Stuebner <heiko@sntech.de>
Date2017-08-01 21:00 +0200
SubjectRe: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108
Message-ID<u9KyC-7DW-25@gated-at.bofh.it>
In reply to#1701143
Hi Andy,

Am Dienstag, 1. August 2017, 17:16:40 CEST schrieb Heiko Stuebner:
> Am Montag, 31. Juli 2017, 18:18:30 CEST schrieb Andy Yan:
> > Add watchdog device tree node for rv1108
> > 
> > Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> 
> I've adapted this patch to apply against the current rv1108.dtsi
> and applied it for 4.14. So resends of your series should take this
> change into account please :-) .

as the kbuild robot noticed that it doesn't build and I somehow missed
that (heat and all), I've dropped the patch again.

So we'll need to wait for your v2 of the series.


Heiko

[toc] | [prev] | [next] | [standalone]


#1701606 — Re: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-08-02 02:40 +0200
SubjectRe: [PATCH 10/14] ARM: dts: rockchip: add watchdog dt node for rv1108
Message-ID<u9PRD-2Dc-7@gated-at.bofh.it>
In reply to#1701345
Hi Heiko:


On 2017年08月02日 02:55, Heiko Stuebner wrote:
> Hi Andy,
>
> Am Dienstag, 1. August 2017, 17:16:40 CEST schrieb Heiko Stuebner:
>> Am Montag, 31. Juli 2017, 18:18:30 CEST schrieb Andy Yan:
>>> Add watchdog device tree node for rv1108
>>>
>>> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
>> I've adapted this patch to apply against the current rv1108.dtsi
>> and applied it for 4.14. So resends of your series should take this
>> change into account please :-) .
> as the kbuild robot noticed that it doesn't build and I somehow missed
> that (heat and all), I've dropped the patch again.
>
> So we'll need to wait for your v2 of the series.

     All the dts series depend on the clk id parts. I will send the V2 
today.
>
> Heiko
>
>
>

[toc] | [prev] | [next] | [standalone]


#1699893 — [PATCH 07/14] spi: rockchip: add compatible string for rv1108 spi

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 07/14] spi: rockchip: add compatible string for rv1108 spi
Message-ID<u9fXQ-513-11@gated-at.bofh.it>
In reply to#1699882
The spi on rv1108 is the same as other rockchip based
socs, add compatible string for it.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 Documentation/devicetree/bindings/spi/spi-rockchip.txt | 1 +
 drivers/spi/spi-rockchip.c                             | 1 +
 2 files changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/spi/spi-rockchip.txt b/Documentation/devicetree/bindings/spi/spi-rockchip.txt
index 83da493..6e3ffac 100644
--- a/Documentation/devicetree/bindings/spi/spi-rockchip.txt
+++ b/Documentation/devicetree/bindings/spi/spi-rockchip.txt
@@ -6,6 +6,7 @@ and display controllers using the SPI communication interface.
 Required Properties:
 
 - compatible: should be one of the following.
+    "rockchip,rv1108-spi" for rv1108 SoCs.
     "rockchip,rk3036-spi" for rk3036 SoCS.
     "rockchip,rk3066-spi" for rk3066 SoCs.
     "rockchip,rk3188-spi" for rk3188 SoCs.
diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c
index 0b4a52b..6235b14 100644
--- a/drivers/spi/spi-rockchip.c
+++ b/drivers/spi/spi-rockchip.c
@@ -919,6 +919,7 @@ static const struct dev_pm_ops rockchip_spi_pm = {
 };
 
 static const struct of_device_id rockchip_spi_dt_match[] = {
+	{ .compatible = "rockchip,rv1108-spi", }
 	{ .compatible = "rockchip,rk3036-spi", },
 	{ .compatible = "rockchip,rk3066-spi", },
 	{ .compatible = "rockchip,rk3188-spi", },
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699894 — [PATCH 06/14] ARM: dts: rockchip: add i2c dt node for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 06/14] ARM: dts: rockchip: add i2c dt node for rv1108
Message-ID<u9fXR-513-21@gated-at.bofh.it>
In reply to#1699882
There are four i2c controllers on rv1108, add
device tree node for them.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108.dtsi | 72 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index 0da144c..a4d34d9 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -52,6 +52,10 @@
 	interrupt-parent = <&gic>;
 
 	aliases {
+		i2c0 = &i2c0;
+		i2c1 = &i2c1;
+		i2c2 = &i2c2;
+		i2c3 = &i2c3;
 		serial0 = &uart0;
 		serial1 = &uart1;
 		serial2 = &uart2;
@@ -154,11 +158,67 @@
 		status = "disabled";
 	};
 
+	i2c1: i2c@10240000 {
+		compatible = "rockchip,rv1108-i2c";
+		reg = <0x10240000 0x1000>;
+		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+		rockchip,grf = <&grf>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
+		clock-names = "i2c", "pclk";
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2c1_xfer>;
+		status = "disabled";
+	};
+
+	i2c2: i2c@10250000 {
+		compatible = "rockchip,rv1108-i2c";
+		reg = <0x10250000 0x1000>;
+		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+		rockchip,grf = <&grf>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
+		clock-names = "i2c", "pclk";
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2c2m1_xfer>;
+		status = "disabled";
+	};
+
+	i2c3: i2c@10260000 {
+		compatible = "rockchip,rv1108-i2c";
+		reg = <0x10260000 0x1000>;
+		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+		rockchip,grf = <&grf>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
+		clock-names = "i2c", "pclk";
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2c3_xfer>;
+		status = "disabled";
+	};
+
 	grf: syscon@10300000 {
 		compatible = "rockchip,rv1108-grf", "syscon";
 		reg = <0x10300000 0x1000>;
 	};
 
+	i2c0: i2c@20000000 {
+		compatible = "rockchip,rv1108-i2c";
+		reg = <0x20000000 0x1000>;
+		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+		rockchip,grf = <&grf>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cru SCLK_I2C0_PMU>, <&cru PCLK_I2C0_PMU>;
+		clock-names = "i2c", "pclk";
+		pinctrl-names = "default";
+		pinctrl-0 = <&i2c0_xfer>;
+		status = "disabled";
+	};
+
 	pmugrf: syscon@20060000 {
 		compatible = "rockchip,rv1108-pmugrf", "syscon";
 		reg = <0x20060000 0x1000>;
@@ -330,6 +390,18 @@
 			input-enable;
 		};
 
+		pcfg_pull_none_smt: pcfg-pull-none-smt {
+			bias-disable;
+			input-schmitt-enable;
+		};
+
+		i2c0 {
+			i2c0_xfer: i2c0-xfer {
+				rockchip,pins = <0 RK_PB1 RK_FUNC_1 &pcfg_pull_none_smt>,
+						<0 RK_PB2 RK_FUNC_1 &pcfg_pull_none_smt>;
+			};
+		};
+
 		i2c1 {
 			i2c1_xfer: i2c1-xfer {
 				rockchip,pins = <2 RK_PD3 RK_FUNC_1 &pcfg_pull_up>,
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699896 — [PATCH 11/14] ARM: dts: rockchip: add saradc support for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 11/14] ARM: dts: rockchip: add saradc support for rv1108
Message-ID<u9fXR-513-27@gated-at.bofh.it>
In reply to#1699882
Add saradc device tree node for rv1108

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index 1fc467e..958fecd 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -275,6 +275,18 @@
 		status = "disabled";
 	};
 
+	adc: adc@1038c000 {
+		compatible = "rockchip,rk3399-saradc";
+		reg = <0x1038c000 0x100>;
+		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+		#io-channel-cells = <1>;
+		io-channel-ranges;
+		clock-frequency = <1000000>;
+		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
+		clock-names = "saradc", "apb_pclk";
+		status = "disabled";
+	};
+
 	i2c0: i2c@20000000 {
 		compatible = "rockchip,rv1108-i2c";
 		reg = <0x20000000 0x1000>;
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1700497 — Re: [PATCH 11/14] ARM: dts: rockchip: add saradc support for rv1108

FromHeiko Stuebner <heiko@sntech.de>
Date2017-08-01 01:20 +0200
SubjectRe: [PATCH 11/14] ARM: dts: rockchip: add saradc support for rv1108
Message-ID<u9s8F-428-1@gated-at.bofh.it>
In reply to#1699896
Hi Andy,

Am Montag, 31. Juli 2017, 18:19:19 CEST schrieb Andy Yan:
> Add saradc device tree node for rv1108
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
> ---
> 
>  arch/arm/boot/dts/rv1108.dtsi | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
> index 1fc467e..958fecd 100644
> --- a/arch/arm/boot/dts/rv1108.dtsi
> +++ b/arch/arm/boot/dts/rv1108.dtsi
> @@ -275,6 +275,18 @@
>  		status = "disabled";
>  	};
>  
> +	adc: adc@1038c000 {
> +		compatible = "rockchip,rk3399-saradc";

you should amend the binding txt to make this something like
compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc"

See for example the bindings/mmc/rockchip-dw-mshc.txt as inspiration.

Heiko

[toc] | [prev] | [next] | [standalone]


#1699897 — [PATCH 08/14] ARM: dts: rockchip: add spi dt node for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 08/14] ARM: dts: rockchip: add spi dt node for rv1108
Message-ID<u9fXR-513-35@gated-at.bofh.it>
In reply to#1699882
Add SPI device tree node for rv1108

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108.dtsi b/arch/arm/boot/dts/rv1108.dtsi
index a4d34d9..6ae83a8 100644
--- a/arch/arm/boot/dts/rv1108.dtsi
+++ b/arch/arm/boot/dts/rv1108.dtsi
@@ -200,6 +200,19 @@
 		status = "disabled";
 	};
 
+	spi: spi@10270000 {
+		compatible = "rockchip,rv1108-spi";
+		reg = <0x10270000 0x1000>;
+		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>;
+		clock-names = "spiclk", "apb_pclk";
+		dmas = <&pdma 8>, <&pdma 9>;
+		#dma-cells = <2>;
+		status = "disabled";
+	};
+
 	grf: syscon@10300000 {
 		compatible = "rockchip,rv1108-grf", "syscon";
 		reg = <0x10300000 0x1000>;
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699899 — [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108
Message-ID<u9fXR-513-33@gated-at.bofh.it>
In reply to#1699882
Some pins like i2c SCL/SDA need the schmitt input function
to avoid crosstalk problems.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 drivers/pinctrl/pinctrl-rockchip.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index e831647..868cb9c 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1084,6 +1084,36 @@ static void rv1108_calc_drv_reg_and_bit(struct rockchip_pin_bank *bank,
 	*bit *= RV1108_DRV_BITS_PER_PIN;
 }
 
+#define RV1108_SCHMITT_PMU_OFFSET		0x30
+#define RV1108_SCHMITT_GRF_OFFSET		0x388
+#define RV1108_SCHMITT_BANK_STRIDE		8
+#define RV1108_SCHMITT_PINS_PER_GRF_REG		16
+#define RV1108_SCHMITT_PINS_PER_PMU_REG		8
+
+static int rv1108_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank,
+					   int pin_num,
+					   struct regmap **regmap,
+					   int *reg, u8 *bit)
+{
+	struct rockchip_pinctrl *info = bank->drvdata;
+	int pins_per_reg;
+
+	if (bank->bank_num == 0) {
+		*regmap = info->regmap_pmu;
+		*reg = RV1108_SCHMITT_PMU_OFFSET;
+		pins_per_reg = RV1108_SCHMITT_PINS_PER_PMU_REG;
+	} else {
+		*regmap = info->regmap_base;
+		*reg = RV1108_SCHMITT_GRF_OFFSET;
+		pins_per_reg = RV1108_SCHMITT_PINS_PER_GRF_REG;
+		*reg += (bank->bank_num  - 1) * RV1108_SCHMITT_BANK_STRIDE;
+	}
+	*reg += ((pin_num / pins_per_reg) * 4);
+	*bit = pin_num % pins_per_reg;
+
+	return 0;
+}
+
 #define RK2928_PULL_OFFSET		0x118
 #define RK2928_PULL_PINS_PER_REG	16
 #define RK2928_PULL_BANK_STRIDE		8
@@ -3017,6 +3047,7 @@ static struct rockchip_pin_ctrl rv1108_pin_ctrl = {
 	.pmu_mux_offset		= 0x0,
 	.pull_calc_reg		= rv1108_calc_pull_reg_and_bit,
 	.drv_calc_reg		= rv1108_calc_drv_reg_and_bit,
+	.schmitt_calc_reg	= rv1108_calc_schmitt_reg_and_bit,
 };
 
 static struct rockchip_pin_bank rk2928_pin_banks[] = {
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699947 — Re: [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108

FromHeiko Stübner <heiko@sntech.de>
Date2017-07-31 13:30 +0200
SubjectRe: [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108
Message-ID<u9h3z-5Dx-13@gated-at.bofh.it>
In reply to#1699899
Am Montag, 31. Juli 2017, 18:10:22 CEST schrieb Andy Yan:
> Some pins like i2c SCL/SDA need the schmitt input function
> to avoid crosstalk problems.
> 
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>

Reviewed-by: Heiko Stuebner <heiko@sntech.de>

[toc] | [prev] | [next] | [standalone]


#1705254 — Re: [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108

FromLinus Walleij <linus.walleij@linaro.org>
Date2017-08-07 10:50 +0200
SubjectRe: [PATCH 03/14] pinctrl: rockchip: add input schmitt support for rv1108
Message-ID<ubLTA-5V4-27@gated-at.bofh.it>
In reply to#1699899
On Mon, Jul 31, 2017 at 12:10 PM, Andy Yan <andy.yan@rock-chips.com> wrote:

> Some pins like i2c SCL/SDA need the schmitt input function
> to avoid crosstalk problems.
>
> Signed-off-by: Andy Yan <andy.yan@rock-chips.com>

Patch applied with Heiko's review tag.

Yours,
Linus Walleij

[toc] | [prev] | [next] | [standalone]


#1699901 — [PATCH 04/14] dt-bindings: i2c: rk3x: add support for rv1108

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:20 +0200
Subject[PATCH 04/14] dt-bindings: i2c: rk3x: add support for rv1108
Message-ID<u9fXS-513-43@gated-at.bofh.it>
In reply to#1699882
Add dt Document for i2c controller on rv1108

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 Documentation/devicetree/bindings/i2c/i2c-rk3x.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt b/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
index e18445d..22f2eeb 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-rk3x.txt
@@ -7,6 +7,7 @@ Required properties :
 
  - reg : Offset and length of the register set for the device
  - compatible: should be one of the following:
+   - "rockchip,rv1108-i2c": for rv1108
    - "rockchip,rk3066-i2c": for rk3066
    - "rockchip,rk3188-i2c": for rk3188
    - "rockchip,rk3228-i2c": for rk3228
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699908 — [PATCH 14/14] ARM: dts: rockchip: add accelerometer bma250e dt node for rv1108 evb

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:30 +0200
Subject[PATCH 14/14] ARM: dts: rockchip: add accelerometer bma250e dt node for rv1108 evb
Message-ID<u9g7w-54B-23@gated-at.bofh.it>
In reply to#1699882
Add dt node of bosch accelerometer bma250e on rv1108 evb.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108-evb.dts | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108-evb.dts b/arch/arm/boot/dts/rv1108-evb.dts
index 5675975..60bb501 100644
--- a/arch/arm/boot/dts/rv1108-evb.dts
+++ b/arch/arm/boot/dts/rv1108-evb.dts
@@ -109,6 +109,13 @@
 	i2c-scl-falling-time-ns = <16>;
 	clock-frequency = <400000>;
 
+	bma250: accelerometer@19 {
+		compatible = "bosch,bma250e";
+		reg = <0x19>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <RK_PB3 IRQ_TYPE_LEVEL_LOW>;
+	};
+
 	rk805: pmic@18 {
 		compatible = "rockchip,rk805";
 		reg = <0x18>;
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1699910 — [PATCH 13/14] ARM: dts: rockchip: add pmic rk805 dt node for rv1108 evb

FromAndy Yan <andy.yan@rock-chips.com>
Date2017-07-31 12:30 +0200
Subject[PATCH 13/14] ARM: dts: rockchip: add pmic rk805 dt node for rv1108 evb
Message-ID<u9g7w-54B-25@gated-at.bofh.it>
In reply to#1699882
RK805 is used as the voltage regulator on rv1108 evaluation
board. Add device tree node for it.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---

 arch/arm/boot/dts/rv1108-evb.dts | 108 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/arch/arm/boot/dts/rv1108-evb.dts b/arch/arm/boot/dts/rv1108-evb.dts
index 8a5a88f..5675975 100644
--- a/arch/arm/boot/dts/rv1108-evb.dts
+++ b/arch/arm/boot/dts/rv1108-evb.dts
@@ -93,6 +93,114 @@
 			248 249 250 251 252 253 254 255>;
 		default-brightness-level = <200>;
 	};
+
+	vcc_sys: vsys-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "vsys";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-boot-on;
+	};
+};
+
+&i2c0 {
+	status = "okay";
+	i2c-scl-rising-time-ns = <275>;
+	i2c-scl-falling-time-ns = <16>;
+	clock-frequency = <400000>;
+
+	rk805: pmic@18 {
+		compatible = "rockchip,rk805";
+		reg = <0x18>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
+		rockchip,system-power-controller;
+
+		vcc1-supply = <&vcc_sys>;
+		vcc2-supply = <&vcc_sys>;
+		vcc3-supply = <&vcc_sys>;
+		vcc4-supply = <&vcc_sys>;
+		vcc5-supply = <&vcc_sys>;
+		vcc6-supply = <&vcc_sys>;
+
+		regulators {
+			vdd_core: DCDC_REG1 {
+				regulator-name= "vdd_core";
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-state-mem {
+					regulator-state-enabled;
+					regulator-state-uv = <900000>;
+				};
+			};
+
+			vdd_cam: DCDC_REG2 {
+				regulator-name= "vdd_cam";
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <2000000>;
+				regulator-state-mem {
+					regulator-state-disabled;
+				};
+			};
+
+			vcc_ddr: DCDC_REG3 {
+				regulator-name= "vcc_ddr";
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-state-mem {
+					regulator-state-enabled;
+				};
+			};
+
+			vcc_io: DCDC_REG4 {
+				regulator-name= "vcc_io";
+				regulator-min-microvolt = <3300000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-state-mem {
+					regulator-state-enabled;
+					regulator-state-uv = <3300000>;
+				};
+			};
+
+			vdd_10: LDO_REG1 {
+				regulator-name= "vdd_10";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-state-mem {
+					regulator-state-disabled;
+				};
+			};
+
+			vcc_18: LDO_REG2 {
+				regulator-name= "vcc_18";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-state-mem {
+					regulator-state-disabled;
+				};
+			};
+
+			vdd10_pmu: LDO_REG3 {
+				regulator-name= "vdd10_pmu";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-state-mem {
+					regulator-state-enabled;
+					regulator-state-uv = <1000000>;
+				};
+			};
+		};
+	};
 };
 
 &pwm0 {
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | linux.kernel


csiph-web