* [PATCH 1/2] mx23_olinuxino: enable device tree
@ 2021-03-22 1:34 Trevor Woerner
2021-03-22 1:34 ` [PATCH 2/2] mx23_olinuxino: convert MMC to driver model Trevor Woerner
2021-03-22 4:38 ` [PATCH 1/2] mx23_olinuxino: enable device tree Sean Anderson
0 siblings, 2 replies; 4+ messages in thread
From: Trevor Woerner @ 2021-03-22 1:34 UTC (permalink / raw)
To: u-boot
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@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@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 = <®_usb0_vbus>;
+ status = "okay";
+ };
+ };
+
+ regulators {
+ 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
--
2.30.0.rc0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] mx23_olinuxino: convert MMC to driver model
2021-03-22 1:34 [PATCH 1/2] mx23_olinuxino: enable device tree Trevor Woerner
@ 2021-03-22 1:34 ` Trevor Woerner
2021-03-22 4:38 ` [PATCH 1/2] mx23_olinuxino: enable device tree Sean Anderson
1 sibling, 0 replies; 4+ messages in thread
From: Trevor Woerner @ 2021-03-22 1:34 UTC (permalink / raw)
To: u-boot
Convert the Olimex Olinuxino board's support for MMC to driver model
following Fabio Estevam's excellent example from:
commit: 23013aa9619881290dbeb6217f1fab863869050e:
mx23evk: Convert to driver model
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
arch/arm/dts/imx23-olinuxino.dts | 1 +
board/olimex/mx23_olinuxino/mx23_olinuxino.c | 12 ------------
configs/mx23_olinuxino_defconfig | 4 +++-
3 files changed, 4 insertions(+), 13 deletions(-)
diff --git a/arch/arm/dts/imx23-olinuxino.dts b/arch/arm/dts/imx23-olinuxino.dts
index 0729e72f22..ce368d44a0 100644
--- a/arch/arm/dts/imx23-olinuxino.dts
+++ b/arch/arm/dts/imx23-olinuxino.dts
@@ -26,6 +26,7 @@
pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>;
bus-width = <4>;
broken-cd;
+ non-removable;
status = "okay";
};
diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
index d1e189cbb6..bdd5fcd76a 100644
--- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -57,18 +57,6 @@ int dram_init(void)
return mxs_dram_init();
}
-#ifdef CONFIG_CMD_MMC
-static int mx23_olx_mmc_cd(int id)
-{
- return 1; /* Card always present */
-}
-
-int board_mmc_init(struct bd_info *bis)
-{
- return mxsmmc_initialize(bis, 0, NULL, mx23_olx_mmc_cd);
-}
-#endif
-
int board_init(void)
{
/* Adress of boot parameters */
diff --git a/configs/mx23_olinuxino_defconfig b/configs/mx23_olinuxino_defconfig
index 2bf6818ee3..680611cd01 100644
--- a/configs/mx23_olinuxino_defconfig
+++ b/configs/mx23_olinuxino_defconfig
@@ -12,6 +12,7 @@ CONFIG_TARGET_MX23_OLINUXINO=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL=y
CONFIG_DEFAULT_DEVICE_TREE="imx23-olinuxino"
+# CONFIG_SYS_MALLOC_F is not set
CONFIG_BOOTDELAY=3
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_ARCH_MISC_INIT=y
@@ -30,6 +31,7 @@ CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_DM=y
CONFIG_MXS_GPIO=y
CONFIG_LED_STATUS=y
CONFIG_LED_STATUS_GPIO=y
@@ -39,10 +41,10 @@ CONFIG_LED_STATUS_STATE=2
CONFIG_LED_STATUS_BOOT_ENABLE=y
CONFIG_LED_STATUS_BOOT=0
CONFIG_LED_STATUS_CMD=y
+CONFIG_DM_MMC=y
CONFIG_MMC_MXS=y
CONFIG_CONS_INDEX=0
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_STORAGE=y
CONFIG_USB_HOST_ETHER=y
CONFIG_USB_ETHER_SMSC95XX=y
--
2.30.0.rc0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 1/2] mx23_olinuxino: enable device tree
2021-03-22 1:34 [PATCH 1/2] mx23_olinuxino: enable device tree Trevor Woerner
2021-03-22 1:34 ` [PATCH 2/2] mx23_olinuxino: convert MMC to driver model Trevor Woerner
@ 2021-03-22 4:38 ` Sean Anderson
2021-03-22 11:57 ` Fabio Estevam
1 sibling, 1 reply; 4+ messages in thread
From: Sean Anderson @ 2021-03-22 4:38 UTC (permalink / raw)
To: u-boot
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@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@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 = <®_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
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] mx23_olinuxino: enable device tree
2021-03-22 4:38 ` [PATCH 1/2] mx23_olinuxino: enable device tree Sean Anderson
@ 2021-03-22 11:57 ` Fabio Estevam
0 siblings, 0 replies; 4+ messages in thread
From: Fabio Estevam @ 2021-03-22 11:57 UTC (permalink / raw)
To: u-boot
Hi Sean,
On Mon, Mar 22, 2021 at 1:38 AM Sean Anderson <seanga2@gmail.com> wrote:
> > + regulators {
>
> Does this need to be on a separate bus? Can't you just add the regulator
> at the top-level with no register?
Trevor has only imported the file from the Linux tree.
Yes, your suggestion makes sense, but it should be fixed in the kernel
dts first to avoid U-Boot/kernel dts mismatches.
I am OK with using the Linux dts files for now.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-03-22 11:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-22 1:34 [PATCH 1/2] mx23_olinuxino: enable device tree Trevor Woerner
2021-03-22 1:34 ` [PATCH 2/2] mx23_olinuxino: convert MMC to driver model Trevor Woerner
2021-03-22 4:38 ` [PATCH 1/2] mx23_olinuxino: enable device tree Sean Anderson
2021-03-22 11:57 ` Fabio Estevam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox