[linux-sunxi][PATCH 0/2] ARM: dts: sun4i: mk802 variant patches

34 views
Skip to first unread message

codek...@gmail.com

unread,
Dec 8, 2015, 1:48:57 PM12/8/15
to maxime...@free-electrons.com, linux-ar...@lists.infradead.org, devic...@vger.kernel.org, linux...@googlegroups.com, Marcus Cooper
From: Marcus Cooper <codek...@gmail.com>

This patch series splits the mk802 dts into common include file which
can be shared with the mk802+ device. The only difference that I can
see between this and the original device is that it has an internal
microphone.

With that in mind we can either leave things as they are and enable
the capture to the original mk802 dts or apply this patch to distinguish
between the two devices.

CK

Marcus Cooper (2):
ARM: dts: sun4i: Create common dtsi for mk802
ARM: dts: sun4i: Add rikomagic mk802+ board

arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts | 50 ++++++++++++++
arch/arm/boot/dts/sun4i-a10-mk802.dts | 64 +-----------------
arch/arm/boot/dts/sun4i-a10-mk802.dtsi | 108 ++++++++++++++++++++++++++++++
4 files changed, 160 insertions(+), 63 deletions(-)
create mode 100644 arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts
create mode 100644 arch/arm/boot/dts/sun4i-a10-mk802.dtsi

--
1.9.1

codek...@gmail.com

unread,
Dec 8, 2015, 1:48:58 PM12/8/15
to maxime...@free-electrons.com, linux-ar...@lists.infradead.org, devic...@vger.kernel.org, linux...@googlegroups.com, Marcus Cooper
From: Marcus Cooper <codek...@gmail.com>

There are a few variants of the mk802 boards. This commit adds a
dtsi for the mk802 and modifies the original dts to reference it.

Signed-off-by: Marcus Cooper <codek...@gmail.com>
---
arch/arm/boot/dts/sun4i-a10-mk802.dts | 64 +------------------
arch/arm/boot/dts/sun4i-a10-mk802.dtsi | 108 +++++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+), 63 deletions(-)
create mode 100644 arch/arm/boot/dts/sun4i-a10-mk802.dtsi

diff --git a/arch/arm/boot/dts/sun4i-a10-mk802.dts b/arch/arm/boot/dts/sun4i-a10-mk802.dts
index 3c7eebe..fd2f7fb 100644
--- a/arch/arm/boot/dts/sun4i-a10-mk802.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mk802.dts
@@ -41,72 +41,10 @@
*/

/dts-v1/;
-#include "sun4i-a10.dtsi"
-#include "sunxi-common-regulators.dtsi"
-#include <dt-bindings/gpio/gpio.h>
+#include "sun4i-a10-mk802.dtsi"

/ {
model = "MK802";
compatible = "allwinner,mk802", "allwinner,sun4i-a10";

- aliases {
- serial0 = &uart0;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-};
-
-&ehci0 {
- status = "okay";
-};
-
-&ehci1 {
- status = "okay";
-};
-
-&mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
- vmmc-supply = <&reg_vcc3v3>;
- bus-width = <4>;
- cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
- cd-inverted;
- status = "okay";
-};
-
-&ohci0 {
- status = "okay";
-};
-
-&pio {
- usb2_vbus_pin_mk802: usb2_vbus_pin@0 {
- allwinner,pins = "PH12";
- allwinner,function = "gpio_out";
- allwinner,drive = <SUN4I_PINCTRL_10_MA>;
- allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
- };
-};
-
-&reg_usb1_vbus {
- status = "okay";
-};
-
-&reg_usb2_vbus {
- pinctrl-0 = <&usb2_vbus_pin_mk802>;
- gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */
- status = "okay";
-};
-
-&uart0 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart0_pins_a>;
- status = "okay";
-};
-
-&usbphy {
- usb1_vbus-supply = <&reg_usb1_vbus>;
- usb2_vbus-supply = <&reg_usb2_vbus>;
- status = "okay";
};
diff --git a/arch/arm/boot/dts/sun4i-a10-mk802.dtsi b/arch/arm/boot/dts/sun4i-a10-mk802.dtsi
new file mode 100644
index 0000000..422ef9c
--- /dev/null
+++ b/arch/arm/boot/dts/sun4i-a10-mk802.dtsi
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2015 Hans de Goede <hdeg...@redhat.com>
+ *
+ * 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 "sun4i-a10.dtsi"
+#include "sunxi-common-regulators.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ aliases {
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&ehci0 {
+ status = "okay";
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
+ vmmc-supply = <&reg_vcc3v3>;
+ bus-width = <4>;
+ cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */
+ cd-inverted;
+ status = "okay";
+};
+
+&ohci0 {
+ status = "okay";
+};
+
+&pio {
+ usb2_vbus_pin_mk802: usb2_vbus_pin@0 {
+ allwinner,pins = "PH12";
+ allwinner,function = "gpio_out";
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+ };
+};
+
+&reg_usb1_vbus {
+ status = "okay";
+};
+
+&reg_usb2_vbus {
+ pinctrl-0 = <&usb2_vbus_pin_mk802>;
+ gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pins_a>;
+ status = "okay";
+};
+
+&usbphy {
+ usb1_vbus-supply = <&reg_usb1_vbus>;
+ usb2_vbus-supply = <&reg_usb2_vbus>;
+ status = "okay";
+};
--
1.9.1

codek...@gmail.com

unread,
Dec 8, 2015, 1:49:00 PM12/8/15
to maxime...@free-electrons.com, linux-ar...@lists.infradead.org, devic...@vger.kernel.org, linux...@googlegroups.com, Marcus Cooper
From: Marcus Cooper <codek...@gmail.com>

