SolidRun Hummingboard DT updates
Subsystems (3)
v2 cover SolidRun Hummingboard DT updates
Hi Shawn,
This series updates the SolidRun Hummingboard platforms to:
(a) make the DT more reflective of the schematics
(b) re-organise how we deal with the differences between various board versions in preparation for the new 1.5 SOM.
The idea with (b) is that we add the support for the board + usom combination by including the appropriate dtsi files.
For example, in mainline at the moment, we support two variants of the Hummingboards - both with Broadcom Wi-Fi and without eMMC. Going forward, when a 1.5 SOM is fitted (which modern Hummingboards will all have) the boards will have TI Wi-Fi and potentially eMMC on the usom.
This series adds the dtsi files for the new SOM and dts files for the platform variants (v1.5 SOM without eMMC, v1.5 SOM with eMMC.) It's unfortunate that the w/o eMMC variant can't detect the lack of eMMC, running the eMMC version without eMMC on the boards results in an almost constant stream of kernel messages.
Feedback from the previous posting has been addressed, and additional changes adding the v1.5 SOM board level files added through discussion with Jon.
arch/arm/boot/dts/Makefile | 8 + arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dts | 52 +++++++ arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dts | 51 +++++++ arch/arm/boot/dts/imx6dl-cubox-i.dts | 2 + .../boot/dts/imx6dl-hummingboard-emmc-som-v15.dts | 53 +++++++ arch/arm/boot/dts/imx6dl-hummingboard-som-v15.dts | 52 +++++++ arch/arm/boot/dts/imx6dl-hummingboard.dts | 2 + arch/arm/boot/dts/imx6q-cubox-i-emmc-som-v15.dts | 60 ++++++++ arch/arm/boot/dts/imx6q-cubox-i-som-v15.dts | 59 +++++++ arch/arm/boot/dts/imx6q-cubox-i.dts | 2 + arch/arm/boot/dts/imx6q-h100.dts | 4 +- .../boot/dts/imx6q-hummingboard-emmc-som-v15.dts | 61 ++++++++ arch/arm/boot/dts/imx6q-hummingboard-som-v15.dts | 60 ++++++++ arch/arm/boot/dts/imx6q-hummingboard.dts | 2 + arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 72 ++++----- arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 103 ++++++++----- arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi | 99 ------------ arch/arm/boot/dts/imx6qdl-microsom.dtsi | 161 ------------------- arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi | 144 +++++++++++++++++ arch/arm/boot/dts/imx6qdl-sr-som-emmc.dtsi | 70 +++++++++ arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi | 170 +++++++++++++++++++++ arch/arm/boot/dts/imx6qdl-sr-som.dtsi | 121 +++++++++++++++ 22 files changed, 1072 insertions(+), 336 deletions(-)
Signature · 3 lines
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up According to speedtest.net: 8.21Mbps down 510kbps up
PATCH v2 1/16 ARM: dts: imx6qdl: SolidRun: remove redundant regulators node
The regulators node is redundant, and serves no useful function. Remove it from i.MX6 SolidRun platforms.
--- arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 56 ++++++++++++++--------------- arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 56 ++++++++++++++--------------- arch/arm/boot/dts/imx6qdl-microsom.dtsi | 24 ++++++------- 3 files changed, 62 insertions(+), 74 deletions(-)
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +26 -30
@@ -64,38 +64,34 @@ }; }; - regulators { - compatible = "simple-bus"; - - reg_3p3v: 3p3v { - compatible = "regulator-fixed"; - regulator-name = "3P3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; + reg_3p3v: 3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; - reg_usbh1_vbus: usb-h1-vbus { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio1 0 0>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>; - regulator-name = "usb_h1_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; + reg_usbh1_vbus: usb-h1-vbus { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio1 0 0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>; + regulator-name = "usb_h1_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; - reg_usbotg_vbus: usb-otg-vbus { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio3 22 0>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>; - regulator-name = "usb_otg_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; + reg_usbotg_vbus: usb-otg-vbus { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio3 22 0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; }; sound-spdif {
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +26 -30
64 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-microsom.dtsi +10 -14
@@ -48,20 +48,16 @@ enable-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; }; - regulators { - compatible = "simple-bus"; - - reg_brcm: brcm-reg { - compatible = "regulator-fixed"; - enable-active-high; - gpio = <&gpio3 19 0>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_microsom_brcm_reg>; - regulator-name = "brcm_reg"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - startup-delay-us = <200000>; - }; + reg_brcm: brcm-reg { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio3 19 0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_brcm_reg>; + regulator-name = "brcm_reg"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + startup-delay-us = <200000>; }; usdhc1_pwrseq: usdhc1_pwrseq {
Signature · 1 line
2.7.4
PATCH v2 2/16 ARM: dts: imx6qdl: SolidRun: move AR8035 into microsom
In reply to Russell King - ARM LinuxAs all SolidRun microsoms are fitted with an AR8035, it's pointless having the ethernet support as a separate include file. Move the AR8035 support into the main imx6qdl-microsom file.
--- arch/arm/boot/dts/imx6q-h100.dts | 1 - arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 1 - arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 1 - arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi | 99 -------------------------- arch/arm/boot/dts/imx6qdl-microsom.dtsi | 53 ++++++++++++++ 5 files changed, 53 insertions(+), 102 deletions(-) delete mode 100644 arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi
arch/arm/boot/dts/imx6q-h100.dts +0 -1
@@ -43,7 +43,6 @@ #include "imx6q.dtsi" #include "imx6qdl-microsom.dtsi" -#include "imx6qdl-microsom-ar8035.dtsi" / { model = "Auvidea H100";
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +0 -1
@@ -39,7 +39,6 @@ * OTHER DEALINGS IN THE SOFTWARE. */ #include "imx6qdl-microsom.dtsi" -#include "imx6qdl-microsom-ar8035.dtsi" #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h>
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +0 -1
@@ -39,7 +39,6 @@ * OTHER DEALINGS IN THE SOFTWARE. */ #include "imx6qdl-microsom.dtsi" -#include "imx6qdl-microsom-ar8035.dtsi" / { chosen {
arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi deleted +0 -99
99 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-microsom.dtsi +53 -0
65 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v2 3/16 ARM: dts: imx6qdl-microsom: rename to imx6qdl-sr-som
In reply to Russell King - ARM LinuxJon and myself feel that "imx6qdl-microsom" is too generic a name for SolidRun's microsom - some other manufacturer could have their own microsom. Change the name to the shorter "imx6qdl-sr-som".
---
arch/arm/boot/dts/imx6q-h100.dts | 2 +-
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 2 +-
arch/arm/boot/dts/{imx6qdl-microsom.dtsi => imx6qdl-sr-som.dtsi} | 0
4 files changed, 3 insertions(+), 3 deletions(-)
rename arch/arm/boot/dts/{imx6qdl-microsom.dtsi => imx6qdl-sr-som.dtsi} (100%)arch/arm/boot/dts/imx6q-h100.dts +1 -1
@@ -42,7 +42,7 @@ /dts-v1/; #include "imx6q.dtsi" -#include "imx6qdl-microsom.dtsi" +#include "imx6qdl-sr-som.dtsi" / { model = "Auvidea H100";
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +1 -1
@@ -38,7 +38,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ -#include "imx6qdl-microsom.dtsi" +#include "imx6qdl-sr-som.dtsi" #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h>
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +1 -1
@@ -38,7 +38,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ -#include "imx6qdl-microsom.dtsi" +#include "imx6qdl-sr-som.dtsi" / { chosen {
arch/arm/boot/dts/imx6qdl-sr-som.dtsi renamed from arch/arm/boot/dts/imx6qdl-microsom.dtsi +0 -0
Signature · 1 line
2.7.4
PATCH v2 4/16 ARM: dts: imx6qdl: SolidRun: move microsom includes into .dts
In reply to Russell King - ARM LinuxMove the microsom includes into the .dts files so different options can be accomodated at the lowest level.
--- arch/arm/boot/dts/imx6dl-cubox-i.dts | 1 + arch/arm/boot/dts/imx6dl-hummingboard.dts | 1 + arch/arm/boot/dts/imx6q-cubox-i.dts | 1 + arch/arm/boot/dts/imx6q-hummingboard.dts | 1 + arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 1 - arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 1 - 6 files changed, 4 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6dl-cubox-i.dts +1 -0
@@ -41,6 +41,7 @@ /dts-v1/; #include "imx6dl.dtsi" +#include "imx6qdl-sr-som.dtsi" #include "imx6qdl-cubox-i.dtsi" / {
arch/arm/boot/dts/imx6dl-hummingboard.dts +1 -0
@@ -42,6 +42,7 @@ /dts-v1/; #include "imx6dl.dtsi" +#include "imx6qdl-sr-som.dtsi" #include "imx6qdl-hummingboard.dtsi" / {
arch/arm/boot/dts/imx6q-cubox-i.dts +1 -0
@@ -41,6 +41,7 @@ /dts-v1/; #include "imx6q.dtsi" +#include "imx6qdl-sr-som.dtsi" #include "imx6qdl-cubox-i.dtsi" / {
arch/arm/boot/dts/imx6q-hummingboard.dts +1 -0
@@ -42,6 +42,7 @@ /dts-v1/; #include "imx6q.dtsi" +#include "imx6qdl-sr-som.dtsi" #include "imx6qdl-hummingboard.dtsi" / {
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +0 -1
@@ -38,7 +38,6 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ -#include "imx6qdl-sr-som.dtsi" #include <dt-bindings/input/input.h> #include <dt-bindings/gpio/gpio.h>
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +0 -1
@@ -38,7 +38,6 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ -#include "imx6qdl-sr-som.dtsi" / { chosen {
Signature · 1 line
2.7.4
PATCH v2 5/16 ARM: dts: imx6qdl-sr-som: use real iomuxc values for ethernet
In reply to Russell King - ARM LinuxUse real iomuxc values rather than preserving the boot loader value for the SOMs ethernet.
--- arch/arm/boot/dts/imx6qdl-sr-som.dtsi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
arch/arm/boot/dts/imx6qdl-sr-som.dtsi +3 -3
@@ -116,10 +116,10 @@ /* AR8035 reset */ MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x130b0 /* AR8035 interrupt */ - MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x80000000 + MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x1b0b0 /* GPIO16 -> AR8035 25MHz */ - MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0xc0000000 - MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x80000000 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0b0 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x13030 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
Signature · 1 line
2.7.4
PATCH v2 6/16 ARM: dts: imx6qdl-sr-som: split out Broadcom Wi-Fi support
In reply to Russell King - ARM LinuxThere are two variants of the imx6qdl som: one with Broadcom Wi-Fi and another with Texas Instruments Wi-Fi. The two Wi-Fi devices require different DT bindings, so it's necessary to split out the Broadcom specifics.
--- arch/arm/boot/dts/imx6dl-cubox-i.dts | 1 + arch/arm/boot/dts/imx6dl-hummingboard.dts | 1 + arch/arm/boot/dts/imx6q-cubox-i.dts | 1 + arch/arm/boot/dts/imx6q-h100.dts | 1 + arch/arm/boot/dts/imx6q-hummingboard.dts | 1 + arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi | 144 +++++++++++++++++++++++++++++ arch/arm/boot/dts/imx6qdl-sr-som.dtsi | 99 -------------------- 7 files changed, 149 insertions(+), 99 deletions(-) create mode 100644 arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi
arch/arm/boot/dts/imx6dl-cubox-i.dts +1 -0
@@ -42,6 +42,7 @@ #include "imx6dl.dtsi" #include "imx6qdl-sr-som.dtsi" +#include "imx6qdl-sr-som-brcm.dtsi" #include "imx6qdl-cubox-i.dtsi" / {
arch/arm/boot/dts/imx6dl-hummingboard.dts +1 -0
@@ -43,6 +43,7 @@ #include "imx6dl.dtsi" #include "imx6qdl-sr-som.dtsi" +#include "imx6qdl-sr-som-brcm.dtsi" #include "imx6qdl-hummingboard.dtsi" / {
arch/arm/boot/dts/imx6q-cubox-i.dts +1 -0
@@ -42,6 +42,7 @@ #include "imx6q.dtsi" #include "imx6qdl-sr-som.dtsi" +#include "imx6qdl-sr-som-brcm.dtsi" #include "imx6qdl-cubox-i.dtsi" / {
arch/arm/boot/dts/imx6q-h100.dts +1 -0
@@ -43,6 +43,7 @@ #include "imx6q.dtsi" #include "imx6qdl-sr-som.dtsi" +#include "imx6qdl-sr-som-brcm.dtsi" / { model = "Auvidea H100";
arch/arm/boot/dts/imx6q-hummingboard.dts +1 -0
@@ -43,6 +43,7 @@ #include "imx6q.dtsi" #include "imx6qdl-sr-som.dtsi" +#include "imx6qdl-sr-som-brcm.dtsi" #include "imx6qdl-hummingboard.dtsi" / {
arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi new file +144 -0
144 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-sr-som.dtsi +0 -99
120 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v2 7/16 ARM: dts: imx6qdl-sr-som-brcm: rename sdio clock
In reply to Russell King - ARM LinuxThe SDIO clock is really the Broadcom clock. Rename it as such.
--- arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6qdl-sr-som-brcm.dtsi +2 -2
@@ -40,7 +40,7 @@ */ #include <dt-bindings/gpio/gpio.h> / { - clk_sdio: sdio-clock { + clk_brcm: brcm-clock { compatible = "gpio-gate-clock"; #clock-cells = <0>; pinctrl-names = "default";
@@ -64,7 +64,7 @@ compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpio5 26 GPIO_ACTIVE_LOW>, <&gpio6 0 GPIO_ACTIVE_LOW>; - clocks = <&clk_sdio>; + clocks = <&clk_brcm>; clock-names = "ext_clock"; }; };
Signature · 1 line
2.7.4
PATCH v2 8/16 ARM: dts: imx6qdl-sr-som: add 3.3V vcc regulator
In reply to Russell King - ARM LinuxAdd a 3.3V regulator for devices connected to the vcc_3v3 supply signal on the microsom.
--- arch/arm/boot/dts/imx6qdl-sr-som.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+)
arch/arm/boot/dts/imx6qdl-sr-som.dtsi +10 -0
@@ -40,6 +40,16 @@ */ #include <dt-bindings/gpio/gpio.h> +/ { + vcc_3v3: regulator-vcc-3v3 { + compatible = "regulator-fixed"; + regulator-always-on; + regulator-name = "vcc_3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; +}; + &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_microsom_enet_ar8035>;
Signature · 1 line
2.7.4
PATCH v2 9/16 ARM: dts: imx6qdl-sr-som: add support for TI Wi-Fi
In reply to Russell King - ARM LinuxAdd support for the TI Wi-Fi WL1837 device on SolidRun's revision 1.5 microsoms.
--- arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi | 170 +++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi
arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi new file +170 -0
@@ -0,0 +1,170 @@ +/* + * Copyright (C) 2013,2014 Russell King + * + * 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 + * version 2 as published by the Free Software Foundation. + * + * 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 <dt-bindings/gpio/gpio.h> + +/ { + nvcc_sd1: regulator-nvcc-sd1 { + compatible = "regulator-fixed"; + regulator-always-on; + regulator-name = "nvcc_sd1"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc_3v3>; + }; + + clk_ti_wifi: ti-wifi-clock { + /* This is a hack around the kernel - using "fixed clock" + * results in the "pinctrl" properties being ignored, and + * the clock not being output. Instead, use a gated clock + * and the unrouted WL_XTAL_PU gpio. + */ + compatible = "gpio-gate-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_ti_clk>; + enable-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; + }; + + pwrseq_ti_wifi: ti-wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_ti_wifi_en>; + reset-gpios = <&gpio5 26 GPIO_ACTIVE_LOW>; + post-power-on-delay-ms = <200>; + clocks = <&clk_ti_wifi>; + clock-names = "ext_clock"; + }; +}; + +&iomuxc { + microsom { + pinctrl_microsom_ti_bt: microsom-ti-bt { + fsl,pins = < + /* BT_EN_SOC */ + MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x40013070 + >; + }; + + pinctrl_microsom_ti_clk: microsom-ti-clk { + fsl,pins = < + /* EXT_32K */ + MX6QDL_PAD_GPIO_8__XTALOSC_REF_CLK_32K 0x1b0b0 + /* WL_XTAL_PU (unrouted) */ + MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x40013070 + >; + }; + + pinctrl_microsom_ti_wifi_en: microsom-ti-wifi-en { + fsl,pins = < + /* WLAN_EN_SOC */ + MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x40013070 + >; + }; + + pinctrl_microsom_ti_wifi_irq: microsom-ti-wifi-irq { + fsl,pins = < + /* WLAN_IRQ */ + MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x40013070 + >; + }; + + pinctrl_microsom_uart4: microsom-uart4 { + fsl,pins = < + MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1 + MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1 + MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1 + MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1 + >; + }; + + pinctrl_microsom_usdhc1: microsom-usdhc1 { + fsl,pins = < + MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059 + MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059 + MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059 + MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059 + MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059 + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059 + >; + }; + }; +}; + +/* UART4 - Connected to optional TI Wi-Fi/BT/FM */ +&uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_uart4>; + uart-has-rtscts; + status = "okay"; + + bluetooth { + compatible = "ti,wl1837-st"; + clocks = <&clk_ti_wifi>; + clock-names = "ext_clock"; + enable-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_ti_bt>; + }; +}; + +/* USDHC1 - Connected to optional TI Wi-Fi/BT/FM */ +&usdhc1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_usdhc1>; + bus-width = <4>; + keep-power-in-suspend; + mmc-pwrseq = <&pwrseq_ti_wifi>; + non-removable; + vmmc-supply = <&vcc_3v3>; + /* vqmmc-supply = <&nvcc_sd1>; - MMC layer doesn't like it! */ + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + wlcore at 2 { + compatible = "ti,wl1837"; + reg = <2>; + interrupts-extended = <&gpio6 4 IRQ_TYPE_LEVEL_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_ti_wifi_irq>; + }; +};
Signature · 1 line
2.7.4
PATCH v2 10/16 ARM: dts: ixm6qdl-sr-som: add support for eMMC
In reply to Russell King - ARM LinuxRev 1.5 microsoms include eMMC support on-board. Add a microsom include file which can be used to add support for this.
--- arch/arm/boot/dts/imx6qdl-sr-som-emmc.dtsi | 70 ++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 arch/arm/boot/dts/imx6qdl-sr-som-emmc.dtsi
arch/arm/boot/dts/imx6qdl-sr-som-emmc.dtsi new file +70 -0
@@ -0,0 +1,70 @@ +/* + * Copyright (C) 2013,2014 Russell King + * + * 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 + * version 2 as published by the Free Software Foundation. + * + * 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. + */ + +&iomuxc { + microsom { + pinctrl_microsom_usdhc3: microsom-usdhc3 { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 + MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 + MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 + MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 + MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 + MX6QDL_PAD_SD3_RST__SD3_RESET 0x17059 + >; + }; + }; +}; + +/* USDHC3 - eMMC */ +&usdhc3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_microsom_usdhc3>; + bus-width = <8>; + non-removable; + vmmc-supply = <&vcc_3v3>; + status = "okay"; +};
Signature · 1 line
2.7.4
PATCH v2 10/16 ARM: dts: ixm6qdl-sr-som: add support for eMMC
Quoted 4 lines · Russell King
Rev 1.5 microsoms include eMMC support on-board. Add a microsom include file which can be used to add support for this.
Signed-off-by Russell King <[email protected]>
s/ixm6qdl/imx6qdl in the subject.
I fixed it up and applied the whole series.
Shawn
PATCH v2 11/16 ARM: dts: imx6qdl-hummingboard: add SD card regulator
In reply to Russell King - ARM LinuxAdd the SD card regulator, which allows the SD card power to be switched on/off.
--- arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +19 -1
@@ -59,6 +59,19 @@ regulator-always-on; }; + v_sd: regulator-v-sd { + compatible = "regulator-fixed"; + gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hummingboard_vmmc>; + regulator-boot-on; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "v_sd"; + startup-delay-us = <1000>; + vin-supply = <®_3p3v>; + }; + reg_usbh1_vbus: usb-h1-vbus { compatible = "regulator-fixed"; enable-active-high;
@@ -241,6 +254,11 @@ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059 >; }; + pinctrl_hummingboard_vmmc: hummingboard-vmmc { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 + >; + }; }; };
@@ -292,7 +310,7 @@ &pinctrl_hummingboard_usdhc2_aux &pinctrl_hummingboard_usdhc2 >; - vmmc-supply = <®_3p3v>; + vmmc-supply = <&v_sd>; cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; status = "okay"; };
Signature · 1 line
2.7.4
PATCH v2 12/16 ARM: dts: imx6qdl: SolidRun: rename regulators to match schematic
In reply to Russell King - ARM LinuxMake the regulators match the schematic - name the regulators after one of their schematic supply names, and arrange them into their heirarchy.
--- arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 32 ++++++++++++--------- arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 43 +++++++++++++++++++---------- 2 files changed, 48 insertions(+), 27 deletions(-)
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +19 -13
@@ -62,34 +62,36 @@ }; }; - reg_3p3v: 3p3v { + v_5v0: regulator-v-5v0 { compatible = "regulator-fixed"; - regulator-name = "3P3V"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; regulator-always-on; + regulator-max-microvolt = <5000000>; + regulator-min-microvolt = <5000000>; + regulator-name = "v_5v0"; }; - reg_usbh1_vbus: usb-h1-vbus { + v_usb2: regulator-v-usb2 { compatible = "regulator-fixed"; enable-active-high; gpio = <&gpio1 0 0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>; - regulator-name = "usb_h1_vbus"; - regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; + regulator-min-microvolt = <5000000>; + regulator-name = "v_usb2"; + vin-supply = <&v_5v0>; }; - reg_usbotg_vbus: usb-otg-vbus { + v_usb1: regulator-v-usb1 { compatible = "regulator-fixed"; enable-active-high; gpio = <&gpio3 22 0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>; - regulator-name = "usb_otg_vbus"; - regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; + regulator-min-microvolt = <5000000>; + regulator-name = "v_usb1"; + vin-supply = <&v_5v0>; }; sound-spdif {
@@ -237,21 +239,25 @@ &usbh1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usbh1>; - vbus-supply = <®_usbh1_vbus>; + vbus-supply = <&v_usb2>; status = "okay"; }; &usbotg { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usbotg>; - vbus-supply = <®_usbotg_vbus>; + vbus-supply = <&v_usb1>; status = "okay"; }; &usdhc2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usdhc2_aux &pinctrl_cubox_i_usdhc2>; - vmmc-supply = <®_3p3v>; + vmmc-supply = <&vcc_3v3>; cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; status = "okay"; }; + +&vcc_3v3 { + vin-supply = <&v_5v0>; +};
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +29 -14
95 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v2 13/16 ARM: dts: imx6qdl: SolidRun: fix node names
In reply to Russell King - ARM LinuxNode names are supposed to be generic, fix the RTC and codec node names for both Hummingboard and Cubox-i.
--- arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 2 +- arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +1 -1
@@ -135,7 +135,7 @@ status = "okay"; - rtc: pcf8523 at 68 { + rtc at 68 { compatible = "nxp,pcf8523"; reg = <0x68>; };
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +2 -2
@@ -150,13 +150,13 @@ status = "okay"; /* Pro baseboard model */ - rtc: pcf8523 at 68 { + rtc at 68 { compatible = "nxp,pcf8523"; reg = <0x68>; }; /* Pro baseboard model */ - sgtl5000: sgtl5000 at a { + sgtl5000: codec at a { clocks = <&clks IMX6QDL_CLK_CKO>; compatible = "fsl,sgtl5000"; pinctrl-names = "default";
Signature · 1 line
2.7.4
PATCH v2 14/16 ARM: dts: imx6qdl: SolidRun: add v1.5 som without eMMC
In reply to Russell King - ARM LinuxAdd Cubox-i and Hummingboard variants for v1.5 SOMs, which have TI Wi-Fi instead of Broadcom Wi-Fi. This variant does not include SOM eMMC support.
--- arch/arm/boot/dts/Makefile | 4 ++ arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dts | 51 +++++++++++++++++++ arch/arm/boot/dts/imx6dl-hummingboard-som-v15.dts | 52 ++++++++++++++++++++ arch/arm/boot/dts/imx6q-cubox-i-som-v15.dts | 59 ++++++++++++++++++++++ arch/arm/boot/dts/imx6q-hummingboard-som-v15.dts | 60 +++++++++++++++++++++++ 5 files changed, 226 insertions(+) create mode 100644 arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dts create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard-som-v15.dts create mode 100644 arch/arm/boot/dts/imx6q-cubox-i-som-v15.dts create mode 100644 arch/arm/boot/dts/imx6q-hummingboard-som-v15.dts
arch/arm/boot/dts/Makefile +4 -0
@@ -372,6 +372,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-aristainetos2_7.dtb \ imx6dl-colibri-eval-v3.dtb \ imx6dl-cubox-i.dtb \ + imx6dl-cubox-i-som-v15.dtb \ imx6dl-dfi-fs700-m60.dtb \ imx6dl-gw51xx.dtb \ imx6dl-gw52xx.dtb \
@@ -384,6 +385,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw5903.dtb \ imx6dl-gw5904.dtb \ imx6dl-hummingboard.dtb \ + imx6dl-hummingboard-som-v15.dtb \ imx6dl-icore.dtb \ imx6dl-icore-rqs.dtb \ imx6dl-nit6xlite.dtb \
@@ -421,6 +423,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-b850v3.dtb \ imx6q-cm-fx6.dtb \ imx6q-cubox-i.dtb \ + imx6q-cubox-i-som-v15.dtb \ imx6q-dfi-fs700-m60.dtb \ imx6q-display5-tianma-tm070-1280x768.dtb \ imx6q-dmo-edmqmx6.dtb \
@@ -439,6 +442,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw5904.dtb \ imx6q-h100.dtb \ imx6q-hummingboard.dtb \ + imx6q-hummingboard-som-v15.dtb \ imx6q-icore.dtb \ imx6q-icore-ofcap10.dtb \ imx6q-icore-ofcap12.dtb \
arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dts new file +51 -0
51 lines not on this page · raw message
arch/arm/boot/dts/imx6dl-hummingboard-som-v15.dts new file +52 -0
52 lines not on this page · raw message
arch/arm/boot/dts/imx6q-cubox-i-som-v15.dts new file +59 -0
59 lines not on this page · raw message
arch/arm/boot/dts/imx6q-hummingboard-som-v15.dts new file +60 -0
60 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v2 15/16 ARM: dts: imx6qdl: SolidRun: add v1.5 som with eMMC
In reply to Russell King - ARM LinuxAdd Cubox-i and Hummingboard variants for v1.5 SOMs, where the SOM has eMMC fitted.
--- arch/arm/boot/dts/Makefile | 4 ++ arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dts | 52 ++++++++++++++++++ .../boot/dts/imx6dl-hummingboard-emmc-som-v15.dts | 53 +++++++++++++++++++ arch/arm/boot/dts/imx6q-cubox-i-emmc-som-v15.dts | 60 +++++++++++++++++++++ .../boot/dts/imx6q-hummingboard-emmc-som-v15.dts | 61 ++++++++++++++++++++++ 5 files changed, 230 insertions(+) create mode 100644 arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dts create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard-emmc-som-v15.dts create mode 100644 arch/arm/boot/dts/imx6q-cubox-i-emmc-som-v15.dts create mode 100644 arch/arm/boot/dts/imx6q-hummingboard-emmc-som-v15.dts
arch/arm/boot/dts/Makefile +4 -0
@@ -372,6 +372,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-aristainetos2_7.dtb \ imx6dl-colibri-eval-v3.dtb \ imx6dl-cubox-i.dtb \ + imx6dl-cubox-i-emmc-som-v15.dtb \ imx6dl-cubox-i-som-v15.dtb \ imx6dl-dfi-fs700-m60.dtb \ imx6dl-gw51xx.dtb \
@@ -385,6 +386,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw5903.dtb \ imx6dl-gw5904.dtb \ imx6dl-hummingboard.dtb \ + imx6dl-hummingboard-emmc-som-v15.dtb \ imx6dl-hummingboard-som-v15.dtb \ imx6dl-icore.dtb \ imx6dl-icore-rqs.dtb \
@@ -423,6 +425,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-b850v3.dtb \ imx6q-cm-fx6.dtb \ imx6q-cubox-i.dtb \ + imx6q-cubox-i-emmc-som-v15.dtb \ imx6q-cubox-i-som-v15.dtb \ imx6q-dfi-fs700-m60.dtb \ imx6q-display5-tianma-tm070-1280x768.dtb \
@@ -442,6 +445,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw5904.dtb \ imx6q-h100.dtb \ imx6q-hummingboard.dtb \ + imx6q-hummingboard-emmc-som-v15.dtb \ imx6q-hummingboard-som-v15.dtb \ imx6q-icore.dtb \ imx6q-icore-ofcap10.dtb \
arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dts new file +52 -0
52 lines not on this page · raw message
arch/arm/boot/dts/imx6dl-hummingboard-emmc-som-v15.dts new file +53 -0
53 lines not on this page · raw message
arch/arm/boot/dts/imx6q-cubox-i-emmc-som-v15.dts new file +60 -0
60 lines not on this page · raw message
arch/arm/boot/dts/imx6q-hummingboard-emmc-som-v15.dts new file +61 -0
61 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v2 16/16 ARM: dts: imx6qdl-cubox-i: update GPIO specification
In reply to Russell King - ARM LinuxFabio Estevam suggested using GPIO_ACTIVE_HIGH in the gpio specification for the USB regulators. Change them to conform.
--- arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +2 -2
@@ -73,7 +73,7 @@ v_usb2: regulator-v-usb2 { compatible = "regulator-fixed"; enable-active-high; - gpio = <&gpio1 0 0>; + gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usbh1_vbus>; regulator-max-microvolt = <5000000>;
@@ -85,7 +85,7 @@ v_usb1: regulator-v-usb1 { compatible = "regulator-fixed"; enable-active-high; - gpio = <&gpio3 22 0>; + gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_cubox_i_usbotg_vbus>; regulator-max-microvolt = <5000000>;
Signature · 1 line
2.7.4
Fabio Estevam
reviewerv2 cover SolidRun Hummingboard DT updates
In reply to Russell King - ARM LinuxQuoted 21 lines · Russell King - ARM Linux
Hi Shawn,
This series updates the SolidRun Hummingboard platforms to:
(a) make the DT more reflective of the schematics
(b) re-organise how we deal with the differences between various board versions in preparation for the new 1.5 SOM.The idea with (b) is that we add the support for the board + usom combination by including the appropriate dtsi files.
For example, in mainline at the moment, we support two variants of the Hummingboards - both with Broadcom Wi-Fi and without eMMC. Going forward, when a 1.5 SOM is fitted (which modern Hummingboards will all have) the boards will have TI Wi-Fi and potentially eMMC on the usom.
This series adds the dtsi files for the new SOM and dts files for the platform variants (v1.5 SOM without eMMC, v1.5 SOM with eMMC.) It's unfortunate that the w/o eMMC variant can't detect the lack of eMMC, running the eMMC version without eMMC on the boards results in an almost constant stream of kernel messages.
Quoted 3 lines
Feedback from the previous posting has been addressed, and additional changes adding the v1.5 SOM board level files added through discussion with Jon.
Looks good, thanks.
For the whole series: