Skip to content

Commit

Permalink
ARM: dts: imx6ull: add Toradex Colibri iMX6ULL support
Browse files Browse the repository at this point in the history
Add support for the Computer on Module Colibri iMX6ULL and its
Bluetooth/Wifi variant along with the development/evaluation carrier
board device trees. Follow the usual hierarchic include model,
maintaining shared configuration in imx6ull-colibri.dtsi and
imx6ull-colibri-eval-v3.dtsi respectively.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
  • Loading branch information
Stefan Agner authored and Shawn Guo committed Feb 12, 2018
1 parent 0a929d9 commit c2e4987
Show file tree
Hide file tree
Showing 7 changed files with 829 additions and 1 deletion.
4 changes: 3 additions & 1 deletion arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,9 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
imx6ul-tx6ul-0010.dtb \
imx6ul-tx6ul-0011.dtb \
imx6ul-tx6ul-mainboard.dtb \
imx6ull-14x14-evk.dtb
imx6ull-14x14-evk.dtb \
imx6ull-colibri-eval-v3.dtb \
imx6ull-colibri-wifi-eval-v3.dtb
dtb-$(CONFIG_SOC_IMX7D) += \
imx7d-cl-som-imx7.dtb \
imx7d-colibri-emmc-eval-v3.dtb \
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/imx6ull-colibri-eval-v3.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2018 Toradex AG
*/

/dts-v1/;

#include "imx6ull-colibri-nonwifi.dtsi"
#include "imx6ull-colibri-eval-v3.dtsi"

/ {
model = "Toradex Colibri iMX6ULL 256MB on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx6ull-eval", "fsl,imx6ull";
};
157 changes: 157 additions & 0 deletions arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2017 Toradex AG
*/

/ {
chosen {
stdout-path = "serial0:115200n8";
};

/* fixed crystal dedicated to mcp2515 */
clk16m: clk16m {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <16000000>;
};

panel: panel {
compatible = "edt,et057090dhu";
backlight = <&bl>;
power-supply = <&reg_3v3>;

port {
panel_in: endpoint {
remote-endpoint = <&lcdif_out>;
};
};
};

reg_3v3: regulator-3v3 {
compatible = "regulator-fixed";
regulator-name = "3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};

reg_5v0: regulator-5v0 {
compatible = "regulator-fixed";
regulator-name = "5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};

reg_usbh_vbus: regulator-usbh-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh_reg>;
regulator-name = "VCC_USB[1-4]";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
vin-supply = <&reg_5v0>;
};
};

&adc1 {
status = "okay";
};

&bl {
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <6>;
power-supply = <&reg_3v3>;
pwms = <&pwm4 0 5000000 1>;
status = "okay";
};

&ecspi1 {
status = "okay";

mcp2515: can@0 {
compatible = "microchip,mcp2515";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can_int>;
reg = <0>;
clocks = <&clk16m>;
interrupt-parent = <&gpio2>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
spi-max-frequency = <10000000>;
vdd-supply = <&reg_3v3>;
xceiver-supply = <&reg_5v0>;
status = "okay";
};
};

&i2c1 {
status = "okay";

/* M41T0M6 real time clock on carrier board */
m41t0m6: rtc@68 {
compatible = "st,m41t0";
reg = <0x68>;
};
};

&lcdif {
status = "okay";

port {
lcdif_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};

/* PWM <A> */
&pwm4 {
status = "okay";
};

/* PWM <B> */
&pwm5 {
status = "okay";
};

/* PWM <C> */
&pwm6 {
status = "okay";
};

/* PWM <D> */
&pwm7 {
status = "okay";
};

&uart1 {
status = "okay";
};

&uart2 {
status = "okay";
};

&uart5 {
status = "okay";
};

&usbotg1 {
status = "okay";
};

&usbotg2 {
vbus-supply = <&reg_usbh_vbus>;
status = "okay";
};

&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>;
no-1-8-v;
cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
disable-wp;
wakeup-source;
keep-power-in-suspend;
vmmc-supply = <&reg_3v3>;
status = "okay";
};
23 changes: 23 additions & 0 deletions arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2018 Toradex AG
*/

#include "imx6ull-colibri.dtsi"

/ {
memory {
reg = <0x80000000 0x10000000>;
};
};

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
&pinctrl_gpio4 &pinctrl_gpio5 &pinctrl_gpio6>;
};

&iomuxc_snvs {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio2 &pinctrl_snvs_gpio3>;
};
14 changes: 14 additions & 0 deletions arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2018 Toradex AG
*/

/dts-v1/;

#include "imx6ull-colibri-wifi.dtsi"
#include "imx6ull-colibri-eval-v3.dtsi"

/ {
model = "Toradex Colibri iMX6ULL 512MB on Colibri Evaluation Board V3";
compatible = "toradex,colibri-imx6ull-wifi-eval", "fsl,imx6ull";
};
65 changes: 65 additions & 0 deletions arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
* Copyright 2018 Toradex AG
*/

#include "imx6ull-colibri.dtsi"

/ {
memory {
reg = <0x80000000 0x20000000>;
};

wifi_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_snvs_wifi_pdn>;
reset-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
};
};

&cpu0 {
clock-frequency = <792000000>;
operating-points = <
/* kHz uV */
792000 1225000
528000 1175000
396000 1025000
198000 950000
>;
fsl,soc-operating-points = <
/* KHz uV */
792000 1175000
528000 1175000
396000 1175000
198000 1175000
>;
};

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
&pinctrl_gpio4 &pinctrl_gpio5>;

};

&iomuxc_snvs {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio2>;
};

&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>;
assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;
assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
assigned-clock-rates = <0>, <198000000>;
cap-power-off-card;
keep-power-in-suspend;
mmc-pwrseq = <&wifi_pwrseq>;
no-1-8-v;
non-removable;
vmmc-supply = <&reg_module_3v3>;
wakeup-source;
status = "okay";
};
Loading

0 comments on commit c2e4987

Please sign in to comment.