The Rikomagic mk802+ is an Allwinner A10 based hdmi tv-stick, it features
1G RAM, 4G nand, a mini-hdmi female connector, USB-A receptacle, mini-usb
receptacle (OTG), USB-wifi and an internal microphone. Like the original
mk802, it does not use any pmic.

Signed-off-by: Marcus Cooper <codek...@gmail.com>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts | 50 +++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+)
create mode 100644 arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index ee8a1dc..f1cb0f8 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -600,6 +600,7 @@ dtb-$(CONFIG_MACH_SUN4I) += \
sun4i-a10-marsboard.dtb \
sun4i-a10-mini-xplus.dtb \
sun4i-a10-mk802.dtb \
+ sun4i-a10-mk802-1gb.dtb \
sun4i-a10-mk802ii.dtb \
sun4i-a10-olinuxino-lime.dtb \
sun4i-a10-pcduino.dtb \
diff --git a/arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts b/arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts
new file mode 100644
index 0000000..eb77633
--- /dev/null
+++ b/arch/arm/boot/dts/sun4i-a10-mk802-1gb.dts
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2015 Marcus Cooper <codek...@gmail.com>
+/dts-v1/;
+#include "sun4i-a10-mk802.dtsi"
+
+/ {
+ model = "Rikomagic MK802+";
+ compatible = "rikomagic,mk802-1gb", "allwinner,sun4i-a10";
+
+};
--
1.9.1

Julian Calaby

unread,
Dec 8, 2015, 5:56:41 PM12/8/15
to Code Kipper, Maxime Ripard, Mailing List, Arm, devicetree, linux-sunxi
Hi Marcus,
Are there any differences between the Rikomagic and the generic MK802?

You could just add another compatible to the original MK802 dts if there aren't.

Thanks,

--
Julian Calaby

Email: julian...@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/

Code Kipper

unread,
Dec 9, 2015, 1:25:05 AM12/9/15
to Julian Calaby, Maxime Ripard, Mailing List, Arm, devicetree, linux-sunxi
>
> Are there any differences between the Rikomagic and the generic MK802?

Hi Julian,

In the covering letter I mention this
https://groups.google.com/d/msg/linux-sunxi/Az9Dy6tPfqQ/ZMYwKWznAAAJ
and also that we could always use the original mk802 dts for the
differences.

BR,
CK

Maxime Ripard

unread,
Dec 9, 2015, 4:21:30 AM12/9/15
to codek...@gmail.com, linux-ar...@lists.infradead.org, devic...@vger.kernel.org, linux...@googlegroups.com
Hi,

On Tue, Dec 08, 2015 at 07:48:52PM +0100, codek...@gmail.com wrote:
> From: Marcus Cooper <codek...@gmail.com>
>
> This patch series splits the mk802 dts into common include file which
> can be shared with the mk802+ device. The only difference that I can
> see between this and the original device is that it has an internal
> microphone.

Internal microphone that is not represented in the DT :)

> With that in mind we can either leave things as they are and enable
> the capture to the original mk802 dts or apply this patch to distinguish
> between the two devices.

Since there's exactly no difference between the two DTs, is there a
point at merging these patches?

Thanks,
Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
signature.asc

Hans de Goede

unread,
Dec 9, 2015, 4:29:29 AM12/9/15
to codek...@gmail.com, maxime...@free-electrons.com, linux-ar...@lists.infradead.org, devic...@vger.kernel.org, linux...@googlegroups.com
Hi Marcus,

On 08-12-15 19:48, codek...@gmail.com wrote:
> From: Marcus Cooper <codek...@gmail.com>
>
> This patch series splits the mk802 dts into common include file which
> can be shared with the mk802+ device. The only difference that I can
> see between this and the original device is that it has an internal
> microphone.
>
> With that in mind we can either leave things as they are and enable
> the capture to the original mk802 dts or apply this patch to distinguish
> between the two devices.

Thanks for your work on this, but I do not think that it is a good idea
to differentiate between the different mk802 (not mk802-ii) models, there
are many variants and the chances of a user knowing exactly which variant
he has are small.

So instead we should do the same as with the q8 formfactor tablets and
strive to have a single dts which works everywhere. Here that seems
easy enough, just always enable the mic input (once we have support for
it), this will give people without the mic just noise if they try to use
it but that is not a big deal IMHO.

Regards,

Hans

Code Kipper

unread,
Dec 10, 2015, 7:21:29 AM12/10/15
to Maxime Ripard, linux-sunxi
On 9 December 2015 at 12:16, Code Kipper <codek...@gmail.com> wrote:
> On 9 December 2015 at 10:20, Maxime Ripard
> <maxime...@free-electrons.com> wrote:
>> Hi,
>>
>> On Tue, Dec 08, 2015 at 07:48:52PM +0100, codek...@gmail.com wrote:
>>> From: Marcus Cooper <codek...@gmail.com>
>>>
>>> This patch series splits the mk802 dts into common include file which
>>> can be shared with the mk802+ device. The only difference that I can
>>> see between this and the original device is that it has an internal
>>> microphone.
>>
>> Internal microphone that is not represented in the DT :)
>
> I did have the codec patch queued to go....but I'm waiting for the
> capture patch :P

I'll take that back.......I see that's it's in there now. We can
abandon these patches and I'll just push the one to enable the codec.
BR,
CK
>
>>
>>> With that in mind we can either leave things as they are and enable
>>> the capture to the original mk802 dts or apply this patch to distinguish
>>> between the two devices.
>>
>> Since there's exactly no difference between the two DTs, is there a
>> point at merging these patches?
>
> I just wanted to liberate them...like I said the codec patch can go
> into the original dts. You can decide which path I go down.
> CK
Reply all
Reply to author
Forward
0 new messages