From 0068a1b36d309f22698f7de7478b72e672360129 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Wed, 7 Jun 2017 12:05:01 +0530 Subject: ARM: dts: vf-colibri-aster: Add support for Aster with Vybrid Add support for Aster carrier board with Vybrid. Notes: - In case where the RPi standard specifies a GPIO and we have another pinmux for the concerned pin due to Colibri standard, the Colibri standard has been given preference. - Vybrid DSPI driver does not support the use of GPIOs as chip selects. On Aster Colibri standard SPI chip select is exposed on Arduino header and a GPIO for chip select is brought out on RPi header. Since DSPI driver does not support use of GPIOs as chip selects and to allow use of DSPI on both Arduino and RPi headers, the chip selects have been multiplexed as GPIOs. The user space application will be responsible for controlling these chip selects explicitly. Signed-off-by: Sanchayan Maity Acked-by: Marcel Ziswiler --- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/vf-colibri-aster.dtsi | 189 ++++++++++++++++++++++++++++++ arch/arm/boot/dts/vf500-colibri-aster.dts | 22 ++++ arch/arm/boot/dts/vf610-colibri-aster.dts | 17 +++ 4 files changed, 230 insertions(+) create mode 100644 arch/arm/boot/dts/vf-colibri-aster.dtsi create mode 100644 arch/arm/boot/dts/vf500-colibri-aster.dts create mode 100644 arch/arm/boot/dts/vf610-colibri-aster.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index dd806e1adfeb..a5738197983a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -357,6 +357,8 @@ dtb-$(CONFIG_SOC_LS1021A) += \ dtb-$(CONFIG_SOC_VF610) += \ vf500-colibri-eval-v3.dtb \ vf610-colibri-eval-v3.dtb \ + vf500-colibri-aster.dtb \ + vf610-colibri-aster.dtb \ vf610m4-colibri.dtb \ vf500-colibri-dual-eth.dtb \ vf610-colibri-dual-eth.dtb \ diff --git a/arch/arm/boot/dts/vf-colibri-aster.dtsi b/arch/arm/boot/dts/vf-colibri-aster.dtsi new file mode 100644 index 000000000000..5fee7cba0fee --- /dev/null +++ b/arch/arm/boot/dts/vf-colibri-aster.dtsi @@ -0,0 +1,189 @@ +/* + * Copyright 2017 Toradex AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#include + +/ { + chosen { + stdout-path = "serial0:115200n8"; + }; + + aliases { + ethernet0 = &fec1; + ethernet1 = &fec0; + }; + + panel: panel { + compatible = "edt,et057090dhu"; + backlight = <&bl>; + power-supply = <®_3v3>; + }; + + extcon_usbc_det: usbc_det { + compatible = "linux,extcon-usb-gpio"; + debounce = <25>; + id-gpio = <&gpio3 6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbc_det>; + }; + + reg_3v3: regulator-3v3 { + compatible = "regulator-fixed"; + regulator-name = "3.3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + reg_5v0: regulator-5v0 { + compatible = "regulator-fixed"; + regulator-name = "5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_usbh_vbus: regulator-usbh-vbus { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbh1_reg>; + regulator-name = "VCC_USB[1-4]"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio2 19 GPIO_ACTIVE_LOW>; /* USBH_PEN resp. USBH_P_EN */ + vin-supply = <®_5v0>; + }; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpiokeys>; + + power { + label = "Wake-Up"; + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + linux,code = ; + debounce-interval = <10>; + gpio-key,wakeup; + }; + }; +}; + +&bl { + brightness-levels = <0 4 8 16 32 64 128 255>; + default-brightness-level = <6>; + power-supply = <®_3v3>; + status = "okay"; +}; + +&dcu0 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_dcu0_1>; + fsl,panel = <&panel>; + status = "okay"; +}; + +&dspi1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_aster_dspi1 &pinctrl_aster_spi_gpio>; + status = "okay"; + + spidev0: spidev@0 { + compatible = "toradex,evalspi"; + reg = <0>; + spi-max-frequency = <50000000>; + }; +}; + +&esdhc1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_esdhc1>; + bus-width = <4>; + status = "okay"; +}; + +&fec1 { + phy-mode = "rmii"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_fec1>; + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + /* M41T0M6 real time clock on carrier board */ + rtc: m41t0m6@68 { + compatible = "st,m41t0"; + reg = <0x68>; + }; +}; + +&pwm0 { + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; + +®_module_3v3 { + vin-supply = <®_3v3>; +}; + +&tcon0 { + status = "okay"; +}; + +&uart0 { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&usbdev0 { + extcon = <&extcon_usbc_det>, <&extcon_usbc_det>; +}; + +&usbh1 { + vbus-supply = <®_usbh_vbus>; +}; + +&iomuxc { + vf610-colibri { + pinctrl_gpiokeys: gpiokeys { + fsl,pins = < + VF610_PAD_PTB19__GPIO_41 0x218d + >; + }; + + pinctrl_aster_dspi1: dspi1grp { + fsl,pins = < + VF610_PAD_PTD6__DSPI1_SIN 0x33e1 + VF610_PAD_PTD7__DSPI1_SOUT 0x33e2 + VF610_PAD_PTD8__DSPI1_SCK 0x33e2 + >; + }; + + pinctrl_aster_spi_gpio: spigpios { + fsl,pins = < + /* CS0 */ + VF610_PAD_PTD5__GPIO_84 0x22ed + /* CS1 */ + VF610_PAD_PTB18__GPIO_40 0x22ed + >; + }; + }; +}; diff --git a/arch/arm/boot/dts/vf500-colibri-aster.dts b/arch/arm/boot/dts/vf500-colibri-aster.dts new file mode 100644 index 000000000000..e314a7ab67ae --- /dev/null +++ b/arch/arm/boot/dts/vf500-colibri-aster.dts @@ -0,0 +1,22 @@ +/* + * Copyright 2017 Toradex AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/dts-v1/; +#include "vf500-colibri.dtsi" +#include "vf-colibri-aster.dtsi" + +/ { + model = "Toradex Colibri VF50 on Colibri Aster Board"; + compatible = "toradex,vf500-colibri_vf50-on-aster", "toradex,vf500-colibri_vf50", "fsl,vf500"; +}; + +&touchscreen { + vf50-ts-min-pressure = <200>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/vf610-colibri-aster.dts b/arch/arm/boot/dts/vf610-colibri-aster.dts new file mode 100644 index 000000000000..55efc161001e --- /dev/null +++ b/arch/arm/boot/dts/vf610-colibri-aster.dts @@ -0,0 +1,17 @@ +/* + * Copyright 2017 Toradex AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/dts-v1/; +#include "vf610-colibri.dtsi" +#include "vf-colibri-aster.dtsi" + +/ { + model = "Toradex Colibri VF61 on Colibri Aster Board"; + compatible = "toradex,vf610-colibri_vf61-on-aster", "toradex,vf610-colibri_vf61", "fsl,vf610"; +}; -- cgit v1.2.3