* [PATCH v4 0/9] Add the family patches to support for kylin board
@ 2016-01-28 8:43 Caesar Wang
2016-01-28 8:43 ` [PATCH v4 1/9] ARM: dts: rockchip: add the leds control " Caesar Wang
` (6 more replies)
0 siblings, 7 replies; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
This series patches are based on kernel 4.5-rc1 version, also
is based on Heiko's branch.
(kernel/git/mmind/linux-rockchip.git -b for-next & v4.5-clk/fixes)
e.g: boot log..
Linux version 4.5.0-rc1+ (wxt at ubuntu) ....#60 SMP Thu Jan 28 12:54:50 CST 2016
1) The kylin history series patches:
V0:
https://lkml.org/lkml/2015/12/22/168
V1:
https://lkml.org/lkml/2015/12/17/319
V2:
https://lkml.org/lkml/2016/1/7/66
V3:
http://www.spinics.net/lists/arm-kernel/msg474796.html
This series patches are verified on the following github:
https://github.com/Caesar-github/rockchip/tree/kylin/next
This series has 9 patches: (9--->1)
c455bf5 ARM: dts: rockchip: support the spi for rk3036
41bbd5d ASoC: rt5616: add the mclk for the codec driver
6ee2dc0 ASoC: rt5616: trivial: fix the typo
2775e41 ASoC: rt5616: add mclk property for rt5616 document
b4ec10b ARM: dts: rockchip: add mclk for rt5616 on kylin board
8d272a1 ARM: dts: rockchip: add support emac for RK3036
02e501f clk: rockchip: rk3036: fix and add node id for emac clock
b948f42 ARM: dts: rockchip: add hdmi/vop device node for rk3036
fa45230 ARM: dts: rockchip: add the leds control for kylin board
....
This series patches can apply into Heiko for-next branch.
(https://git.kernel.org/cgit/linux/kernel/git/mmind/linux-rockchip.git/log/?h=for-next)
Also, ths ASoC can apply into Mark branch.
---
2) This series patches have the following decriptions:
PATCH[1/9]: Add the leds control on kylin board.
ARM: dts: rockchip: add the leds control for kylin board
PATCH[2/9]: ====> add hdmi/vop display node for rk3036
ARM: dts: rockchip: add hdmi/vop device node for rk3036
This Patch is based on Ykk's Inno HDMI V7 patches. That's verified on
my github.
bd5ed3e ARM: dts: rockchip: add hdmi/vop device node for rk3036
438e7bd FROMLIST: dt-bindings: add document for Innosilicon HDMI on Rockchip platform
((am from https://patchwork.kernel.org/patch/8117611/))
ad0623b FROMLIST: drm/rockchip: hdmi: add Innosilicon HDMI support
((am https://patchwork.kernel.org/patch/8117571/))
PATCH[3/9-4/9]: Add the emac patch
The emac clock is depend APLL, That shoud be incorrect.
We should fix it on the DPLL.
df91ab ARM: dts: rockchip: add support emac for RK3036
d5c2781 clk: rockchip: rk3036: fix and add node id for emac clock
That's verified on kylin board with ubuntu os.
How to test and verify?
You can refer to the following wiki document.
http://rockchip.wikidot.com/kylin
PATCH[5/9-8/9]: Make the codec work on kylin board
41bbd5d ASoC: rt5616: add the mclk for the codec driver
6ee2dc0 ASoC: rt5616: trivial: fix the typo
2775e41 ASoC: rt5616: add mclk property for rt5616 document
b4ec10b ARM: dts: rockchip: add mclk for rt5616 on kylin board
As the previous discussed on https://patchwork.kernel.org/patch/8041001/
Move the mclk into codec driver to enable and disable.
How to test and verify?
You can refer to the following wiki document.
http://rockchip.wikidot.com/kylin
PATCH[9/9]: Make the codec work on kylin board
Add the spi node for rk3036 dts, that's seem not related to the kylin.
Maybe the future will support the spi on kylin board or connect the spi devices.
f0fff43 ARM: dts: rockchip: support the spi for rk3036
---
Thanks your reviewing!
-
Caesar
Changes in v4:
- Add the missing led control on kylin board.
- This patch picks up at this URL.
(https://patchwork.kernel.org/patch/8129971/)
- solve the lastest conflict, picked up from
https://patchwork.kernel.org/patch/8040961/.
- fix the commit, pick up from the
https://patchwork.kernel.org/patch/7976631/.
- The emac parent shouldn't depend on the APLL. instead of DPLL.
- included in the kylin series patches.
- This patch picked up from https://patchwork.kernel.org/patch/7924971/
- Change to solve the conflict based on the Heiko's branch.
- Make the emac parent as the DPLL.
- AS the previous discussed by them, add the mclk for codec.
(https://patchwork.kernel.org/patch/8041001/)
- Add this patch included in kylin series patches.
- Add this patch included in kylin series patches.
- AS the previous discussed by them, add the mclk for codec.
(https://patchwork.kernel.org/patch/8041001/)
- Add this patch included in kylin series patches.
Caesar Wang (7):
ARM: dts: rockchip: add the leds control for kylin board
ARM: dts: rockchip: add hdmi/vop device node for rk3036
ARM: dts: rockchip: add mclk for rt5616 on kylin board
ASoC: rt5616: add mclk property for rt5616 document
ASoC: rt5616: trivial: fix the typo
ASoC: rt5616: add the mclk for the codec driver
ARM: dts: rockchip: support the spi for rk3036
zhengxing (2):
clk: rockchip: rk3036: fix and add node id for emac clock
ARM: dts: rockchip: add support emac for RK3036
Documentation/devicetree/bindings/sound/rt5616.txt | 6 +
arch/arm/boot/dts/rk3036-evb.dts | 23 ++
arch/arm/boot/dts/rk3036-kylin.dts | 52 +++
arch/arm/boot/dts/rk3036.dtsi | 147 ++++++++
drivers/clk/rockchip/clk-rk3036.c | 9 +-
include/dt-bindings/clock/rk3036-cru.h | 2 +
sound/soc/codecs/rt5616.c | 410 +++++++++++----------
7 files changed, 461 insertions(+), 188 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4 1/9] ARM: dts: rockchip: add the leds control for kylin board
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
@ 2016-01-28 8:43 ` Caesar Wang
2016-01-31 10:46 ` Heiko Stuebner
2016-01-28 8:43 ` [PATCH v4 2/9] ARM: dts: rockchip: add hdmi/vop device node for rk3036 Caesar Wang
` (5 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
As the kylin schematic drawing, add the needed work led for
kylin board.
Run:
echo 0 > /sys/class/leds/kylin:red:led/brightness
echo 1 > /sys/class/leds/kylin:red:led/brightness
The led can normal on/off on kylin board.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4:
- Add the missing led control on kylin board.
- This patch picks up at this URL.
(https://patchwork.kernel.org/patch/8129971/)
arch/arm/boot/dts/rk3036-kylin.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm/boot/dts/rk3036-kylin.dts b/arch/arm/boot/dts/rk3036-kylin.dts
index 190f22c..3332a7f 100644
--- a/arch/arm/boot/dts/rk3036-kylin.dts
+++ b/arch/arm/boot/dts/rk3036-kylin.dts
@@ -46,6 +46,17 @@
model = "Rockchip RK3036 KylinBoard";
compatible = "rockchip,rk3036-kylin", "rockchip,rk3036";
+ leds: gpio-leds {
+ compatible = "gpio-leds";
+
+ work {
+ gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
+ label = "kylin:red:led";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_ctl>;
+ };
+ };
+
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
@@ -359,6 +370,12 @@
};
&pinctrl {
+ leds {
+ led_ctl: led-ctl {
+ rockchip,pins = <2 30 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
pmic {
pmic_int: pmic-int {
rockchip,pins = <2 2 RK_FUNC_GPIO &pcfg_pull_default>;
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 2/9] ARM: dts: rockchip: add hdmi/vop device node for rk3036
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
2016-01-28 8:43 ` [PATCH v4 1/9] ARM: dts: rockchip: add the leds control " Caesar Wang
@ 2016-01-28 8:43 ` Caesar Wang
2016-01-28 8:43 ` [PATCH v4 3/9] clk: rockchip: rk3036: fix and add node id for emac clock Caesar Wang
` (4 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds the needed display info for rk3036 SOCs.
The rk3036 support two overlay plane and one hwc plane,
it supports IOMMU, and its IOMMU same as rk3288's.
Meanwhile, add the inno hdmi for HDMI display.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4:
- solve the lastest conflict, picked up from
https://patchwork.kernel.org/patch/8040961/.
arch/arm/boot/dts/rk3036-kylin.dts | 12 +++++++
arch/arm/boot/dts/rk3036.dtsi | 66 ++++++++++++++++++++++++++++++++++++++
2 files changed, 78 insertions(+)
diff --git a/arch/arm/boot/dts/rk3036-kylin.dts b/arch/arm/boot/dts/rk3036-kylin.dts
index 3332a7f..1037ad6 100644
--- a/arch/arm/boot/dts/rk3036-kylin.dts
+++ b/arch/arm/boot/dts/rk3036-kylin.dts
@@ -116,6 +116,10 @@
status = "okay";
};
+&hdmi {
+ status = "okay";
+};
+
&i2c1 {
clock-frequency = <400000>;
@@ -369,6 +373,14 @@
status = "okay";
};
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
&pinctrl {
leds {
led_ctl: led-ctl {
diff --git a/arch/arm/boot/dts/rk3036.dtsi b/arch/arm/boot/dts/rk3036.dtsi
index 7897449..7abe3e2 100644
--- a/arch/arm/boot/dts/rk3036.dtsi
+++ b/arch/arm/boot/dts/rk3036.dtsi
@@ -147,6 +147,42 @@
};
};
+ vop: vop at 10118000 {
+ compatible = "rockchip,rk3036-vop";
+ reg = <0x10118000 0x19c>;
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru ACLK_LCDC>, <&cru SCLK_LCDC>, <&cru HCLK_LCDC>;
+ clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
+ resets = <&cru SRST_LCDC1_A>, <&cru SRST_LCDC1_H>, <&cru SRST_LCDC1_D>;
+ reset-names = "axi", "ahb", "dclk";
+ iommus = <&vop_mmu>;
+
+ status = "disabled";
+
+ vop_out: port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ vop_out_hdmi: endpoint at 0 {
+ reg = <1>;
+ remote-endpoint = <&hdmi_in_vop>;
+ };
+ };
+ };
+
+ display-subsystem {
+ compatible = "rockchip,display-subsystem";
+ ports = <&vop_out>;
+ };
+
+ vop_mmu: iommu at 10118300 {
+ compatible = "rockchip,iommu";
+ reg = <0x10118300 0x100>;
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "vop_mmu";
+ #iommu-cells = <0>;
+ status = "disabled";
+ };
+
gic: interrupt-controller at 10139000 {
compatible = "arm,gic-400";
interrupt-controller;
@@ -274,6 +310,27 @@
status = "disabled";
};
+ hdmi: hdmi at 20034000 {
+ compatible = "rockchip,rk3036-inno-hdmi";
+ reg = <0x20034000 0x4000>;
+ interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cru PCLK_HDMI>;
+ clock-names = "pclk";
+ rockchip,grf = <&grf>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_ctl>;
+ status = "disabled";
+
+ hdmi_in: port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ hdmi_in_vop: endpoint at 0 {
+ reg = <0>;
+ remote-endpoint = <&vop_out_hdmi>;
+ };
+ };
+ };
+
timer: timer at 20044000 {
compatible = "rockchip,rk3036-timer", "rockchip,rk3288-timer";
reg = <0x20044000 0x20>;
@@ -588,6 +645,15 @@
};
};
+ hdmi {
+ hdmi_ctl: hdmi-ctl {
+ rockchip,pins = <1 8 RK_FUNC_1 &pcfg_pull_none>,
+ <1 9 RK_FUNC_1 &pcfg_pull_none>,
+ <1 10 RK_FUNC_1 &pcfg_pull_none>,
+ <1 11 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
uart0 {
uart0_xfer: uart0-xfer {
rockchip,pins = <0 16 RK_FUNC_1 &pcfg_pull_default>,
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 3/9] clk: rockchip: rk3036: fix and add node id for emac clock
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
2016-01-28 8:43 ` [PATCH v4 1/9] ARM: dts: rockchip: add the leds control " Caesar Wang
2016-01-28 8:43 ` [PATCH v4 2/9] ARM: dts: rockchip: add hdmi/vop device node for rk3036 Caesar Wang
@ 2016-01-28 8:43 ` Caesar Wang
2016-01-28 8:43 ` [PATCH v4 4/9] ARM: dts: rockchip: add support emac for RK3036 Caesar Wang
` (3 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
From: zhengxing <zhengxing@rock-chips.com>
In the emac driver, we need to refer HCLK_MAC since there are
only 3PLLs (APLL/GPLL/DPLL) on the rk3036, most clock are under the
GPLL, and it is unable to provide the accurate rate for mac_ref which
need to 50MHz probability, we should let it under the DPLL and are
able to set the freq which integer multiples of 50MHz, so we add these
emac node for reference.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4:
- fix the commit, pick up from the
https://patchwork.kernel.org/patch/7976631/.
- The emac parent shouldn't depend on the APLL. instead of DPLL.
drivers/clk/rockchip/clk-rk3036.c | 9 ++++++---
include/dt-bindings/clock/rk3036-cru.h | 2 ++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/clk/rockchip/clk-rk3036.c b/drivers/clk/rockchip/clk-rk3036.c
index be71a41..701f702 100644
--- a/drivers/clk/rockchip/clk-rk3036.c
+++ b/drivers/clk/rockchip/clk-rk3036.c
@@ -343,8 +343,11 @@ static struct rockchip_clk_branch rk3036_clk_branches[] __initdata = {
RK2928_CLKSEL_CON(16), 0, 2, MFLAGS, 2, 5, DFLAGS,
RK2928_CLKGATE_CON(10), 5, GFLAGS),
- COMPOSITE_NOGATE(0, "mac_pll_src", mux_pll_src_3plls_p, 0,
- RK2928_CLKSEL_CON(21), 0, 2, MFLAGS, 9, 5, DFLAGS),
+ MUX(SCLK_MACPLL, "mac_pll_pre", mux_pll_src_3plls_p, 0,
+ RK2928_CLKSEL_CON(21), 0, 2, MFLAGS),
+ DIV(0, "mac_pll_src", "mac_pll_pre", 0,
+ RK2928_CLKSEL_CON(21), 9, 5, DFLAGS),
+
MUX(SCLK_MACREF, "mac_clk_ref", mux_mac_p, CLK_SET_RATE_PARENT,
RK2928_CLKSEL_CON(21), 3, 1, MFLAGS),
@@ -404,7 +407,7 @@ static struct rockchip_clk_branch rk3036_clk_branches[] __initdata = {
GATE(HCLK_OTG1, "hclk_otg1", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(7), 3, GFLAGS),
GATE(HCLK_I2S, "hclk_i2s", "hclk_peri", 0, RK2928_CLKGATE_CON(7), 2, GFLAGS),
GATE(0, "hclk_sfc", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(3), 14, GFLAGS),
- GATE(0, "hclk_mac", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(3), 15, GFLAGS),
+ GATE(HCLK_MAC, "hclk_mac", "hclk_peri", 0, RK2928_CLKGATE_CON(3), 5, GFLAGS),
/* pclk_peri gates */
GATE(0, "pclk_peri_matrix", "pclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(4), 1, GFLAGS),
diff --git a/include/dt-bindings/clock/rk3036-cru.h b/include/dt-bindings/clock/rk3036-cru.h
index ebc7a7b..de44109 100644
--- a/include/dt-bindings/clock/rk3036-cru.h
+++ b/include/dt-bindings/clock/rk3036-cru.h
@@ -54,6 +54,7 @@
#define SCLK_PVTM_VIDEO 125
#define SCLK_MAC 151
#define SCLK_MACREF 152
+#define SCLK_MACPLL 153
#define SCLK_SFC 160
/* aclk gates */
@@ -92,6 +93,7 @@
#define HCLK_SDMMC 456
#define HCLK_SDIO 457
#define HCLK_EMMC 459
+#define HCLK_MAC 460
#define HCLK_I2S 462
#define HCLK_LCDC 465
#define HCLK_ROM 467
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 4/9] ARM: dts: rockchip: add support emac for RK3036
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
` (2 preceding siblings ...)
2016-01-28 8:43 ` [PATCH v4 3/9] clk: rockchip: rk3036: fix and add node id for emac clock Caesar Wang
@ 2016-01-28 8:43 ` Caesar Wang
2016-01-28 8:43 ` [PATCH v4 5/9] ARM: dts: rockchip: add mclk for rt5616 on kylin board Caesar Wang
` (2 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
From: zhengxing <zhengxing@rock-chips.com>
This patch describe the emac, and we need to let mac clock under
the APLL which is able to provide the accurate 50MHz what mac_ref
need.
This patch makes the emac parent clock is DPLL instead of APLL.
since that will cause some unstable things if the cpufreq is working.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4:
- included in the kylin series patches.
- This patch picked up from https://patchwork.kernel.org/patch/7924971/
- Change to solve the conflict based on the Heiko's branch.
- Make the emac parent as the DPLL.
arch/arm/boot/dts/rk3036-evb.dts | 23 ++++++++++++++++++++++
arch/arm/boot/dts/rk3036-kylin.dts | 21 ++++++++++++++++++++
arch/arm/boot/dts/rk3036.dtsi | 39 ++++++++++++++++++++++++++++++++++++++
3 files changed, 83 insertions(+)
diff --git a/arch/arm/boot/dts/rk3036-evb.dts b/arch/arm/boot/dts/rk3036-evb.dts
index 28a0336..d7d3719 100644
--- a/arch/arm/boot/dts/rk3036-evb.dts
+++ b/arch/arm/boot/dts/rk3036-evb.dts
@@ -47,6 +47,17 @@
compatible = "rockchip,rk3036-evb", "rockchip,rk3036";
};
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>;
+ phy = <&phy0>;
+ status = "okay";
+
+ phy0: ethernet-phy at 0 {
+ reg = <0>;
+ };
+};
+
&i2c1 {
status = "okay";
@@ -62,3 +73,15 @@
&uart2 {
status = "okay";
};
+
+&pinctrl {
+ pcfg_output_high: pcfg-output-high {
+ output-high;
+ };
+
+ emac {
+ rmii_rst: rmii-rst {
+ rockchip,pins = <2 22 RK_FUNC_GPIO &pcfg_output_high>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/rk3036-kylin.dts b/arch/arm/boot/dts/rk3036-kylin.dts
index 1037ad6..cd45434 100644
--- a/arch/arm/boot/dts/rk3036-kylin.dts
+++ b/arch/arm/boot/dts/rk3036-kylin.dts
@@ -112,6 +112,17 @@
status = "okay";
};
+&emac {
+ pinctrl-names = "default";
+ pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&rmii_rst>;
+ phy = <&phy0>;
+ status = "okay";
+
+ phy0: ethernet-phy at 0 {
+ reg = <0>;
+ };
+};
+
&emmc {
status = "okay";
};
@@ -382,6 +393,16 @@
};
&pinctrl {
+ pcfg_output_high: pcfg-output-high {
+ output-high;
+ };
+
+ emac {
+ rmii_rst: rmii-rst {
+ rockchip,pins = <2 22 RK_FUNC_GPIO &pcfg_output_high>;
+ };
+ };
+
leds {
led_ctl: led-ctl {
rockchip,pins = <2 30 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/arch/arm/boot/dts/rk3036.dtsi b/arch/arm/boot/dts/rk3036.dtsi
index 7abe3e2..532f232 100644
--- a/arch/arm/boot/dts/rk3036.dtsi
+++ b/arch/arm/boot/dts/rk3036.dtsi
@@ -222,6 +222,27 @@
status = "disabled";
};
+ emac: ethernet at 10200000 {
+ compatible = "rockchip,rk3036-emac", "snps,arc-emac";
+ reg = <0x10200000 0x4000>;
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ rockchip,grf = <&grf>;
+ clocks = <&cru HCLK_MAC>, <&cru SCLK_MACREF>, <&cru SCLK_MAC>;
+ clock-names = "hclk", "macref", "macclk";
+ /*
+ * Fix the emac parent clock is DPLL instead of APLL.
+ * since that will cause some unstable things if the cpufreq
+ * is working. (e.g: the accurate 50MHz what mac_ref need)
+ */
+ assigned-clocks = <&cru SCLK_MACPLL>;
+ assigned-clock-parents = <&cru PLL_DPLL>;
+ max-speed = <100>;
+ phy-mode = "rmii";
+ status = "disabled";
+ };
+
sdmmc: dwmmc at 10214000 {
compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
reg = <0x10214000 0x4000>;
@@ -613,6 +634,24 @@
};
};
+ emac {
+ emac_xfer: emac-xfer {
+ rockchip,pins = <2 10 RK_FUNC_1 &pcfg_pull_default>, /* crs_dvalid */
+ <2 13 RK_FUNC_1 &pcfg_pull_default>, /* tx_en */
+ <2 14 RK_FUNC_1 &pcfg_pull_default>, /* mac_clk */
+ <2 15 RK_FUNC_1 &pcfg_pull_default>, /* rx_err */
+ <2 16 RK_FUNC_1 &pcfg_pull_default>, /* rxd1 */
+ <2 17 RK_FUNC_1 &pcfg_pull_default>, /* rxd0 */
+ <2 18 RK_FUNC_1 &pcfg_pull_default>, /* txd1 */
+ <2 19 RK_FUNC_1 &pcfg_pull_default>; /* txd0 */
+ };
+
+ emac_mdio: emac-mdio {
+ rockchip,pins = <2 12 RK_FUNC_1 &pcfg_pull_default>, /* mac_md */
+ <2 25 RK_FUNC_1 &pcfg_pull_default>; /* mac_mdclk */
+ };
+ };
+
i2c0 {
i2c0_xfer: i2c0-xfer {
rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>,
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 5/9] ARM: dts: rockchip: add mclk for rt5616 on kylin board
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
` (3 preceding siblings ...)
2016-01-28 8:43 ` [PATCH v4 4/9] ARM: dts: rockchip: add support emac for RK3036 Caesar Wang
@ 2016-01-28 8:43 ` Caesar Wang
2016-01-28 8:43 ` [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036 Caesar Wang
2016-02-01 7:30 ` [PATCH v4.1 " Caesar Wang
6 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
The I2S block that provide the output clock as the mclk for rt5616,
That will be the master clock input.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4:
- AS the previous discussed by them, add the mclk for codec.
(https://patchwork.kernel.org/patch/8041001/)
arch/arm/boot/dts/rk3036-kylin.dts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/rk3036-kylin.dts b/arch/arm/boot/dts/rk3036-kylin.dts
index cd45434..b0473bc 100644
--- a/arch/arm/boot/dts/rk3036-kylin.dts
+++ b/arch/arm/boot/dts/rk3036-kylin.dts
@@ -328,6 +328,8 @@
rt5616: rt5616 at 1b {
compatible = "rt5616";
reg = <0x1b>;
+ clocks = <&cru SCLK_I2S_OUT>;
+ clock-names = "mclk";
#sound-dai-cells = <0>;
};
};
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
` (4 preceding siblings ...)
2016-01-28 8:43 ` [PATCH v4 5/9] ARM: dts: rockchip: add mclk for rt5616 on kylin board Caesar Wang
@ 2016-01-28 8:43 ` Caesar Wang
2016-01-31 11:06 ` Heiko Stuebner
2016-02-01 7:30 ` [PATCH v4.1 " Caesar Wang
6 siblings, 1 reply; 12+ messages in thread
From: Caesar Wang @ 2016-01-28 8:43 UTC (permalink / raw)
To: linux-arm-kernel
You have to use the 4 bus to work if someone wants to support
the spi devices, since the the pin is re-used by data[5-8] and spi.
If support the spi making the happy work, that will waste the
emmc performance.
Moment, the kylin hasn't the spi devices to work, so maybe we need wait
the new required to enable in kylin board.
Anyway, the spi should be needed land in rk3036 dts.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4:
- Add this patch included in kylin series patches.
arch/arm/boot/dts/rk3036.dtsi | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/arch/arm/boot/dts/rk3036.dtsi b/arch/arm/boot/dts/rk3036.dtsi
index 532f232..40a5017 100644
--- a/arch/arm/boot/dts/rk3036.dtsi
+++ b/arch/arm/boot/dts/rk3036.dtsi
@@ -60,6 +60,7 @@
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
+ spi = &spi;
};
memory {
@@ -485,6 +486,23 @@
status = "disabled";
};
+ spi: spi at 20074000 {
+ compatible = "rockchip,rockchip-spi";
+ reg = <0x20074000 0x1000>;
+ interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0 &spi_cs1>;
+ num-cs = <2>;
+ clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
+ clock-names = "apb-pclk","spi_pclk";
+ dmas = <&pdma 8>, <&pdma 9>;
+ #dma-cells = <2>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
pinctrl: pinctrl {
compatible = "rockchip,rk3036-pinctrl";
rockchip,grf = <&grf>;
@@ -723,5 +741,29 @@
};
/* no rts / cts for uart2 */
};
+
+ spi {
+ spi_txd:spi-txd {
+ rockchip,pins = <1 29 RK_FUNC_3 &pcfg_pull_default>;
+ };
+
+ spi_rxd:spi-rxd {
+ rockchip,pins = <1 28 RK_FUNC_3 &pcfg_pull_default>;
+ };
+
+ spi_clk:spi-clk {
+ rockchip,pins = <2 0 RK_FUNC_2 &pcfg_pull_default>;
+ };
+
+ spi_cs0:spi0-cs0 {
+ rockchip,pins = <1 30 RK_FUNC_3 &pcfg_pull_default>;
+
+ };
+
+ spi_cs1:spi-cs1 {
+ rockchip,pins = <1 31 RK_FUNC_3 &pcfg_pull_default>;
+
+ };
+ };
};
};
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 1/9] ARM: dts: rockchip: add the leds control for kylin board
2016-01-28 8:43 ` [PATCH v4 1/9] ARM: dts: rockchip: add the leds control " Caesar Wang
@ 2016-01-31 10:46 ` Heiko Stuebner
2016-02-01 6:40 ` Caesar Wang
0 siblings, 1 reply; 12+ messages in thread
From: Heiko Stuebner @ 2016-01-31 10:46 UTC (permalink / raw)
To: linux-arm-kernel
Am Donnerstag, 28. Januar 2016, 16:43:30 schrieb Caesar Wang:
> As the kylin schematic drawing, add the needed work led for
> kylin board.
>
> Run:
> echo 0 > /sys/class/leds/kylin:red:led/brightness
> echo 1 > /sys/class/leds/kylin:red:led/brightness
>
> The led can normal on/off on kylin board.
>
> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
applied to my dts32-branch for 4.6
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036
2016-01-28 8:43 ` [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036 Caesar Wang
@ 2016-01-31 11:06 ` Heiko Stuebner
2016-02-01 6:32 ` Caesar Wang
0 siblings, 1 reply; 12+ messages in thread
From: Heiko Stuebner @ 2016-01-31 11:06 UTC (permalink / raw)
To: linux-arm-kernel
Hi Caesar,
Am Donnerstag, 28. Januar 2016, 16:43:38 schrieb Caesar Wang:
> You have to use the 4 bus to work if someone wants to support
> the spi devices, since the the pin is re-used by data[5-8] and spi.
> If support the spi making the happy work, that will waste the
> emmc performance.
>
> Moment, the kylin hasn't the spi devices to work, so maybe we need wait
> the new required to enable in kylin board.
>
> Anyway, the spi should be needed land in rk3036 dts.
>
> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>
> ---
>
> Changes in v4:
> - Add this patch included in kylin series patches.
>
> arch/arm/boot/dts/rk3036.dtsi | 42
> ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42
> insertions(+)
>
> diff --git a/arch/arm/boot/dts/rk3036.dtsi b/arch/arm/boot/dts/rk3036.dtsi
> index 532f232..40a5017 100644
> --- a/arch/arm/boot/dts/rk3036.dtsi
> +++ b/arch/arm/boot/dts/rk3036.dtsi
> @@ -60,6 +60,7 @@
> serial0 = &uart0;
> serial1 = &uart1;
> serial2 = &uart2;
> + spi = &spi;
> };
>
> memory {
> @@ -485,6 +486,23 @@
> status = "disabled";
> };
>
> + spi: spi at 20074000 {
> + compatible = "rockchip,rockchip-spi";
> + reg = <0x20074000 0x1000>;
> + interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0 &spi_cs1>;
Do we really want to enable both chip-selects by default?
On the rk3288 Lin Huang wrote:
* It's assumed that most users of the SPI ports are using chip select
0. Thus the default pinctrl for the ports enables chip select 0
(but not chip select 1 on ports that have it). If a board wants to
use chip select 1 or wants a GPIO chip select the board should
override the pinctrl (just like boards can override UART pinctrl if
they have hardware flow control).
Do we expect again mostly a use of cs0 or will in the major cases both chip-
selects be needed?
> + num-cs = <2>;
> + clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
> + clock-names = "apb-pclk","spi_pclk";
> + dmas = <&pdma 8>, <&pdma 9>;
> + #dma-cells = <2>;
What do you need #dma-cells for? This is not a dma-controller :-)
> + dma-names = "tx", "rx";
> + status = "disabled";
> + };
Also I'd suggest an ordering like:
+ spi: spi at 20074000 {
+ compatible = "rockchip,rockchip-spi";
+ reg = <0x20074000 0x1000>;
+ interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+ clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
+ clock-names = "apb-pclk","spi_pclk";
+ dmas = <&pdma 8>, <&pdma 9>;
+ dma-names = "tx", "rx";
+ num-cs = <2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0 &spi_cs1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
Heiko
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036
2016-01-31 11:06 ` Heiko Stuebner
@ 2016-02-01 6:32 ` Caesar Wang
0 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-02-01 6:32 UTC (permalink / raw)
To: linux-arm-kernel
Heiko,
? 2016?01?31? 19:06, Heiko Stuebner ??:
> Hi Caesar,
>
> Am Donnerstag, 28. Januar 2016, 16:43:38 schrieb Caesar Wang:
[...]
>
> memory {
> @@ -485,6 +486,23 @@
> status = "disabled";
> };
>
> + spi: spi at 20074000 {
> + compatible = "rockchip,rockchip-spi";
> + reg = <0x20074000 0x1000>;
> + interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0 &spi_cs1>;
> Do we really want to enable both chip-selects by default?
>
> On the rk3288 Lin Huang wrote:
> * It's assumed that most users of the SPI ports are using chip select
> 0. Thus the default pinctrl for the ports enables chip select 0
> (but not chip select 1 on ports that have it). If a board wants to
> use chip select 1 or wants a GPIO chip select the board should
> override the pinctrl (just like boards can override UART pinctrl if
> they have hardware flow control).
>
> Do we expect again mostly a use of cs0 or will in the major cases both chip-
> selects be needed?
Sound resonable.
In general, every cs and spi devices should be the one match one.
That should be resonable if we want to use chip select 1 or want a GPIO chip select the board should
override the pinctrl.
>> + num-cs = <2>;
>> + clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
>> + clock-names = "apb-pclk","spi_pclk";
>> + dmas = <&pdma 8>, <&pdma 9>;
>> + #dma-cells = <2>;
> What do you need #dma-cells for? This is not a dma-controller :-)
Fixed.
>
>
>> + dma-names = "tx", "rx";
>> + status = "disabled";
>> + };
>
> Also I'd suggest an ordering like:
>
> + spi: spi at 20074000 {
> + compatible = "rockchip,rockchip-spi";
> + reg = <0x20074000 0x1000>;
> + interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
> + clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
> + clock-names = "apb-pclk","spi_pclk";
> + dmas = <&pdma 8>, <&pdma 9>;
> + dma-names = "tx", "rx";
> + num-cs = <2>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0 &spi_cs1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "disabled";
> + };
Okay, I will remove the cs1/num-cs in here.
Thanks.
-
Caesar
>
> Heiko
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
--
Thanks,
Caesar
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4 1/9] ARM: dts: rockchip: add the leds control for kylin board
2016-01-31 10:46 ` Heiko Stuebner
@ 2016-02-01 6:40 ` Caesar Wang
0 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-02-01 6:40 UTC (permalink / raw)
To: linux-arm-kernel
? 2016?01?31? 18:46, Heiko Stuebner ??:
> Am Donnerstag, 28. Januar 2016, 16:43:30 schrieb Caesar Wang:
>> As the kylin schematic drawing, add the needed work led for
>> kylin board.
>>
>> Run:
>> echo 0 > /sys/class/leds/kylin:red:led/brightness
>> echo 1 > /sys/class/leds/kylin:red:led/brightness
>>
>> The led can normal on/off on kylin board.
>>
>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
> applied to my dts32-branch for 4.6
Okay, thanks.
I'm assuming this patch is applied to your local branch since I have not
yet see on your branch[0].:-)
branch[0]:
https://git.kernel.org/cgit/linux/kernel/git/mmind/linux-rockchip.git/log/?h=v4.6-armsoc/dts32
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
--
Thanks,
Caesar
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4.1 9/9] ARM: dts: rockchip: support the spi for rk3036
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
` (5 preceding siblings ...)
2016-01-28 8:43 ` [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036 Caesar Wang
@ 2016-02-01 7:30 ` Caesar Wang
6 siblings, 0 replies; 12+ messages in thread
From: Caesar Wang @ 2016-02-01 7:30 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds the needed spi node for rk3036 dts.
We have to use the 4 bus emmc to work if someone want to support
the spi devices, since the pins are re-used by emmc data[5-8] and spi.
In some caseswe need to support the spi devices, that will waste the
emmc performance.
Moment, the kylin/evb hasn't the spi devices to work, so maybe we need wait
the new required to enable in kylin/evb board.
Anyway, the spi should be needed land in rk3036 dts.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
---
Changes in v4-->v4.1:
- Remove the unused, as Heiko comments on https://patchwork.kernel.org/patch/8147761/
- Modify the commit.
Changes in v4:
- Add this patch included in kylin series patches.
arch/arm/boot/dts/rk3036.dtsi | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/arch/arm/boot/dts/rk3036.dtsi b/arch/arm/boot/dts/rk3036.dtsi
index 532f232..e62e28b 100644
--- a/arch/arm/boot/dts/rk3036.dtsi
+++ b/arch/arm/boot/dts/rk3036.dtsi
@@ -60,6 +60,7 @@
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
+ spi = &spi;
};
memory {
@@ -485,6 +486,21 @@
status = "disabled";
};
+ spi: spi at 20074000 {
+ compatible = "rockchip,rockchip-spi";
+ reg = <0x20074000 0x1000>;
+ interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+ clocks =<&cru PCLK_SPI>, <&cru SCLK_SPI>;
+ clock-names = "apb-pclk","spi_pclk";
+ dmas = <&pdma 8>, <&pdma 9>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
pinctrl: pinctrl {
compatible = "rockchip,rk3036-pinctrl";
rockchip,grf = <&grf>;
@@ -723,5 +739,29 @@
};
/* no rts / cts for uart2 */
};
+
+ spi {
+ spi_txd:spi-txd {
+ rockchip,pins = <1 29 RK_FUNC_3 &pcfg_pull_default>;
+ };
+
+ spi_rxd:spi-rxd {
+ rockchip,pins = <1 28 RK_FUNC_3 &pcfg_pull_default>;
+ };
+
+ spi_clk:spi-clk {
+ rockchip,pins = <2 0 RK_FUNC_2 &pcfg_pull_default>;
+ };
+
+ spi_cs0:spi-cs0 {
+ rockchip,pins = <1 30 RK_FUNC_3 &pcfg_pull_default>;
+
+ };
+
+ spi_cs1:spi-cs1 {
+ rockchip,pins = <1 31 RK_FUNC_3 &pcfg_pull_default>;
+
+ };
+ };
};
};
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-02-01 7:30 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-28 8:43 [PATCH v4 0/9] Add the family patches to support for kylin board Caesar Wang
2016-01-28 8:43 ` [PATCH v4 1/9] ARM: dts: rockchip: add the leds control " Caesar Wang
2016-01-31 10:46 ` Heiko Stuebner
2016-02-01 6:40 ` Caesar Wang
2016-01-28 8:43 ` [PATCH v4 2/9] ARM: dts: rockchip: add hdmi/vop device node for rk3036 Caesar Wang
2016-01-28 8:43 ` [PATCH v4 3/9] clk: rockchip: rk3036: fix and add node id for emac clock Caesar Wang
2016-01-28 8:43 ` [PATCH v4 4/9] ARM: dts: rockchip: add support emac for RK3036 Caesar Wang
2016-01-28 8:43 ` [PATCH v4 5/9] ARM: dts: rockchip: add mclk for rt5616 on kylin board Caesar Wang
2016-01-28 8:43 ` [PATCH v4 9/9] ARM: dts: rockchip: support the spi for rk3036 Caesar Wang
2016-01-31 11:06 ` Heiko Stuebner
2016-02-01 6:32 ` Caesar Wang
2016-02-01 7:30 ` [PATCH v4.1 " Caesar Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).