Hello,
This series adds initial support for the RK3368 based GeekBox.
v4 does small cleanups and decouples us again from the stmmac discussions v3 kicked off.
stmmac patches have been proposed to fix GMAC issues in linux-next (and v4.5):
https://patchwork.ozlabs.org/patch/598331/
https://patchwork.ozlabs.org/patch/598332/
Regards,
Andreas
Cc: [email protected]
Andreas Färber (8):
arm64: dts: rockchip: Clean up /memory nodes
Documentation: devicetree: Add vendor prefix for GeekBuying.com
Documentation: devicetree: rockchip: Document GeekBox
arm64: dts: rockchip: Add GeekBox config
arm64: dts: rockchip: Clean up gpio-keys nodes
arm64: dts: rockchip: Add power key to GeekBox
Documentation: devicetree: rockchip: Document Landingship
arm64: dts: rockchip: Add Landingship config
Documentation/devicetree/bindings/arm/rockchip.txt | 9 +
.../devicetree/bindings/vendor-prefixes.txt | 1 +
arch/arm64/boot/dts/rockchip/Makefile | 2 +
arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi | 9 +-
.../dts/rockchip/rk3368-geekbox-landingship.dts | 57 ++++
arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts | 319 +++++++++++++++++++++
arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 9 +-
7 files changed, 396 insertions(+), 10 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
--
2.6.2
A dtc update results in warnings for nodes with reg property but without
unit address in the node name, so rename /memory to /memory@0.
Signed-off-by: Andreas Färber <[email protected]>
---
v4: New - complements GeekBox patch 4/8
arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi | 2 +-
arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
index 06bbe421db37..e4c91e86e9b6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
@@ -48,7 +48,7 @@
stdout-path = "serial2:115200n8";
};
- memory {
+ memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x0 0x40000000>;
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
index a1d1aa9c16fe..5c63f8982128 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
@@ -51,7 +51,7 @@
stdout-path = "serial2:115200n8";
};
- memory {
+ memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x0 0x40000000>;
};
--
2.6.2
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4: Unchanged
v2 -> v3:
* Changed compatible string to include geekbox- (Heiko)
* Rebroke compatible strings line
* Disabled i2c1 to avoid hang (next-20160304)
v2: New - showcases inclusion of GeekBox module config
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../dts/rockchip/rk3368-geekbox-landingship.dts | 57 ++++++++++++++++++++++
2 files changed, 58 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index df37865e8ced..201bcd9863ce 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -1,5 +1,6 @@
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox-landingship.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
always := $(dtb-y)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts b/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
new file mode 100644
index 000000000000..a28ace9512bb
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2016 Andreas Färber
+ *
+ * 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.
+ *
+ * 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.
+ */
+
+#include "rk3368-geekbox.dts"
+
+/ {
+ model = "GeekBox on Landingship";
+ compatible = "geekbuying,geekbox-landingship",
+ "geekbuying,geekbox", "rockchip,rk3368";
+};
+
+&i2c1 {
+ status = "disabled";
+};
+
+&i2c2 {
+ status = "okay";
+};
--
2.6.2
Use "geekbuying,geekbox-landingship" compatible string, plus those of
the GeekBox module.
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4: Unchanged
v2 -> v3:
* Changed compatible string to include geekbox- (Heiko)
and clarify that this is for GeekBox module
v2: New
Documentation/devicetree/bindings/arm/rockchip.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index f633595b196c..ae84f4e1d83b 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -91,6 +91,11 @@ Rockchip platforms device tree bindings
Required root node properties:
- compatible = "geekbuying,geekbox", "rockchip,rk3368";
+- GeekBuying Landingship with GeekBox module:
+ Required root node properties:
+ - compatible = "geekbuying,geekbox-landingship",
+ "geekbuying,geekbox", "rockchip,rk3368";
+
- Rockchip RK3368 evb:
Required root node properties:
- compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368";
--
2.6.2
Drop superfluous #address-cells and #size-cells.
Use KEY_POWER define for 116.
Rename sub-nodes to avoid new dtc warnings.
Reported-by: Julien Chauveau <[email protected]>
Cc: Julien Chauveau <[email protected]>
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4:
* Renamed sub-node names (Julien)
v3: New (Julien)
arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi | 7 +++----
arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 7 +++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
index e4c91e86e9b6..bd4f2cf326b2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
@@ -40,6 +40,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
+#include <dt-bindings/input/input.h>
#include <dt-bindings/pwm/pwm.h>
#include "rk3368.dtsi"
@@ -105,16 +106,14 @@
keys: gpio-keys {
compatible = "gpio-keys";
- #address-cells = <1>;
- #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pwr_key>;
- button@0 {
+ power {
wakeup-source;
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
label = "GPIO Power";
- linux,code = <116>;
+ linux,code = <KEY_POWER>;
};
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
index 5c63f8982128..5ea68c493400 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
@@ -42,6 +42,7 @@
/dts-v1/;
#include "rk3368.dtsi"
+#include <dt-bindings/input/input.h>
/ {
model = "Rockchip R88";
@@ -65,16 +66,14 @@
keys: gpio-keys {
compatible = "gpio-keys";
- #address-cells = <1>;
- #size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pwr_key>;
- button@0 {
+ power {
wakeup-source;
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
label = "GPIO Power";
- linux,code = <116>;
+ linux,code = <KEY_POWER>;
};
};
--
2.6.2
Cc: Julien Chauveau <[email protected]>
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4:
* Renamed power button sub-node name (Julien)
v2 -> v3:
* Adopted wakeup-source instead of gpio-key,wakeup (Julien)
* Dropped gpio-keys #address-cells and #size-cells properties (Julien)
* Dropped power button reg property (Julien)
* Adopted KEY_POWER (Julien)
* Fixed power button pinctrl pull setting (Julien)
v2: New
arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
index cef4c12bda48..46cdddfcea6c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
@@ -42,6 +42,7 @@
/dts-v1/;
#include "rk3368.dtsi"
+#include <dt-bindings/input/input.h>
/ {
model = "GeekBox";
@@ -70,6 +71,19 @@
pinctrl-0 = <&ir_int>;
};
+ keys: gpio-keys {
+ compatible = "gpio-keys";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwr_key>;
+
+ power {
+ gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+ label = "GPIO Power";
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+ };
+
leds: gpio-leds {
compatible = "gpio-leds";
@@ -265,6 +279,12 @@
};
};
+ keys {
+ pwr_key: pwr-key {
+ rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
pmic {
pmic_sleep: pmic-sleep {
rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
--
2.6.2
The GeekBox contains an MXM3 module with a Rockchip RK3368 SoC.
Some connectors are available directly on the module.
This adds initial support, namely serial, USB, GMAC, eMMC, IR and TSADC.
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4:
* Renamed /memory node to resolve dtc warning
v2 -> v3:
* Squashed GMAC, eMMC, IR, TSADC (Heiko)
* Fixed IR pinctrl pull setting (Julien)
* Changed TSADC polarity (rebooted immediately due to fixed otp-out pin)
v1 -> v2:
* Dropped rk3368-geekbox.dtsi. rk3368-geekbox-landingship.dts can
#include "rk3368-geekbox.dts" just fine, when leaving out /dts-v1/;.
* Revisited always-on / boot-on for PMIC regulator nodes. (Heiko)
* Switched pmic-sleep from RK_FUNC_GPIO to RK_FUNC_2. (schematics)
arch/arm64/boot/dts/rockchip/Makefile | 1 +
arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts | 299 ++++++++++++++++++++++++
2 files changed, 300 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index e3f0b5f4ba4e..df37865e8ced 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -1,4 +1,5 @@
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
always := $(dtb-y)
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
new file mode 100644
index 000000000000..cef4c12bda48
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts
@@ -0,0 +1,299 @@
+/*
+ * Copyright (c) 2016 Andreas Färber
+ *
+ * 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.
+ *
+ * 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.
+ */
+
+/dts-v1/;
+#include "rk3368.dtsi"
+
+/ {
+ model = "GeekBox";
+ compatible = "geekbuying,geekbox", "rockchip,rk3368";
+
+ chosen {
+ stdout-path = "serial2:115200n8";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x80000000>;
+ };
+
+ ext_gmac: gmac-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <125000000>;
+ clock-output-names = "ext_gmac";
+ #clock-cells = <0>;
+ };
+
+ ir: ir-receiver {
+ compatible = "gpio-ir-receiver";
+ gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&ir_int>;
+ };
+
+ leds: gpio-leds {
+ compatible = "gpio-leds";
+
+ blue {
+ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
+ label = "geekbox:blue:led";
+ default-state = "on";
+ };
+
+ red {
+ gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+ label = "geekbox:red:led";
+ default-state = "off";
+ };
+ };
+
+ vcc_sys: vcc-sys-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_sys";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
+
+&emmc {
+ status = "okay";
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ clock-frequency = <150000000>;
+ disable-wp;
+ keep-power-in-suspend;
+ non-removable;
+ num-slots = <1>;
+ vmmc-supply = <&vcc_io>;
+ vqmmc-supply = <&vcc18_flash>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
+};
+
+&gmac {
+ status = "okay";
+ phy-supply = <&vcc_lan>;
+ phy-mode = "rgmii";
+ clock_in_out = "input";
+ assigned-clocks = <&cru SCLK_MAC>;
+ assigned-clock-parents = <&ext_gmac>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmii_pins>;
+ tx_delay = <0x30>;
+ rx_delay = <0x10>;
+};
+
+&i2c0 {
+ status = "okay";
+
+ rk808: pmic@1b {
+ compatible = "rockchip,rk808";
+ reg = <0x1b>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
+ rockchip,system-power-controller;
+ vcc1-supply = <&vcc_sys>;
+ vcc2-supply = <&vcc_sys>;
+ vcc3-supply = <&vcc_sys>;
+ vcc4-supply = <&vcc_sys>;
+ vcc6-supply = <&vcc_sys>;
+ vcc7-supply = <&vcc_sys>;
+ vcc8-supply = <&vcc_io>;
+ vcc9-supply = <&vcc_sys>;
+ vcc10-supply = <&vcc_sys>;
+ vcc11-supply = <&vcc_sys>;
+ vcc12-supply = <&vcc_io>;
+ clock-output-names = "xin32k", "rk808-clkout2";
+ #clock-cells = <1>;
+
+ regulators {
+ vdd_cpu: DCDC_REG1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vdd_cpu";
+ };
+
+ vdd_log: DCDC_REG2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-name = "vdd_log";
+ };
+
+ vcc_ddr: DCDC_REG3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-name = "vcc_ddr";
+ };
+
+ vcc_io: DCDC_REG4 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc_io";
+ };
+
+ vcc18_flash: LDO_REG1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc18_flash";
+ };
+
+ vcc33_lcd: LDO_REG2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vcc33_lcd";
+ };
+
+ vdd_10: LDO_REG3 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-name = "vdd_10";
+ };
+
+ vcca_18: LDO_REG4 {
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcca_18";
+ };
+
+ vccio_sd: LDO_REG5 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-name = "vccio_sd";
+ };
+
+ vdd10_lcd: LDO_REG6 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-name = "vdd10_lcd";
+ };
+
+ vcc_18: LDO_REG7 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc_18";
+ };
+
+ vcc18_lcd: LDO_REG8 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-name = "vcc18_lcd";
+ };
+
+ vcc_sd: SWITCH_REG1 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-name = "vcc_sd";
+ };
+
+ vcc_lan: SWITCH_REG2 {
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-name = "vcc_lan";
+ };
+ };
+ };
+};
+
+&pinctrl {
+ ir {
+ ir_int: ir-int {
+ rockchip,pins = <3 30 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ pmic {
+ pmic_sleep: pmic-sleep {
+ rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
+ };
+
+ pmic_int: pmic-int {
+ rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+};
+
+&tsadc {
+ status = "okay";
+ rockchip,hw-tshut-mode = <0>; /* CRU */
+ rockchip,hw-tshut-polarity = <1>; /* high */
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_otg {
+ status = "okay";
+};
+
+&wdt {
+ status = "okay";
+};
--
2.6.2
Use "geekbuying".
Acked-by: Rob Herring <[email protected]>
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4: Unchanged
v2 -> v3:
* Rebased (ge vs. geekbuying)
v2: New (Heiko)
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index a4d3fb5a2407..31465805bffc 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -90,6 +90,7 @@ firefly Firefly
focaltech FocalTech Systems Co.,Ltd
fsl Freescale Semiconductor
ge General Electric Company
+geekbuying GeekBuying
GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
geniatech Geniatech, Inc.
--
2.6.2
Use "geekbuying,geekbox" compatible string.
Acked-by: Rob Herring <[email protected]>
Signed-off-by: Andreas Färber <[email protected]>
---
v3 -> v4: Unchanged
v2 -> v3: Unchanged
v2: New (Heiko)
Documentation/devicetree/bindings/arm/rockchip.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index 078c14fcdaaa..f633595b196c 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -87,6 +87,10 @@ Rockchip platforms device tree bindings
"google,veyron-speedy-rev3", "google,veyron-speedy-rev2",
"google,veyron-speedy", "google,veyron", "rockchip,rk3288";
+- GeekBuying GeekBox:
+ Required root node properties:
+ - compatible = "geekbuying,geekbox", "rockchip,rk3368";
+
- Rockchip RK3368 evb:
Required root node properties:
- compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368";
--
2.6.2
Hi Andreas,
> Le 16 mars 2016 à 14:58, Andreas Färber <[email protected]> a écrit :
>
> Drop superfluous #address-cells and #size-cells.
> Use KEY_POWER define for 116.
> Rename sub-nodes to avoid new dtc warnings.
>
> Reported-by: Julien Chauveau <[email protected]>
> Cc: Julien Chauveau <[email protected]>
> Signed-off-by: Andreas Färber <[email protected]>
> ---
It looks good to me.
Reviewed-by: Julien Chauveau <[email protected]>
> Le 16 mars 2016 à 14:58, Andreas Färber <[email protected]> a écrit :
>
> Cc: Julien Chauveau <[email protected]>
> Signed-off-by: Andreas Färber <[email protected]>
> —
Reviewed-by: Julien Chauveau <[email protected]>
On Wed, Mar 16, 2016 at 02:58:45PM +0100, Andreas F?rber wrote:
> Use "geekbuying,geekbox-landingship" compatible string, plus those of
> the GeekBox module.
>
> Signed-off-by: Andreas F?rber <[email protected]>
> ---
> v3 -> v4: Unchanged
>
> v2 -> v3:
> * Changed compatible string to include geekbox- (Heiko)
> and clarify that this is for GeekBox module
>
> v2: New
>
> Documentation/devicetree/bindings/arm/rockchip.txt | 5 +++++
> 1 file changed, 5 insertions(+)
Think I already acked v3, but:
Acked-by: Rob Herring <[email protected]>
Am 18.03.2016 um 22:30 schrieb Rob Herring:
> On Wed, Mar 16, 2016 at 02:58:45PM +0100, Andreas F?rber wrote:
>> Use "geekbuying,geekbox-landingship" compatible string, plus those of
>> the GeekBox module.
>>
>> Signed-off-by: Andreas F?rber <[email protected]>
>> ---
>> v3 -> v4: Unchanged
>>
>> v2 -> v3:
>> * Changed compatible string to include geekbox- (Heiko)
>> and clarify that this is for GeekBox module
>>
>> v2: New
>>
>> Documentation/devicetree/bindings/arm/rockchip.txt | 5 +++++
>> 1 file changed, 5 insertions(+)
>
> Think I already acked v3, but:
>
> Acked-by: Rob Herring <[email protected]>
Yes, you did, but after I had already sent v4.
Thanks,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
Am Mittwoch, 16. M?rz 2016, 14:58:39 schrieb Andreas F?rber:
> A dtc update results in warnings for nodes with reg property but without
> unit address in the node name, so rename /memory to /memory@0.
>
> Signed-off-by: Andreas F?rber <[email protected]>
applied to a dts64-fixes branch for 4.6, after changing the commit message to
----
A dtc update results in warnings for nodes with reg property but without
unit address in the node name, so rename /memory to /memory@startaddress
(memory starts at 0 in the case of the rk3368).
----
To clarify that the @0 is not arbitary chosen.
Heiko
Am Mittwoch, 16. M?rz 2016, 14:58:43 schrieb Andreas F?rber:
> Drop superfluous #address-cells and #size-cells.
> Use KEY_POWER define for 116.
> Rename sub-nodes to avoid new dtc warnings.
>
> Reported-by: Julien Chauveau <[email protected]>
> Cc: Julien Chauveau <[email protected]>
> Signed-off-by: Andreas F?rber <[email protected]>
applied to my dts64 branch for 4.6
Thanks
Heiko
Am Montag, 28. M?rz 2016, 22:24:12 schrieb Heiko St?bner:
> Am Mittwoch, 16. M?rz 2016, 14:58:43 schrieb Andreas F?rber:
> > Drop superfluous #address-cells and #size-cells.
> > Use KEY_POWER define for 116.
> > Rename sub-nodes to avoid new dtc warnings.
> >
> > Reported-by: Julien Chauveau <[email protected]>
> > Cc: Julien Chauveau <[email protected]>
> > Signed-off-by: Andreas F?rber <[email protected]>
>
> applied to my dts64 branch for 4.6
4.7 of course
Heiko
Am Mittwoch, 16. M?rz 2016, 14:58:40 schrieb Andreas F?rber:
> Use "geekbuying".
>
> Acked-by: Rob Herring <[email protected]>
> Signed-off-by: Andreas F?rber <[email protected]>
applied to my dts64 branch for 4.7
Thanks
Heiko
Am Mittwoch, 16. M?rz 2016, 14:58:42 schrieb Andreas F?rber:
> The GeekBox contains an MXM3 module with a Rockchip RK3368 SoC.
> Some connectors are available directly on the module.
>
> This adds initial support, namely serial, USB, GMAC, eMMC, IR and TSADC.
>
> Signed-off-by: Andreas F?rber <[email protected]>
applied to my dts64 branch for 4.7
Thanks
Heiko
Am Mittwoch, 16. M?rz 2016, 14:58:41 schrieb Andreas F?rber:
> Use "geekbuying,geekbox" compatible string.
>
> Acked-by: Rob Herring <[email protected]>
> Signed-off-by: Andreas F?rber <[email protected]>
I've folded this patch into the geekbox dts patch, carrying Rob's Ack for the
binding over.
Heiko
Am Mittwoch, 16. M?rz 2016, 14:58:44 schrieb Andreas F?rber:
> Cc: Julien Chauveau <[email protected]>
> Signed-off-by: Andreas F?rber <[email protected]>
folded into the geekbox patch as well
Heiko
Am Mittwoch, 16. M?rz 2016, 14:58:46 schrieb Andreas F?rber:
This needs a commit message explaining the i2c1/i2c2 voodoo below - especially
as this is the only difference to the core geekbox board.
And I'm still not fully convinced about having the landing ship separate.
I guess I'll just go to the talk about "Portable Device Tree Connector:
Painless Expansion Board Support" [0] on monday to help make up my mind ;-) .
Heiko
[0] http://openiotelc2016.sched.org/event/6DA4/portable-device-tree-connector-painless-expansion-board-support-pantelis-antoniou-konsulko-group
> Signed-off-by: Andreas F?rber <[email protected]>
> ---
> v3 -> v4: Unchanged
>
> v2 -> v3:
> * Changed compatible string to include geekbox- (Heiko)
> * Rebroke compatible strings line
> * Disabled i2c1 to avoid hang (next-20160304)
>
> v2: New - showcases inclusion of GeekBox module config
>
> arch/arm64/boot/dts/rockchip/Makefile | 1 +
> .../dts/rockchip/rk3368-geekbox-landingship.dts | 57
> ++++++++++++++++++++++ 2 files changed, 58 insertions(+)
> create mode 100644
> arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
>
> diff --git a/arch/arm64/boot/dts/rockchip/Makefile
> b/arch/arm64/boot/dts/rockchip/Makefile index df37865e8ced..201bcd9863ce
> 100644
> --- a/arch/arm64/boot/dts/rockchip/Makefile
> +++ b/arch/arm64/boot/dts/rockchip/Makefile
> @@ -1,5 +1,6 @@
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox-landingship.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
>
> always := $(dtb-y)
> diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
> b/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts new file mode
> 100644
> index 000000000000..a28ace9512bb
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
> @@ -0,0 +1,57 @@
> +/*
> + * Copyright (c) 2016 Andreas F?rber
> + *
> + * 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.
> + *
> + * 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.
> + */
> +
> +#include "rk3368-geekbox.dts"
> +
> +/ {
> + model = "GeekBox on Landingship";
> + compatible = "geekbuying,geekbox-landingship",
> + "geekbuying,geekbox", "rockchip,rk3368";
> +};
> +
> +&i2c1 {
> + status = "disabled";
> +};
> +
> +&i2c2 {
> + status = "okay";
> +};
Am 29.03.2016 um 22:13 schrieb Heiko Stübner:
> Am Mittwoch, 16. März 2016, 14:58:41 schrieb Andreas Färber:
>> Use "geekbuying,geekbox" compatible string.
>>
>> Acked-by: Rob Herring <[email protected]>
>> Signed-off-by: Andreas Färber <[email protected]>
>
> I've folded this patch into the geekbox dts patch, carrying Rob's Ack for the
> binding over.
Either you just made a mistake in my name or
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Documentation/devicetree/bindings/submitting-patches.txt
needs an update. It clearly says:
"1) The Documentation/ portion of the patch should be a separate patch."
That's why I always do it this way.
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg)
Am Dienstag, 29. M?rz 2016, 22:45:18 schrieb Andreas F?rber:
> Am 29.03.2016 um 22:13 schrieb Heiko St?bner:
> > Am Mittwoch, 16. M?rz 2016, 14:58:41 schrieb Andreas F?rber:
> >> Use "geekbuying,geekbox" compatible string.
> >>
> >> Acked-by: Rob Herring <[email protected]>
> >> Signed-off-by: Andreas F?rber <[email protected]>
> >
> > I've folded this patch into the geekbox dts patch, carrying Rob's Ack for
> > the binding over.
>
> Either you just made a mistake in my name or
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Docume
> ntation/devicetree/bindings/submitting-patches.txt needs an update. It
> clearly says:
>
> "1) The Documentation/ portion of the patch should be a separate patch."
>
> That's why I always do it this way.
looking at the dt-bindings git log, it seems that is handled in a variety of
ways :-) . Personally I'm doing completely new bindings separately but the
125th addition of a board just inside the dts patch.
But I guess we can also move it out again into a separate patch if you prefer
that :-) .
Heiko
Am 29.03.2016 um 22:18 schrieb Heiko St?bner:
> This needs a commit message explaining the i2c1/i2c2 voodoo below - especially
> as this is the only difference to the core geekbox board.
You're probably right about the commit message, but there is no voodoo
about i2c2 below.
Would you rather have i2c1 dropped for now? Having it disabled at least
documents that the connectors are there.
>From a distro perspective I like dtb filename stability and not needing
to mess with filename changing from .dtb to -landingship.dtb, so I
rather add it from the start than later as more nodes get added.
> And I'm still not fully convinced about having the landing ship separate.
Separate would've been copy&paste! It's using the preprocessor
specifically to avoid having them be separate.
> I guess I'll just go to the talk about "Portable Device Tree Connector:
> Painless Expansion Board Support" [0] on monday to help make up my mind ;-) .
This is not a random expansion board to exchange, it's a baseboard and
as we found out one very specific to this module, so no reuse unlike
Shields. As mentioned elsewhere, I2C are not the only difference,
they're the only difference _for now_. USB-SATA bridge comes for free
via USB node; there's four GPIO buttons to be figured out, an I2S codec
somewhere, display options (that I cannot test myself) and additional
regulator(s) needed.
Do enjoy the talk and report your findings. The pure existence of
overlays for Beagleboard is not convincing to me for dropping this patch
though - we've had similar discussions among distro people before
settling for EFI boot. Reality is messy, unfortunately. For an FPGA I've
grudgingly agreed that given a sane U-Boot one can use dtb commands to
add a couple nodes via a boot.scr, sanitizing the matrix of hardware
models x FPGA bitstreams to just the hardware models; however this
Landingship board is actually sold in hardware and is the only sane
rk3368 devboard to date rather than just some bitstream file, and we at
openSUSE are looking to abandon boot.scr in favor of generic bootefi,
running counter to that idea. Here I'm still dealing with a vendor
U-Boot, so neither works for now, only supplying a feature-complete .dtb
in the resource image partition does, which I need to build from
something - this patch. So no is not a solution. And it's not like
you're swamped in rk3368 .dts files anyway.
Thanks for queuing the core bits,
Andreas
> [0] http://openiotelc2016.sched.org/event/6DA4/portable-device-tree-connector-painless-expansion-board-support-pantelis-antoniou-konsulko-group
[...]
>> +&i2c1 {
>> + status = "disabled";
>> +};
>> +
>> +&i2c2 {
>> + status = "okay";
>> +};
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Felix Imend?rffer, Jane Smithard, Graham Norton; HRB 21284 (AG N?rnberg)
Am Dienstag, 29. M?rz 2016, 23:21:51 schrieb Heiko St?bner:
> Am Dienstag, 29. M?rz 2016, 22:45:18 schrieb Andreas F?rber:
> > Am 29.03.2016 um 22:13 schrieb Heiko St?bner:
> > > Am Mittwoch, 16. M?rz 2016, 14:58:41 schrieb Andreas F?rber:
> > >> Use "geekbuying,geekbox" compatible string.
> > >>
> > >> Acked-by: Rob Herring <[email protected]>
> > >> Signed-off-by: Andreas F?rber <[email protected]>
> > >
> > > I've folded this patch into the geekbox dts patch, carrying Rob's Ack
> > > for
> > > the binding over.
> >
> > Either you just made a mistake in my name or
> > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/Do
> > cume ntation/devicetree/bindings/submitting-patches.txt needs an update.
> > It clearly says:
> >
> > "1) The Documentation/ portion of the patch should be a separate patch."
> >
> > That's why I always do it this way.
>
> looking at the dt-bindings git log, it seems that is handled in a variety
> of ways :-) . Personally I'm doing completely new bindings separately but
> the 125th addition of a board just inside the dts patch.
>
> But I guess we can also move it out again into a separate patch if you
> prefer that :-) .
I've split out that documentation addition again and applied this separate
patch instead :-) .
Heiko
Am Samstag, 19. M?rz 2016, 09:04:08 schrieb Heiko Stuebner:
> Am Mittwoch, 16. M?rz 2016, 14:58:39 schrieb Andreas F?rber:
> > A dtc update results in warnings for nodes with reg property but without
> > unit address in the node name, so rename /memory to /memory@0.
> >
> > Signed-off-by: Andreas F?rber <[email protected]>
>
> applied to a dts64-fixes branch for 4.6, after changing the commit message
> to ----
> A dtc update results in warnings for nodes with reg property but without
> unit address in the node name, so rename /memory to /memory@startaddress
> (memory starts at 0 in the case of the rk3368).
> ----
>
> To clarify that the @0 is not arbitary chosen.
This dtc update in question hasn't landed in v4.6-rc1 and from what I
gathered will need some changes. The patch is obviously still correct, but I
have now moved it from v4.6-fixes to the regular v4.7 64bit dts changes.
Heiko
Am Donnerstag, 31. M?rz 2016, 19:15:43 schrieb Heiko Stuebner:
> Am Samstag, 19. M?rz 2016, 09:04:08 schrieb Heiko Stuebner:
> > Am Mittwoch, 16. M?rz 2016, 14:58:39 schrieb Andreas F?rber:
> > > A dtc update results in warnings for nodes with reg property but
> > > without
> > > unit address in the node name, so rename /memory to /memory@0.
> > >
> > > Signed-off-by: Andreas F?rber <[email protected]>
> >
> > applied to a dts64-fixes branch for 4.6, after changing the commit
> > message to ----
> > A dtc update results in warnings for nodes with reg property but without
> > unit address in the node name, so rename /memory to /memory@startaddress
> > (memory starts at 0 in the case of the rk3368).
> > ----
> >
> > To clarify that the @0 is not arbitary chosen.
>
> This dtc update in question hasn't landed in v4.6-rc1 and from what I
> gathered will need some changes. The patch is obviously still correct, but
> I have now moved it from v4.6-fixes to the regular v4.7 64bit dts
> changes.
also it seems "memory" is special and memory without unitname will stay
allowed [0], especially as uboot or other bootloaders may expect such a node
to insert the actual amount of memory into it.
Looking at uboot, fdt_fixup_memory_banks seems to look explicitly for a
"memory" node, so I'm actually not sure, if this is safe to keep at all.
[0] http://www.spinics.net/lists/arm-kernel/msg494038.html
Am Donnerstag, 31. M?rz 2016, 22:45:52 schrieb Heiko Stuebner:
> Am Donnerstag, 31. M?rz 2016, 19:15:43 schrieb Heiko Stuebner:
> > Am Samstag, 19. M?rz 2016, 09:04:08 schrieb Heiko Stuebner:
> > > Am Mittwoch, 16. M?rz 2016, 14:58:39 schrieb Andreas F?rber:
> > > > A dtc update results in warnings for nodes with reg property but
> > > > without
> > > > unit address in the node name, so rename /memory to /memory@0.
> > > >
> > > > Signed-off-by: Andreas F?rber <[email protected]>
> > >
> > > applied to a dts64-fixes branch for 4.6, after changing the commit
> > > message to ----
> > > A dtc update results in warnings for nodes with reg property but
> > > without
> > > unit address in the node name, so rename /memory to
> > > /memory@startaddress
> > > (memory starts at 0 in the case of the rk3368).
> > > ----
> > >
> > > To clarify that the @0 is not arbitary chosen.
> >
> > This dtc update in question hasn't landed in v4.6-rc1 and from what I
> > gathered will need some changes. The patch is obviously still correct,
> > but I have now moved it from v4.6-fixes to the regular v4.7 64bit dts
> > changes.
>
> also it seems "memory" is special and memory without unitname will stay
> allowed [0], especially as uboot or other bootloaders may expect such a
> node to insert the actual amount of memory into it.
>
> Looking at uboot, fdt_fixup_memory_banks seems to look explicitly for a
> "memory" node, so I'm actually not sure, if this is safe to keep at all.
so after pondering this some more, I decided to drop this change again.
/memory will stay allowed and might produce less issues with bootloaders
touching the memory values.
> [0] http://www.spinics.net/lists/arm-kernel/msg494038.html