[PATCH 1/2] mx23_olinuxino: enable device tree

Sean Anderson seanga2 at gmail.com
Mon Mar 22 05:38:34 CET 2021


On 3/21/21 9:34 PM, Trevor Woerner wrote:
> Add the dts file for the Olimex Olinuxino from the linux kernel, and enable
> its use in this machine's defconfig.
> 
> Signed-off-by: Trevor Woerner <twoerner at gmail.com>
> ---
>   arch/arm/dts/Makefile            |   3 +
>   arch/arm/dts/imx23-olinuxino.dts | 131 +++++++++++++++++++++++++++++++
>   configs/mx23_olinuxino_defconfig |   3 +-
>   3 files changed, 136 insertions(+), 1 deletion(-)
>   create mode 100644 arch/arm/dts/imx23-olinuxino.dts
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index c6710826a0..d5cffc90d4 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -651,6 +651,9 @@ dtb-$(CONFIG_VF610) += vf500-colibri.dtb \
>   dtb-$(CONFIG_MX23) += \
>   	imx23-evk.dtb
>   
> +dtb-$(CONFIG_TARGET_MX23_OLINUXINO) += \
> +	imx23-olinuxino.dtb
> +
>   dtb-$(CONFIG_MX28) += \
>   	imx28-xea.dtb
>   
> diff --git a/arch/arm/dts/imx23-olinuxino.dts b/arch/arm/dts/imx23-olinuxino.dts
> new file mode 100644
> index 0000000000..0729e72f22
> --- /dev/null
> +++ b/arch/arm/dts/imx23-olinuxino.dts
> @@ -0,0 +1,131 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Copyright 2012 Freescale Semiconductor, Inc.
> + *
> + * Author: Fabio Estevam <fabio.estevam at freescale.com>
> + */
> +
> +/dts-v1/;
> +#include <dt-bindings/gpio/gpio.h>
> +#include "imx23.dtsi"
> +
> +/ {
> +	model = "i.MX23 Olinuxino Low Cost Board";
> +	compatible = "olimex,imx23-olinuxino", "fsl,imx23";
> +
> +	memory at 40000000 {
> +		device_type = "memory";
> +		reg = <0x40000000 0x04000000>;
> +	};
> +
> +	apb at 80000000 {
> +		apbh at 80000000 {
> +			ssp0: spi at 80010000 {
> +				compatible = "fsl,imx23-mmc";
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
> +				bus-width = <4>;
> +				broken-cd;
> +				status = "okay";
> +			};
> +
> +			pinctrl at 80018000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&hog_pins_a>;
> +
> +				hog_pins_a: hog at 0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						MX23_PAD_GPMI_ALE__GPIO_0_17
> +					>;
> +					fsl,drive-strength = <MXS_DRIVE_4mA>;
> +					fsl,voltage = <MXS_VOLTAGE_HIGH>;
> +					fsl,pull-up = <MXS_PULL_DISABLE>;
> +				};
> +
> +				led_pin_gpio2_1: led_gpio2_1 at 0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <
> +						MX23_PAD_SSP1_DETECT__GPIO_2_1
> +					>;
> +					fsl,drive-strength = <MXS_DRIVE_4mA>;
> +					fsl,voltage = <MXS_VOLTAGE_HIGH>;
> +					fsl,pull-up = <MXS_PULL_DISABLE>;
> +				};
> +			};
> +
> +			ssp1: spi at 80034000 {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				compatible = "fsl,imx23-spi";
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&spi2_pins_a>;
> +				status = "okay";
> +			};
> +		};
> +
> +		apbx at 80040000 {
> +			lradc at 80050000 {
> +				status = "okay";
> +			};
> +
> +			i2c: i2c at 80058000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&i2c_pins_b>;
> +				status = "okay";
> +			};
> +
> +			duart: serial at 80070000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&duart_pins_a>;
> +				status = "okay";
> +			};
> +
> +			auart0: serial at 8006c000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&auart0_2pins_a>;
> +				status = "okay";
> +			};
> +
> +			usbphy0: usbphy at 8007c000 {
> +				status = "okay";
> +			};
> +		};
> +	};
> +
> +	ahb at 80080000 {
> +		usb0: usb at 80080000 {
> +			dr_mode = "host";
> +			vbus-supply = <&reg_usb0_vbus>;
> +			status = "okay";
> +		};
> +	};
> +
> +	regulators {

Does this need to be on a separate bus? Can't you just add the regulator
at the top-level with no register?

--Sean

> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		reg_usb0_vbus: regulator at 0 {
> +			compatible = "regulator-fixed";
> +			reg = <0>;
> +			regulator-name = "usb0_vbus";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			enable-active-high;
> +			startup-delay-us = <300>; /* LAN9215 requires a POR of 200us minimum */
> +			gpio = <&gpio0 17 0>;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&led_pin_gpio2_1>;
> +
> +		user {
> +			label = "green";
> +			gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +};
> diff --git a/configs/mx23_olinuxino_defconfig b/configs/mx23_olinuxino_defconfig
> index 0da54c9e76..2bf6818ee3 100644
> --- a/configs/mx23_olinuxino_defconfig
> +++ b/configs/mx23_olinuxino_defconfig
> @@ -11,6 +11,7 @@ CONFIG_SPL_TEXT_BASE=0x00001000
>   CONFIG_TARGET_MX23_OLINUXINO=y
>   CONFIG_SPL_SERIAL_SUPPORT=y
>   CONFIG_SPL=y
> +CONFIG_DEFAULT_DEVICE_TREE="imx23-olinuxino"
>   CONFIG_BOOTDELAY=3
>   # CONFIG_DISPLAY_BOARDINFO is not set
>   CONFIG_ARCH_MISC_INIT=y
> @@ -24,6 +25,7 @@ CONFIG_CMD_DHCP=y
>   CONFIG_CMD_CACHE=y
>   CONFIG_CMD_EXT2=y
>   CONFIG_CMD_FAT=y
> +CONFIG_OF_CONTROL=y
>   CONFIG_ENV_OVERWRITE=y
>   CONFIG_ENV_IS_IN_MMC=y
>   CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> @@ -44,4 +46,3 @@ CONFIG_USB_EHCI_HCD=y
>   CONFIG_USB_STORAGE=y
>   CONFIG_USB_HOST_ETHER=y
>   CONFIG_USB_ETHER_SMSC95XX=y
> -CONFIG_OF_LIBFDT=y
> 



More information about the U-Boot mailing list