Skip to contentSkip to conversation

ARM: dts: rockchip: Add devicetree source for MarsBoard RK3066

PATCH New Romain Perier 2 participants 6 messages Oct 28, 2014 – Oct 30, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/4 ARM: dts: rockchip: Add devicetree source for MarsBoard RK3066

---
Changes since v1:
- Replaced hoayuelectronics by hoayu as suggested by the vendor-prefix doc in dt-bindings

 arch/arm/boot/dts/Makefile              |   1 +
 arch/arm/boot/dts/rk3066a-marsboard.dts | 143 ++++++++++++++++++++++++++++++++
 2 files changed, 144 insertions(+)
 create mode 100644 arch/arm/boot/dts/rk3066a-marsboard.dts
arch/arm/boot/dts/Makefile +1 -0
index 742ffa2..af527a2 100644
@@ -365,6 +365,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
 	qcom-msm8960-cdp.dtb \
 	qcom-msm8974-sony-xperia-honami.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
+	rk3066a-marsboard.dtb \
 	rk3066a-bqcurie2.dtb \
 	rk3188-radxarock.dtb \
 	rk3288-evb-act8846.dtb \
arch/arm/boot/dts/rk3066a-marsboard.dts new file +143 -0

143 lines not on this page · raw message

Signature · 1 line
1.9.1
#1 lore raw

PATCH v2 2/4 dt-bindings: Document Marsboard RK3066 in Rockchip platforms dt-bindings

---
Changes since v1:
- Replaced hoayuelectronics by hoayu as suggested by the vendor-prefix doc in dt-bindings

 Documentation/devicetree/bindings/arm/rockchip.txt | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/arm/rockchip.txt +4 -0
index 857f126..eaa3d1a 100644
@@ -1,6 +1,10 @@
 Rockchip platforms device tree bindings
 ---------------------------------------
 
+- MarsBoard RK3066 board:
+    Required root node properties:
+      - compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
+
 - bq Curie 2 tablet:
     Required root node properties:
       - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
Signature · 1 line
1.9.1
#2 lore raw

PATCH 3/4 ARM: dts: rockchip: Add EMAC Rockchip for RK3066 SoCs

In reply to Romain Perier

This patch adds the right pins topology for the MAC and MDIO found in RK3066 SoCs. Boards based on this SoC have an initial support for the emac-rockchip dt-binding.

---
 arch/arm/boot/dts/rk3066a.dtsi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
arch/arm/boot/dts/rk3066a.dtsi +22 -0
index ad9c2db..7bec55f 100644
@@ -179,6 +179,24 @@
 			bias-disable;
 		};
 
