Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • reform/reform-boundary-uboot
  • josch/reform-boundary-uboot
  • jacqueline/reform-boundary-uboot
  • cinap_lenrek/reform-boundary-uboot
  • jackhumbert/reform-boundary-uboot
  • sevan/reform-boundary-uboot
  • khm/reform-boundary-uboot
7 results
Show changes
Commits on Source (15)
......@@ -310,13 +310,6 @@
>;
};
pinctrl_reg_wlan_vmmc: reg-wlan-vmmcgrp {
fsl,pins = <
#define GP_REG_WLAN_VMMC <&gpio3 20 GPIO_ACTIVE_HIGH>
MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20 0x16
>;
};
pinctrl_sai1: sai1grp {
fsl,pins = <
/* wm8960 */
......@@ -406,12 +399,6 @@
MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3
MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3
MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3
#if 0
MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1
#else
#define GP_EMMC_RESET <&gpio2 10 GPIO_ACTIVE_LOW>
MX8MQ_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41
#endif
>;
};
......@@ -445,6 +432,7 @@
>;
};
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x03
......@@ -453,8 +441,6 @@
MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc3
MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc3
MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc3
/* Bluetooth slow clock */
MX8MQ_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x03
>;
};
......@@ -603,18 +589,6 @@
regulator-max-microvolt = <5000000>;
};
reg_wlan_vmmc: regulator-wlan-vmmc {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_wlan_vmmc>;
regulator-name = "reg_wlan_vmmc";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = GP_REG_WLAN_VMMC;
startup-delay-us = <70000>;
enable-active-high;
};
#if 0
sound-wm8960 {
compatible = "fsl,imx-audio-wm8960";
......@@ -1332,8 +1306,8 @@
&usdhc1 {
cap-mmc-highspeed;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
// mmc-ddr-1_8v;
// mmc-hs200-1_8v;
fsl,strobe-dll-delay-target = <5>;
fsl,tuning-start-tap = <63>;
fsl,tuning-step = <2>;
......@@ -1361,8 +1335,7 @@
status = "okay";
tuning-delay = <32>;
tuning-mode = <1>;
vmmc-supply = <&reg_wlan_vmmc>;
vqmmc-1-8-v;
vmmc-supply = <&reg_vref_3v3>;
};
......
......@@ -4,7 +4,7 @@
# SPDX-License-Identifier: GPL-2.0+
#
obj-y += nitrogen8m_som.o mmc.o
obj-y += nitrogen8m_som.o mmc.o lcdif.o
ifdef CONFIG_SPL_BUILD
obj-y += spl.o
......
This diff is collapsed.
......@@ -150,8 +150,40 @@ int dram_init(void)
}
#ifdef CONFIG_OF_BOARD_SETUP
extern struct graphic_device imx_lcdif;
int lcd_dt_simplefb_add_node(void *blob)
{
static const char compat[] = "simple-framebuffer";
static const char disabled[] = "disabled";
int off, ret;
off = fdt_add_subnode(blob, 0, "framebuffer");
if (off < 0)
return -1;
ret = fdt_setprop(blob, off, "status", disabled, sizeof(disabled));
if (ret < 0)
return -1;
ret = fdt_setprop(blob, off, "compatible", compat, sizeof(compat));
if (ret < 0)
return -1;
return fdt_setup_simplefb_node(blob, off, gd->fb_base, imx_lcdif.winSizeX,
imx_lcdif.winSizeY, imx_lcdif.winSizeX * imx_lcdif.gdfBytesPP,
"x8r8g8b8");
}
int ft_board_setup(void *blob, bd_t *bd)
{
/*
* For now, we simply always add the simplefb DT node. Later, we
* should be more intelligent, and e.g. only do this if no enabled DT
* node exists for the "real" graphics driver.
*/
lcd_dt_simplefb_add_node(blob);
return 0;
}
#endif
......@@ -325,7 +357,6 @@ void init_usb_clk(int usbno);
static void set_env_vars(void)
{
printf("set_env_vars()");
env_set("board", "MNT Reform 2.0");
env_set("soc", "imx8mq");
env_set("fdtfile", "freescale/imx8mq-mnt-reform2.dtb");
......@@ -359,17 +390,23 @@ void board_set_default_env(void)
board_eth_addresses();
}
static void
reset_usb_hub(void)
{
// Reform: Reset USB hub
imx_iomux_v3_setup_pad(IMX8MQ_PAD_GPIO1_IO14__GPIO1_IO14 | MUX_PAD_CTRL(WEAK_PULLUP));
gpio_request(IMX_GPIO_NR(1, 14), "usb1_rst");
gpio_direction_output(IMX_GPIO_NR(1, 14), 1);
gpio_set_value(IMX_GPIO_NR(1, 14), 0);
mdelay(10);
gpio_set_value(IMX_GPIO_NR(1, 14), 1);
}
int board_late_init(void)
{
set_env_vars();
// Reform: Reset USB hub
imx_iomux_v3_setup_pad(IMX8MQ_PAD_GPIO1_IO14__GPIO1_IO14 | MUX_PAD_CTRL(WEAK_PULLUP));
gpio_request(IMX_GPIO_NR(1, 14), "usb1_rst");
gpio_direction_output(IMX_GPIO_NR(1, 14), 1);
gpio_set_value(IMX_GPIO_NR(1, 14), 0);
mdelay(10);
gpio_set_value(IMX_GPIO_NR(1, 14), 1);
reset_usb_hub();
#if defined(CONFIG_USB_FUNCTION_FASTBOOT) || defined(CONFIG_CMD_DFU)
addserial_env("serial#");
......@@ -386,5 +423,28 @@ int board_late_init(void)
#endif
init_usb_clk(0);
init_usb_clk(1);
usb_init();
return 0;
}
void
board_quiesce_devices(void)
{
extern void video_hw_exit(void); /* lcdif.c */
usb_stop();
reset_usb_hub();
/*
* Linux kermel mode setting seems to fail to
* properly reset the mipi core, causing the
* screen to be shifted to the right.
*
* As a work around, we reset the lcdif and
* mipi core for it.
*/
if (images.os.os == IH_OS_LINUX)
video_hw_exit();
}
......@@ -105,6 +105,7 @@ static struct fsl_esdhc_cfg usdhc_cfg[] = {
int board_mmc_init(bd_t *bis)
{
int i, ret;
/*
* According to the board_mmc_init() the following map is done:
* (U-Boot device node) (Physical Port)
......@@ -122,7 +123,7 @@ int board_mmc_init(bd_t *bis)
break;
case 1:
usdhc_cfg[1].sdhc_clk = mxc_get_clock(USDHC2_CLK_ROOT);
gpio_request(GP_EMMC_RESET, "usdhc2_reset");
gpio_request(USDHC2_PWR_GPIO, "usdhc2_reset");
gpio_direction_output(USDHC2_PWR_GPIO, 0);
udelay(500);
gpio_direction_output(USDHC2_PWR_GPIO, 1);
......
......@@ -3,4 +3,7 @@
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm
# avoid rebuilding everything every time
export KBUILD_NOCMDDEP=1
make -j$(nproc) flash.bin
......@@ -117,6 +117,8 @@ struct usb_kbd_pdata {
uint8_t old[USB_KBD_BOOT_REPORT_SIZE];
uint8_t flags;
uint8_t fakemod;
};
extern int __maybe_unused net_busy_flag;
......@@ -168,6 +170,49 @@ static int usb_kbd_translate(struct usb_kbd_pdata *data, unsigned char scancode,
{
uint8_t keycode = 0;
if(modifier == 0){
/* Emulate modifier keys for reform keyboard */
switch (scancode) {
case 0xe0:
if (pressed)
data->fakemod |= LEFT_CNTR;
else
data->fakemod &= ~LEFT_CNTR;
return 0;
case 0xe3:
if (pressed)
data->fakemod |= LEFT_GUI;
else
data->fakemod &= ~LEFT_GUI;
return 0;
case 0xe4:
if (pressed)
data->fakemod |= RIGHT_CNTR;
else
data->fakemod &= ~RIGHT_CNTR;
return 0;
case 0xe1:
if (pressed)
data->fakemod |= LEFT_SHIFT;
else
data->fakemod &= ~LEFT_SHIFT;
return 0;
case 0xe2:
if (pressed)
data->fakemod |= LEFT_ALT;
else
data->fakemod &= ~LEFT_ALT;
return 0;
case 0xe6:
if (pressed)
data->fakemod |= RIGHT_ALT;
else
data->fakemod &= ~RIGHT_ALT;
return 0;
}
modifier |= data->fakemod;
}
/* Key released */
if (pressed == 0) {
data->repeat_delay = 0;
......
......@@ -197,7 +197,7 @@
#endif
#include <config_distro_bootcmd.h>
#define CONFIG_CMD_FBPANEL
/* #define CONFIG_CMD_FBPANEL*/
#define BD_RAM_BASE 0x80000000
#define BD_RAM_SCRIPT "40020000"
......
......@@ -163,6 +163,9 @@ CONFIG_TARGET_NITROGEN8M_SOM=y
# CONFIG_TARGET_IMX8MM_EVK is not set
# CONFIG_TARGET_IMX8MN_EVK is not set
# CONFIG_TARGET_NITROGEN8MN is not set
CONFIG_DDR_RANK_BITS=1
CONFIG_DDR_CHANNEL_CNT=2
CONFIG_DDR_DRIVE_STRENGTH=6
CONFIG_SPL_MMC_SUPPORT=y
CONFIG_SPL_SERIAL_SUPPORT=y
CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
......@@ -435,7 +438,7 @@ CONFIG_CMD_EXPORTENV=y
CONFIG_CMD_IMPORTENV=y
CONFIG_CMD_EDITENV=y
# CONFIG_CMD_GREPENV is not set
CONFIG_CMD_SAVEENV=n
# CONFIG_CMD_SAVEENV is not set
CONFIG_CMD_ENV_EXISTS=y
# CONFIG_CMD_ENV_CALLBACK is not set
# CONFIG_CMD_ENV_FLAGS is not set
......@@ -733,10 +736,6 @@ CONFIG_IMX8M_LPDDR4=y
# CONFIG_IMX8M_DDR4 is not set
CONFIG_SAVED_DRAM_TIMING_BASE=0x40000000
CONFIG_DDR_DRIVE_STRENGTH=6
CONFIG_DDR_RANK_BITS=1
CONFIG_DDR_CHANNEL_CNT=2
#
# Demo for driver model
#
......@@ -836,8 +835,9 @@ CONFIG_SYS_MXC_I2C4_SLAVE=0
# CONFIG_SYS_I2C_MVTWSI is not set
# CONFIG_SYS_I2C_IHS is not set
# CONFIG_I2C_MUX is not set
# CONFIG_DM_KEYBOARD is not set
CONFIG_DM_KEYBOARD=y
# CONFIG_CROS_EC_KEYB is not set
# CONFIG_I8042_KEYB is not set
#
# LED Support
......@@ -1229,8 +1229,8 @@ CONFIG_USB_ETHER_SMSC95XX=y
# CONFIG_VIDEO_TEGRA20 is not set
# CONFIG_VIDEO_BRIDGE is not set
CONFIG_VIDEO=y
CONFIG_VIDEO_IMXDCSS=y
CONFIG_VIDEO_IMX8_HDMI=y
# CONFIG_VIDEO_IMXDCSS is not set
# CONFIG_VIDEO_IMX8_HDMI is not set
CONFIG_CFB_CONSOLE=y
CONFIG_CFB_CONSOLE_ANSI=y
CONFIG_VGA_AS_SINGLE_DEVICE=y
......
File added
......@@ -227,7 +227,7 @@ LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_DATA_H)
# Generic logo
ifeq ($(LOGO_BMP),)
LOGO_BMP= $(srctree)/$(src)/logos/denx.bmp
LOGO_BMP= $(srctree)/$(src)/logos/mntre.bmp
# Use board logo and fallback to vendor
ifneq ($(wildcard $(srctree)/$(src)/logos/$(BOARD).bmp),)
......
tools/logos/mntre.bmp

15.5 KiB