* [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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.