+		emac {
+			emac_xfer: emac-xfer {
+				rockchip,pins = <RK_GPIO1 16 RK_FUNC_2 &pcfg_pull_none>, /* mac_clk */
+						<RK_GPIO1 17 RK_FUNC_2 &pcfg_pull_none>, /* tx_en */
+						<RK_GPIO1 18 RK_FUNC_2 &pcfg_pull_none>, /* txd1 */
+						<RK_GPIO1 19 RK_FUNC_2 &pcfg_pull_none>, /* txd0 */
+						<RK_GPIO1 20 RK_FUNC_2 &pcfg_pull_none>, /* rx_err */
+						<RK_GPIO1 21 RK_FUNC_2 &pcfg_pull_none>, /* crs_dvalid */
+						<RK_GPIO1 22 RK_FUNC_2 &pcfg_pull_none>, /* rxd1 */
+						<RK_GPIO1 23 RK_FUNC_2 &pcfg_pull_none>; /* rxd0 */
+			};
+
+			emac_mdio: emac-mdio {
+				rockchip,pins = <RK_GPIO1 24 RK_FUNC_2 &pcfg_pull_none>, /* mac_md */
+						<RK_GPIO1 25 RK_FUNC_2 &pcfg_pull_none>; /* mac_mdclk */
+			};
+		};
+
 		emmc {
 			emmc_clk: emmc-clk {
 				rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>;
@@ -496,3 +514,7 @@
 &wdt {
 	compatible = "rockchip,rk3066-wdt", "snps,dw-wdt";
 };
+
+&emac {
+	compatible = "rockchip,rk3066-emac";
+};
Signature · 1 line
1.9.1
#3 lore raw

PATCH 4/4 ARM: dts: rockchip: Enable emac node in rk3066a-marsboard

In reply to Romain Perier

This enables EMAC Rockchip and adds initial ethernet support for the MarsBoard RK3066.

---
 arch/arm/boot/dts/rk3066a-marsboard.dts | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
arch/arm/boot/dts/rk3066a-marsboard.dts +24 -0
index 146bd61..560070c 100644
@@ -122,6 +122,30 @@
 /* must be included after &tps gets defined */
 #include "tps65910.dtsi"
 
+&emac {
+	status = "okay";
+
+	phy = <&phy0>;
+	phy-supply = <&vaux33_reg>;
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
+
+	phy0: ethernet-phy at 0 {
+		reg = <0>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
+	};
+};
+
+&pinctrl {
+	lan8720a {
+		phy_int: phy-int {
+			rockchip,pins = <RK_GPIO1 26 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
+
 &uart0 {
 	status = "okay";
 };
Signature · 1 line
1.9.1
maintainer
#4 lore raw

PATCH 4/4 ARM: dts: rockchip: Enable emac node in rk3066a-marsboard

Am Dienstag, 28. Oktober 2014, 12:24:22 schrieb Romain Perier:

Quoted 4 lines

This enables EMAC Rockchip and adds initial ethernet support for the MarsBoard RK3066.

please reorder your series a bit:

Patch1: ARM: dts: rockchip: Add EMAC Rockchip for RK3066 SoCs
Patch2: old patches 1,2,4 combined into one single patch

Quoted 9 lines
---
 arch/arm/boot/dts/rk3066a-marsboard.dts | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
(quoted diff) +0 -0

b/arch/arm/boot/dts/rk3066a-marsboard.dts index 146bd61..560070c 100644

arch/arm/boot/dts/rk3066a-marsboard.dts line 129

Quoted 8 lines
arch/arm/boot/dts/rk3066a-marsboard.dts +5 -0
@@ -122,6 +122,30 @@
 /* must be included after &tps gets defined */
 #include "tps65910.dtsi"
 
+&emac {
+	status = "okay";
+
+	phy = <&phy0>;
+	phy-supply = <&vaux33_reg>;

&vcc_rmii as explained in the other mail

Quoted 22 lines
arch/arm/boot/dts/rk3066a-marsboard.dts +19 -0
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>;
+
+	phy0: ethernet-phy at 0 {
+		reg = <0>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
+	};
+};
+
+&pinctrl {
+	lan8720a {
+		phy_int: phy-int {
+			rockchip,pins = <RK_GPIO1 26 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
+
 &uart0 {
 	status = "okay";
 };
maintainer
#5 lore raw

PATCH v2 1/4 ARM: dts: rockchip: Add devicetree source for MarsBoard RK3066

In reply to Romain Perier

Am Dienstag, 28. Oktober 2014, 12:24:19 schrieb Romain Perier:

Quoted 32 lines

---
Changes since v1:
- Replaced hoayuelectronics by hoayu as suggested by the vendor-prefix doc
in dt-bindings

 arch/arm/boot/dts/Makefile              |   1 +
 arch/arm/boot/dts/rk3066a-marsboard.dts | 143
++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+)
 create mode 100644 arch/arm/boot/dts/rk3066a-marsboard.dts
arch/arm/boot/dts/Makefile +1 -0
index 742ffa2..af527a2 100644
@@ -365,6 +365,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
 	qcom-msm8960-cdp.dtb \
 	qcom-msm8974-sony-xperia-honami.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
+	rk3066a-marsboard.dtb \
 	rk3066a-bqcurie2.dtb \
 	rk3188-radxarock.dtb \
 	rk3288-evb-act8846.dtb \
(quoted diff) +0 -0

b/arch/arm/boot/dts/rk3066a-marsboard.dts new file mode 100644 index 0000000..146bd61

arch/arm/boot/dts/rk3066a-marsboard.dts new file +3 -0
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2014 Romain Perier <[email protected]>
+ *

arch/arm/boot/dts/rk3066a-marsboard.dts line 13

Quoted 10 lines
arch/arm/boot/dts/rk3066a-marsboard.dts new file +10 -0
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */

Please license the file under both GPLv2 and X11 like

/*
* Copyright (c) 2014 Romain Perier <[email protected]> *
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or

 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This file is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 *     You should have received a copy of the GNU General Public
 *     License along with this file; if not, write to the Free
 *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
 *     MA 02110-1301 USA
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.

*/

For context see
https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=b0946ca329eaaa42ecd36207c55aa2bd4925f133

I'll try to get the existing files relicensed in the next time, but would like new files to use a better licensing from the start.

Quoted 15 lines
arch/arm/boot/dts/rk3066a-marsboard.dts new file +15 -0
+
+/dts-v1/;
+#include "rk3066a.dtsi"
+
+/ {
+	model = "MarsBoard RK3066";
+	compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
+
+	memory {
+		reg = <0x60000000 0x40000000>;
+	};
+
+	vcc_sd0: fixed-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "sdmmc-supply";

arch/arm/boot/dts/rk3066a-marsboard.dts line 38

Quoted 10 lines
arch/arm/boot/dts/rk3066a-marsboard.dts new file +10 -0
+		regulator-min-microvolt = <3000000>;
+		regulator-max-microvolt = <3000000>;
+		gpio = <&gpio3 7 GPIO_ACTIVE_LOW>;
+		startup-delay-us = <100000>;
+		vin-supply = <&vcc_io>;
+	};
+};
+
+
+

unnecessary blank lines - only one please

Quoted 64 lines
arch/arm/boot/dts/rk3066a-marsboard.dts new file +64 -0
+&i2c1 {
+	status = "okay";
+	clock-frequency = <400000>;
+
+	tps: tps at 2d {
+		reg = <0x2d>;
+
+		interrupt-parent = <&gpio6>;
+		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+
+		vcc5-supply = <&vcc_io>;
+		vcc6-supply = <&vcc_io>;
+
+		regulators {
+			vcc_rtc: regulator at 0 {
+				regulator-name = "vcc_rtc";
+				regulator-always-on;
+			};
+
+			vcc_io: regulator at 1 {
+				regulator-name = "vcc_io";
+				regulator-always-on;
+			};
+
+			vdd_arm: regulator at 2 {
+				regulator-name = "vdd_arm";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vcc_ddr: regulator at 3 {
+				regulator-name = "vcc_ddr";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vcc18_cif: regulator at 5 {
+				regulator-name = "vcc18_cif";
+				regulator-always-on;
+			};
+
+			vdd_11: regulator at 6 {
+				regulator-name = "vdd_11";
+				regulator-always-on;
+			};
+
+			vcc_25: regulator at 7 {
+				regulator-name = "vcc_25";
+				regulator-always-on;
+			};
+
+			vcc_18: regulator at 8 {
+				regulator-name = "vcc_18";
+				regulator-always-on;
+			};
+
+			vcc25_hdmi: regulator at 9 {
+				regulator-name = "vcc25_hdmi";
+				regulator-always-on;
+			};

arch/arm/boot/dts/rk3066a-marsboard.dts line 112

Quoted 10 lines
arch/arm/boot/dts/rk3066a-marsboard.dts new file +10 -0
+
+			vcca_33: regulator at 10 {
+				regulator-name = "vcca_33";
+				regulator-always-on;
+			};
+
+			vcc_tp: regulator at 11 {
+				regulator-name = "vcc_tp";
+				regulator-always-on;
+			};

this is the rmii regulator and the schematics for the marsboard name it "vcc_rmii" so both the phandle and the regulator-name should reflect that.

Quoted 31 lines
arch/arm/boot/dts/rk3066a-marsboard.dts new file +31 -0
+
+			vcc28_cif: regulator at 12 {
+				regulator-name = "vcc28_cif";
+				regulator-always-on;
+			};
+		};
+	};
+};
+
+/* must be included after &tps gets defined */
+#include "tps65910.dtsi"
+
+&uart0 {
+	status = "okay";
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&uart3 {
+	status = "okay";
+};
+
+&wdt {
+	status = "okay";
+};