ARM: i.MX6: TQ tqma6x initial board support
The TQ tqma6x comes in two different variants. One i.MX6s based tqma6s and a i.MX6q based tqma6q. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
24bd4d0d6f
commit
1ee484f382
|
@ -60,6 +60,7 @@ obj-$(CONFIG_MACH_SABRESD) += freescale-mx6-sabresd/
|
|||
obj-$(CONFIG_MACH_SCB9328) += scb9328/
|
||||
obj-$(CONFIG_MACH_TOSHIBA_AC100) += toshiba-ac100/
|
||||
obj-$(CONFIG_MACH_TQMA53) += tqma53/
|
||||
obj-$(CONFIG_MACH_TQMA6X) += tqma6x/
|
||||
obj-$(CONFIG_MACH_TX25) += karo-tx25/
|
||||
obj-$(CONFIG_MACH_TX28) += karo-tx28/
|
||||
obj-$(CONFIG_MACH_TX51) += karo-tx51/
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
obj-y += board.o
|
||||
obj-y += flash-header-tqma6q.dcd.o flash-header-tqma6dl.dcd.o
|
||||
extra-y += flash-header-tqma6q.dcd.S flash-header-tqma6dl.dcd.S
|
||||
extra-y += flash-header-tqma6q.dcd flash-header-tqma6dl.dcd
|
||||
lwl-y += lowlevel.o
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <generated/mach-types.h>
|
||||
#include <environment.h>
|
||||
#include <bootsource.h>
|
||||
#include <partition.h>
|
||||
#include <common.h>
|
||||
#include <envfs.h>
|
||||
#include <sizes.h>
|
||||
#include <init.h>
|
||||
#include <gpio.h>
|
||||
#include <fec.h>
|
||||
|
||||
#include <linux/micrel_phy.h>
|
||||
#include <mfd/stmpe-i2c.h>
|
||||
|
||||
#include <asm/armlinux.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#include <mach/devices-imx6.h>
|
||||
#include <mach/imx6-regs.h>
|
||||
#include <mach/iomux-mx6.h>
|
||||
#include <mach/imx6-mmdc.h>
|
||||
#include <mach/generic.h>
|
||||
#include <mach/imx6.h>
|
||||
#include <mach/bbu.h>
|
||||
|
||||
#define RQ7_GPIO_ENET_PHYADD2 IMX_GPIO_NR(6, 30)
|
||||
#define RQ7_GPIO_ENET_MODE0 IMX_GPIO_NR(6, 25)
|
||||
#define RQ7_GPIO_ENET_MODE1 IMX_GPIO_NR(6, 27)
|
||||
#define RQ7_GPIO_ENET_MODE2 IMX_GPIO_NR(6, 28)
|
||||
#define RQ7_GPIO_ENET_MODE3 IMX_GPIO_NR(6, 29)
|
||||
#define RQ7_GPIO_ENET_EN_CLK125 IMX_GPIO_NR(6, 24)
|
||||
|
||||
static iomux_v3_cfg_t tqma6x_pads_gpio[] = {
|
||||
MX6Q_PAD_RGMII_RXC__GPIO_6_30,
|
||||
MX6Q_PAD_RGMII_RD0__GPIO_6_25,
|
||||
MX6Q_PAD_RGMII_RD1__GPIO_6_27,
|
||||
MX6Q_PAD_RGMII_RD2__GPIO_6_28,
|
||||
MX6Q_PAD_RGMII_RD3__GPIO_6_29,
|
||||
MX6Q_PAD_RGMII_RX_CTL__GPIO_6_24,
|
||||
};
|
||||
|
||||
static void mmd_write_reg(struct phy_device *dev, int device, int reg, int val)
|
||||
{
|
||||
phy_write(dev, 0x0d, device);
|
||||
phy_write(dev, 0x0e, reg);
|
||||
phy_write(dev, 0x0d, (1 << 14) | device);
|
||||
phy_write(dev, 0x0e, val);
|
||||
}
|
||||
|
||||
static int ksz9031rn_phy_fixup(struct phy_device *dev)
|
||||
{
|
||||
/*
|
||||
* min rx data delay, max rx/tx clock delay,
|
||||
* min rx/tx control delay
|
||||
*/
|
||||
mmd_write_reg(dev, 2, 4, 0);
|
||||
mmd_write_reg(dev, 2, 5, 0);
|
||||
mmd_write_reg(dev, 2, 8, 0x003ff);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int tqma6x_enet_init(void)
|
||||
{
|
||||
if (!of_machine_is_compatible("tq,mba6x"))
|
||||
return 0;
|
||||
|
||||
mxc_iomux_v3_setup_multiple_pads(tqma6x_pads_gpio, ARRAY_SIZE(tqma6x_pads_gpio));
|
||||
gpio_direction_output(RQ7_GPIO_ENET_PHYADD2, 0);
|
||||
gpio_direction_output(RQ7_GPIO_ENET_MODE0, 1);
|
||||
gpio_direction_output(RQ7_GPIO_ENET_MODE1, 1);
|
||||
gpio_direction_output(RQ7_GPIO_ENET_MODE2, 1);
|
||||
gpio_direction_output(RQ7_GPIO_ENET_MODE3, 1);
|
||||
gpio_direction_output(RQ7_GPIO_ENET_EN_CLK125, 1);
|
||||
|
||||
gpio_direction_output(25, 0);
|
||||
mdelay(50);
|
||||
|
||||
gpio_direction_output(25, 1);
|
||||
mdelay(50);
|
||||
|
||||
phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK,
|
||||
ksz9031rn_phy_fixup);
|
||||
|
||||
return 0;
|
||||
}
|
||||
fs_initcall(tqma6x_enet_init);
|
||||
|
||||
extern char flash_header_tqma6dl_start[];
|
||||
extern char flash_header_tqma6dl_end[];
|
||||
|
||||
extern char flash_header_tqma6q_start[];
|
||||
extern char flash_header_tqma6q_end[];
|
||||
|
||||
static int tqma6x_env_init(void)
|
||||
{
|
||||
void *flash_header_start;
|
||||
void *flash_header_end;
|
||||
|
||||
if (of_machine_is_compatible("tq,tqma6s")) {
|
||||
flash_header_start = (void *)flash_header_tqma6dl_start;
|
||||
flash_header_end = (void *)flash_header_tqma6dl_end;
|
||||
} else if (of_machine_is_compatible("tq,tqma6q")) {
|
||||
flash_header_start = (void *)flash_header_tqma6q_start;
|
||||
flash_header_end = (void *)flash_header_tqma6q_end;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
||||
devfs_add_partition("m25p0", 0, SZ_512K, DEVFS_PARTITION_FIXED, "m25p0.barebox");
|
||||
|
||||
imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0.barebox",
|
||||
BBU_HANDLER_FLAG_DEFAULT, (void *)flash_header_start,
|
||||
flash_header_end - flash_header_start, 0);
|
||||
imx6_bbu_internal_mmc_register_handler("emmc", "/dev/mmc2.boot0",
|
||||
0, (void *)flash_header_start, flash_header_end - flash_header_start, 0);
|
||||
|
||||
device_detect_by_name("mmc2");
|
||||
|
||||
default_environment_path = "/dev/mmc2.boot1";
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(tqma6x_env_init);
|
||||
|
||||
static int tqma6x_core_init(void)
|
||||
{
|
||||
if (!of_machine_is_compatible("tq,mba6x"))
|
||||
return 0;
|
||||
|
||||
imx6_init_lowlevel();
|
||||
|
||||
return 0;
|
||||
}
|
||||
postcore_initcall(tqma6x_core_init);
|
|
@ -0,0 +1,99 @@
|
|||
soc imx6
|
||||
loadaddr 0x20000000
|
||||
dcdofs 0x400
|
||||
wm 32 0x020e04bc 0x00000030
|
||||
wm 32 0x020e04c0 0x00000030
|
||||
wm 32 0x020e04c4 0x00000030
|
||||
wm 32 0x020e04c8 0x00000030
|
||||
wm 32 0x020e04cc 0x00000030
|
||||
wm 32 0x020e04d0 0x00000030
|
||||
wm 32 0x020e04d4 0x00000030
|
||||
wm 32 0x020e04d8 0x00000030
|
||||
wm 32 0x020e0764 0x00000030
|
||||
wm 32 0x020e0770 0x00000030
|
||||
wm 32 0x020e0778 0x00000030
|
||||
wm 32 0x020e077c 0x00000030
|
||||
wm 32 0x020e0780 0x00000030
|
||||
wm 32 0x020e0784 0x00000030
|
||||
wm 32 0x020e078c 0x00000030
|
||||
wm 32 0x020e0748 0x00000030
|
||||
wm 32 0x020e074c 0x00000030
|
||||
wm 32 0x020e076c 0x00000030
|
||||
wm 32 0x020e0470 0x00020030
|
||||
wm 32 0x020e0474 0x00020030
|
||||
wm 32 0x020e0478 0x00020030
|
||||
wm 32 0x020e047c 0x00020030
|
||||
wm 32 0x020e0480 0x00020030
|
||||
wm 32 0x020e0484 0x00020030
|
||||
wm 32 0x020e0488 0x00020030
|
||||
wm 32 0x020e048c 0x00020030
|
||||
wm 32 0x020e0464 0x00020030
|
||||
wm 32 0x020e0490 0x00020030
|
||||
wm 32 0x020e04ac 0x00020030
|
||||
wm 32 0x020e04b0 0x00020030
|
||||
wm 32 0x020e0494 0x000e0030
|
||||
wm 32 0x020e04a4 0x00003000
|
||||
wm 32 0x020e04a8 0x00003000
|
||||
wm 32 0x020e04b4 0x00003030
|
||||
wm 32 0x020e04b8 0x00003030
|
||||
wm 32 0x020e0750 0x00020000
|
||||
wm 32 0x020e0760 0x00020000
|
||||
wm 32 0x020e0754 0x00000000
|
||||
wm 32 0x020e04a0 0x00000000
|
||||
wm 32 0x020e0774 0x000C0000
|
||||
wm 32 0x021b081c 0x33333333
|
||||
wm 32 0x021b0820 0x33333333
|
||||
wm 32 0x021b0824 0x33333333
|
||||
wm 32 0x021b0828 0x33333333
|
||||
wm 32 0x021b481c 0x33333333
|
||||
wm 32 0x021b4820 0x33333333
|
||||
wm 32 0x021b4824 0x33333333
|
||||
wm 32 0x021b4828 0x33333333
|
||||
wm 32 0x021b0018 0x00081740
|
||||
wm 32 0x021b001c 0x00008000
|
||||
wm 32 0x021b0004 0x0002002D
|
||||
wm 32 0x021b000c 0x40435323
|
||||
wm 32 0x021b0010 0xB66E8D63
|
||||
wm 32 0x021b0014 0x01FF00DB
|
||||
wm 32 0x021b002c 0x000026D2
|
||||
wm 32 0x021b0030 0x00431023
|
||||
wm 32 0x021b0008 0x00333030
|
||||
wm 32 0x021b0004 0x0002556D
|
||||
wm 32 0x021b0040 0x00000017
|
||||
wm 32 0x021b0000 0x83190000
|
||||
wm 32 0x021b001c 0x04008032
|
||||
wm 32 0x021b001c 0x00008033
|
||||
wm 32 0x021b001c 0x00048031
|
||||
wm 32 0x021b001c 0x13208030
|
||||
wm 32 0x021b001c 0x04008040
|
||||
wm 32 0x021b0800 0xA1390003
|
||||
wm 32 0x021b4800 0xA1390003
|
||||
wm 32 0x021b0020 0x00005800
|
||||
wm 32 0x021b0818 0x00022227
|
||||
wm 32 0x021b4818 0x00022227
|
||||
wm 32 0x021b083c 0x42350231
|
||||
wm 32 0x021b483c 0x42350231
|
||||
wm 32 0x021b0840 0x021A0218
|
||||
wm 32 0x021b4840 0x021A0218
|
||||
wm 32 0x021b0848 0x4B4B4E49
|
||||
wm 32 0x021b4848 0x4B4B4E49
|
||||
wm 32 0x021b0850 0x3F3F3035
|
||||
wm 32 0x021b4850 0x3F3F3035
|
||||
wm 32 0x021b080c 0x0040003C
|
||||
wm 32 0x021b0810 0x0032003E
|
||||
wm 32 0x021b480c 0x0040003C
|
||||
wm 32 0x021b4810 0x0032003E
|
||||
wm 32 0x021b08b8 0x00000800
|
||||
wm 32 0x021b48b8 0x00000800
|
||||
wm 32 0x021b001c 0x00000000
|
||||
wm 32 0x021b0404 0x00011006
|
||||
wm 32 0x020C4068 0x00C03F3F
|
||||
wm 32 0x020C406c 0x0030FC03
|
||||
wm 32 0x020C4070 0x0FFFC000
|
||||
wm 32 0x020C4074 0x3FF00000
|
||||
wm 32 0x020C4078 0x00FFF300
|
||||
wm 32 0x020C407c 0x0F0000C3
|
||||
wm 32 0x020C4080 0x000003FF
|
||||
wm 32 0x020e0010 0xF00000CF
|
||||
wm 32 0x020e0018 0x007F007F
|
||||
wm 32 0x020e001c 0x007F007F
|
|
@ -0,0 +1,104 @@
|
|||
soc imx6
|
||||
loadaddr 0x20000000
|
||||
dcdofs 0x400
|
||||
|
||||
wm 32 0x020e05a8 0x00000030
|
||||
wm 32 0x020e05b0 0x00000030
|
||||
wm 32 0x020e0524 0x00000030
|
||||
wm 32 0x020e051c 0x00000030
|
||||
wm 32 0x020e0518 0x00000030
|
||||
wm 32 0x020e050c 0x00000030
|
||||
wm 32 0x020e05b8 0x00000030
|
||||
wm 32 0x020e05c0 0x00000030
|
||||
wm 32 0x020e05ac 0x00020030
|
||||
wm 32 0x020e05b4 0x00020030
|
||||
wm 32 0x020e0528 0x00020030
|
||||
wm 32 0x020e0520 0x00020030
|
||||
wm 32 0x020e0514 0x00020030
|
||||
wm 32 0x020e0510 0x00020030
|
||||
wm 32 0x020e05bc 0x00020030
|
||||
wm 32 0x020e05c4 0x00020030
|
||||
wm 32 0x020e056c 0x00020030
|
||||
wm 32 0x020e0578 0x00020030
|
||||
wm 32 0x020e0588 0x00020030
|
||||
wm 32 0x020e0594 0x00020030
|
||||
wm 32 0x020e057c 0x00020030
|
||||
wm 32 0x020e0590 0x00003000
|
||||
wm 32 0x020e0598 0x00003000
|
||||
wm 32 0x020e058c 0x00000000
|
||||
wm 32 0x020e059c 0x00003030
|
||||
wm 32 0x020e05a0 0x00003030
|
||||
wm 32 0x020e0784 0x00000030
|
||||
wm 32 0x020e0788 0x00000030
|
||||
wm 32 0x020e0794 0x00000030
|
||||
wm 32 0x020e079c 0x00000030
|
||||
wm 32 0x020e07a0 0x00000030
|
||||
wm 32 0x020e07a4 0x00000030
|
||||
wm 32 0x020e07a8 0x00000030
|
||||
wm 32 0x020e0748 0x00000030
|
||||
wm 32 0x020e074c 0x00000030
|
||||
wm 32 0x020e0750 0x00020000
|
||||
wm 32 0x020e0758 0x00000000
|
||||
wm 32 0x020e0774 0x00020000
|
||||
wm 32 0x020e078c 0x00000030
|
||||
wm 32 0x020e0798 0x000c0000
|
||||
wm 32 0x021b081c 0x33333333
|
||||
wm 32 0x021b0820 0x33333333
|
||||
wm 32 0x021b0824 0x33333333
|
||||
wm 32 0x021b0828 0x33333333
|
||||
wm 32 0x021b481c 0x33333333
|
||||
wm 32 0x021b4820 0x33333333
|
||||
wm 32 0x021b4824 0x33333333
|
||||
wm 32 0x021b4828 0x33333333
|
||||
wm 32 0x021b0018 0x00081740
|
||||
wm 32 0x021b001c 0x00008000
|
||||
wm 32 0x021b000c 0x555a7974
|
||||
wm 32 0x021b0010 0xdb538f64
|
||||
wm 32 0x021b0014 0x01ff00db
|
||||
wm 32 0x021b002c 0x000026d2
|
||||
wm 32 0x021b0030 0x005a1023
|
||||
wm 32 0x021b0008 0x09444040
|
||||
wm 32 0x021b0004 0x00025576
|
||||
wm 32 0x021b0040 0x00000027
|
||||
wm 32 0x021b0000 0x831a0000
|
||||
wm 32 0x021b001c 0x04088032
|
||||
wm 32 0x021b001c 0x0408803a
|
||||
wm 32 0x021b001c 0x00008033
|
||||
wm 32 0x021b001c 0x0000803b
|
||||
wm 32 0x021b001c 0x00428031
|
||||
wm 32 0x021b001c 0x00428039
|
||||
wm 32 0x021b001c 0x19308030
|
||||
wm 32 0x021b001c 0x19308038
|
||||
wm 32 0x021b001c 0x04008040
|
||||
wm 32 0x021b001c 0x04008048
|
||||
wm 32 0x021b0800 0xa1380003
|
||||
wm 32 0x021b4800 0xa1380003
|
||||
wm 32 0x021b0020 0x00005800
|
||||
wm 32 0x021b0818 0x00022227
|
||||
wm 32 0x021b4818 0x00022227
|
||||
wm 32 0x021b083c 0x434b0350
|
||||
wm 32 0x021b0840 0x034c0359
|
||||
wm 32 0x021b483c 0x434b0350
|
||||
wm 32 0x021b4840 0x03650348
|
||||
wm 32 0x021b0848 0x4436383b
|
||||
wm 32 0x021b4848 0x39393341
|
||||
wm 32 0x021b0850 0x35373933
|
||||
wm 32 0x021b4850 0x48254a36
|
||||
wm 32 0x021b080c 0x001f001f
|
||||
wm 32 0x021b0810 0x001f001f
|
||||
wm 32 0x021b480c 0x00440044
|
||||
wm 32 0x021b4810 0x00440044
|
||||
wm 32 0x021b08b8 0x00000800
|
||||
wm 32 0x021b48b8 0x00000800
|
||||
wm 32 0x021b001c 0x00000000
|
||||
wm 32 0x021b0404 0x00011006
|
||||
wm 32 0x020c4068 0x00c03f3f
|
||||
wm 32 0x020c406c 0x0030fc03
|
||||
wm 32 0x020c4070 0x0fffc000
|
||||
wm 32 0x020c4074 0x3ff00000
|
||||
wm 32 0x020c4078 0x00fff300
|
||||
wm 32 0x020c407c 0x0f0000c3
|
||||
wm 32 0x020c4080 0x000003ff
|
||||
wm 32 0x020e0010 0xf00000cf
|
||||
wm 32 0x020e0018 0x007f007f
|
||||
wm 32 0x020e001c 0x007f007f
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Sascha Hauer <s.hauer@pengutronix.de>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
#include <debug_ll.h>
|
||||
#include <common.h>
|
||||
#include <sizes.h>
|
||||
#include <io.h>
|
||||
#include <asm/barebox-arm-head.h>
|
||||
#include <asm/barebox-arm.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/mmu.h>
|
||||
#include <mach/imx6-mmdc.h>
|
||||
#include <mach/imx6.h>
|
||||
|
||||
static inline void setup_uart(void)
|
||||
{
|
||||
/* Enable UART for lowlevel debugging purposes */
|
||||
writel(0x00000000, 0x021e8080);
|
||||
writel(0x00004027, 0x021e8084);
|
||||
writel(0x00000704, 0x021e8088);
|
||||
writel(0x00000a81, 0x021e8090);
|
||||
writel(0x0000002b, 0x021e809c);
|
||||
writel(0x00013880, 0x021e80b0);
|
||||
writel(0x0000047f, 0x021e80a4);
|
||||
writel(0x0000c34f, 0x021e80a8);
|
||||
writel(0x00000001, 0x021e8080);
|
||||
}
|
||||
|
||||
extern char __dtb_imx6q_mba6x_start[];
|
||||
extern char __dtb_imx6dl_mba6x_start[];
|
||||
|
||||
ENTRY_FUNCTION(start_imx6q_mba6x)(void)
|
||||
{
|
||||
uint32_t fdt;
|
||||
|
||||
__barebox_arm_head();
|
||||
|
||||
arm_cpu_lowlevel_init();
|
||||
|
||||
arm_setup_stack(0x00920000 - 8);
|
||||
|
||||
if (IS_ENABLED(CONFIG_DEBUG_LL)) {
|
||||
writel(0x2, 0x020e0338);
|
||||
setup_uart();
|
||||
PUTC_LL('a');
|
||||
}
|
||||
|
||||
arm_early_mmu_cache_invalidate();
|
||||
|
||||
fdt = (uint32_t)__dtb_imx6q_mba6x_start - get_runtime_offset();
|
||||
|
||||
barebox_arm_entry(0x10000000, SZ_1G, fdt);
|
||||
}
|
||||
|
||||
ENTRY_FUNCTION(start_imx6dl_mba6x)(void)
|
||||
{
|
||||
uint32_t fdt;
|
||||
|
||||
__barebox_arm_head();
|
||||
|
||||
arm_cpu_lowlevel_init();
|
||||
|
||||
arm_setup_stack(0x00920000 - 8);
|
||||
|
||||
if (IS_ENABLED(CONFIG_DEBUG_LL)) {
|
||||
writel(0x2, 0x020e035c);
|
||||
setup_uart();
|
||||
PUTC_LL('a');
|
||||
}
|
||||
|
||||
arm_early_mmu_cache_invalidate();
|
||||
|
||||
fdt = (uint32_t)__dtb_imx6dl_mba6x_start - get_runtime_offset();
|
||||
|
||||
barebox_arm_entry(0x10000000, SZ_512M, fdt);
|
||||
}
|
|
@ -5,6 +5,7 @@ CONFIG_MACH_FREESCALE_MX51_PDK=y
|
|||
CONFIG_MACH_FREESCALE_MX53_LOCO=y
|
||||
CONFIG_MACH_REALQ7=y
|
||||
CONFIG_MACH_GK802=y
|
||||
CONFIG_MACH_TQMA6X=y
|
||||
CONFIG_IMX_IIM=y
|
||||
CONFIG_IMX_IIM_FUSE_BLOW=y
|
||||
CONFIG_THUMB2_BAREBOX=y
|
||||
|
|
|
@ -4,7 +4,9 @@ dtb-$(CONFIG_ARCH_IMX53) += imx53-qsb.dtb
|
|||
dtb-$(CONFIG_ARCH_IMX6) += imx6q-gk802.dtb \
|
||||
imx6q-dmo-realq7.dtb \
|
||||
imx6q-sabrelite.dtb \
|
||||
imx6q-sabresd.dtb
|
||||
imx6q-sabresd.dtb \
|
||||
imx6dl-mba6x.dtb \
|
||||
imx6q-mba6x.dtb
|
||||
|
||||
BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_NAME))
|
||||
obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o
|
||||
|
@ -14,6 +16,7 @@ pbl-$(CONFIG_MACH_FREESCALE_MX51_PDK) += imx51-babbage.dtb.o
|
|||
pbl-$(CONFIG_MACH_FREESCALE_MX53_LOCO) += imx53-qsb.dtb.o
|
||||
pbl-$(CONFIG_MACH_REALQ7) += imx6q-dmo-realq7.dtb.o
|
||||
pbl-$(CONFIG_MACH_GK802) += imx6q-gk802.dtb.o
|
||||
pbl-$(CONFIG_MACH_TQMA6X) += imx6dl-mba6x.dtb.o imx6q-mba6x.dtb.o
|
||||
|
||||
.SECONDARY: $(obj)/$(BUILTIN_DTB).dtb.S
|
||||
.SECONDARY: $(patsubst %,$(obj)/%.S,$(dtb-y))
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6dl-tqma6s.dtsi"
|
||||
#include "imx6qdl-mba6x.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TQ TQMA6S on MBa6x";
|
||||
compatible = "tq,mba6x", "tq,tqma6s", "fsl,imx6dl";
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = &uart2;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x10000000 0x20000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
gpiobuttons {
|
||||
pinctrl_gpiobuttons_1: gpiogrp-1 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_GPIO_17__GPIO7_IO12 0x80000000
|
||||
MX6DL_PAD_GPIO_18__GPIO7_IO13 0x80000000
|
||||
MX6DL_PAD_GPIO_8__GPIO1_IO08 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
hog {
|
||||
pinctrl_hog: hoggrp-1 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000 /* FEC phy reset */
|
||||
MX6DL_PAD_GPIO_4__GPIO1_IO04 0x80000000 /* usdhc2 CD */
|
||||
MX6DL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* usdhc2 WP */
|
||||
MX6DL_PAD_EIM_D19__GPIO3_IO19 0x80000000 /* eCSPI1 SS1 */
|
||||
MX6DL_PAD_NANDF_RB0__GPIO6_IO10 0x80000000 /* PMIC irq */
|
||||
MX6DL_PAD_EIM_D22__GPIO3_IO22 0x80000000
|
||||
MX6DL_PAD_SD1_DAT3__PWM1_OUT 0x80000000
|
||||
MX6DL_PAD_SD1_DAT3__GPIO1_IO21 0x80000000 /* beeper (1 = on) */
|
||||
MX6DL_PAD_GPIO_16__GPIO7_IO11 0x80000000 /* LCD.PWR_EN */
|
||||
MX6DL_PAD_GPIO_7__GPIO1_IO07 0x80000000 /* LCD.RESET */
|
||||
MX6DL_PAD_GPIO_19__GPIO4_IO05 0x80000000 /* LCD.BLT_EN */
|
||||
MX6DL_PAD_DI0_PIN4__GPIO4_IO20 0x80000000 /* LCD.CONTRAST */
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&disp0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_disp0_ipu1>;
|
||||
crtcs = <&ipu1 0>;
|
||||
};
|
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
#include "imx6dl.dtsi"
|
||||
#include "imx6qdl-tqma6x.dtsi"
|
||||
|
||||
&iomuxc {
|
||||
can1 {
|
||||
pinctrl_can1_1: can1grp-1 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_KEY_COL2__FLEXCAN1_TX 0x80000000
|
||||
MX6DL_PAD_KEY_ROW2__FLEXCAN1_RX 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
can2 {
|
||||
pinctrl_can2_1: can2grp-1 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_KEY_COL4__FLEXCAN2_TX 0x80000000
|
||||
MX6DL_PAD_KEY_ROW4__FLEXCAN2_RX 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
disp0 {
|
||||
pinctrl_disp0_ipu1: disp0grp-1 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x80000000
|
||||
MX6DL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x80000000
|
||||
MX6DL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x80000000
|
||||
MX6DL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x80000000
|
||||
MX6DL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x80000000
|
||||
MX6DL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c3 {
|
||||
pinctrl_i2c3_2: i2c3grp-2 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
|
||||
MX6DL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart2 {
|
||||
pinctrl_uart2_2: uart2grp-2 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
|
||||
MX6DL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
usdhc2 {
|
||||
pinctrl_usdhc2_tqma6x: usdhc2grp-tqma6x {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_SD2_CMD__SD2_CMD 0x000070f0
|
||||
MX6DL_PAD_SD2_CLK__SD2_CLK 0x000070f0
|
||||
MX6DL_PAD_SD2_DAT0__SD2_DATA0 0x000070f0
|
||||
MX6DL_PAD_SD2_DAT1__SD2_DATA1 0x000070f0
|
||||
MX6DL_PAD_SD2_DAT2__SD2_DATA2 0x000070f0
|
||||
MX6DL_PAD_SD2_DAT3__SD2_DATA3 0x000070f0
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6q-tqma6q.dtsi"
|
||||
#include "imx6qdl-mba6x.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TQ TQMA6Q on MBa6x";
|
||||
compatible = "tq,mba6x", "tq,tqma6q", "fsl,imx6q";
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = &uart2;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x10000000 0x40000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
gpiobuttons {
|
||||
pinctrl_gpiobuttons_1: gpiogrp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_GPIO_17__GPIO7_IO12 0x80000000
|
||||
MX6Q_PAD_GPIO_18__GPIO7_IO13 0x80000000
|
||||
MX6Q_PAD_GPIO_8__GPIO1_IO08 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
hog {
|
||||
pinctrl_hog: hoggrp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000 /* FEC phy reset */
|
||||
MX6Q_PAD_GPIO_4__GPIO1_IO04 0x80000000 /* usdhc2 CD */
|
||||
MX6Q_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* usdhc2 WP */
|
||||
MX6Q_PAD_EIM_D19__GPIO3_IO19 0x80000000 /* eCSPI1 SS1 */
|
||||
MX6Q_PAD_NANDF_RB0__GPIO6_IO10 0x80000000 /* PMIC irq */
|
||||
MX6Q_PAD_EIM_D22__GPIO3_IO22 0x80000000
|
||||
MX6Q_PAD_SD1_DAT3__GPIO1_IO21 0x80000000 /* beeper (1 = on) */
|
||||
MX6Q_PAD_GPIO_16__GPIO7_IO11 0x80000000 /* LCD.PWR_EN */
|
||||
MX6Q_PAD_GPIO_7__GPIO1_IO07 0x80000000 /* LCD.RESET */
|
||||
MX6Q_PAD_GPIO_19__GPIO4_IO05 0x80000000 /* LCD.BLT_EN */
|
||||
MX6Q_PAD_DI0_PIN4__GPIO4_IO20 0x80000000 /* LCD.CONTRAST */
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&disp0 {
|
||||
pinctrl-names = "ipu1-di0", "ipu2-di0";
|
||||
pinctrl-0 = <&pinctrl_disp0_ipu1>;
|
||||
pinctrl-1 = <&pinctrl_disp0_ipu2>;
|
||||
crtcs = <&ipu1 0 &ipu2 0>;
|
||||
};
|
||||
|
||||
&sata {
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,132 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
#include "imx6q.dtsi"
|
||||
#include "imx6qdl-tqma6x.dtsi"
|
||||
|
||||
&iomuxc {
|
||||
can1 {
|
||||
pinctrl_can1_1: can1grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_KEY_COL2__FLEXCAN1_TX 0x80000000
|
||||
MX6Q_PAD_KEY_ROW2__FLEXCAN1_RX 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
can2 {
|
||||
pinctrl_can2_1: can2grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_KEY_COL4__FLEXCAN2_TX 0x80000000
|
||||
MX6Q_PAD_KEY_ROW4__FLEXCAN2_RX 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
disp0 {
|
||||
pinctrl_disp0_ipu1: disp0grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x80000000
|
||||
MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x80000000
|
||||
MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x80000000
|
||||
MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x80000000
|
||||
MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x80000000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_disp0_ipu2: disp0grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_DISP0_DAT0__IPU2_DISP0_DATA00 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT1__IPU2_DISP0_DATA01 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT2__IPU2_DISP0_DATA02 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT3__IPU2_DISP0_DATA03 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT4__IPU2_DISP0_DATA04 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT5__IPU2_DISP0_DATA05 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT6__IPU2_DISP0_DATA06 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT7__IPU2_DISP0_DATA07 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT8__IPU2_DISP0_DATA08 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT9__IPU2_DISP0_DATA09 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT10__IPU2_DISP0_DATA10 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT11__IPU2_DISP0_DATA11 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT12__IPU2_DISP0_DATA12 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT13__IPU2_DISP0_DATA13 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT14__IPU2_DISP0_DATA14 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT15__IPU2_DISP0_DATA15 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT16__IPU2_DISP0_DATA16 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT17__IPU2_DISP0_DATA17 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT18__IPU2_DISP0_DATA18 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT19__IPU2_DISP0_DATA19 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT20__IPU2_DISP0_DATA20 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT21__IPU2_DISP0_DATA21 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT22__IPU2_DISP0_DATA22 0x80000000
|
||||
MX6Q_PAD_DISP0_DAT23__IPU2_DISP0_DATA23 0x80000000
|
||||
MX6Q_PAD_DI0_PIN2__IPU2_DI0_PIN02 0x80000000
|
||||
MX6Q_PAD_DI0_PIN3__IPU2_DI0_PIN03 0x80000000
|
||||
MX6Q_PAD_DI0_PIN15__IPU2_DI0_PIN15 0x80000000
|
||||
MX6Q_PAD_DI0_DISP_CLK__IPU2_DI0_DISP_CLK 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c3 {
|
||||
pinctrl_i2c3_2: i2c3grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
|
||||
MX6Q_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart2 {
|
||||
pinctrl_uart2_2: uart2grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
|
||||
MX6Q_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
usdhc2 {
|
||||
pinctrl_usdhc2_tqma6x: usdhc2grp-tqma6x {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD2_CMD__SD2_CMD 0x000070f0
|
||||
MX6Q_PAD_SD2_CLK__SD2_CLK 0x000070f0
|
||||
MX6Q_PAD_SD2_DAT0__SD2_DATA0 0x000070f0
|
||||
MX6Q_PAD_SD2_DAT1__SD2_DATA1 0x000070f0
|
||||
MX6Q_PAD_SD2_DAT2__SD2_DATA2 0x000070f0
|
||||
MX6Q_PAD_SD2_DAT3__SD2_DATA3 0x000070f0
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,320 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6q.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TQ TQMa6x";
|
||||
compatible = "tq,tqma6x", "fsl,imx6q";
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = "/soc/aips-bus@02100000/serial@021e8000";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x10000000 0x40000000>;
|
||||
};
|
||||
|
||||
gpio_buttons: gpio_buttons@0 {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpiobuttons_1>;
|
||||
|
||||
button@1 {
|
||||
label = "button0";
|
||||
linux,code = <0x100>;
|
||||
gpios = <&gpio7 13 0>;
|
||||
};
|
||||
|
||||
button@2 {
|
||||
label = "button1";
|
||||
linux,code = <0x101>;
|
||||
gpios = <&gpio7 12 0>;
|
||||
};
|
||||
|
||||
button@3 {
|
||||
label = "button2";
|
||||
linux,code = <0x102>;
|
||||
gpios = <&gpio1 8 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&can1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can1_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can2_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ecspi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi1_1>;
|
||||
fsl,spi-num-chipselects = <1>;
|
||||
cs-gpios = <&gpio3 19 0>;
|
||||
status = "okay";
|
||||
|
||||
flash: m25p80@0 {
|
||||
compatible = "m25p80";
|
||||
spi-max-frequency = <40000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_enet_1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
ddc = <&i2c2>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3_2>;
|
||||
|
||||
pmic: pf0100@08 {
|
||||
compatible = "pf0100-regulator";
|
||||
reg = <0x08>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <10 8>;
|
||||
|
||||
regulators {
|
||||
reg_vddcore: sw1ab {
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1875000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vddsoc: sw1c {
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1875000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_gen_3v3: sw2 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ddr_1v5a: sw3a {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1975000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ddr_1v5b: sw3b {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1975000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ddr_vtt: sw4 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1975000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_5v_600mA: swbst {
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5150000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_snvs_3v: vsnvs {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vrefddr: vrefddr {
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen1_1v5: vgen1 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1550000>;
|
||||
/* not used */
|
||||
};
|
||||
|
||||
reg_vgen2_1v2_eth: vgen2 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1550000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen3_2v8: vgen3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen4_1v8: vgen4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen5_1v8_eth: vgen5 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen6_3v3: vgen6 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor1: lm75@48 {
|
||||
compatible = "lm75";
|
||||
reg = <0x48>;
|
||||
};
|
||||
|
||||
sensor2: lm75@49 {
|
||||
compatible = "lm75";
|
||||
reg = <0x49>;
|
||||
};
|
||||
|
||||
eeprom: m24c64@50 { /* FIXME: Baseboard */
|
||||
compatible = "st,24c64", "at24";
|
||||
reg = <0x50>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
can1 {
|
||||
pinctrl_can1_1: can1grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_KEY_COL2__FLEXCAN1_TX 0x80000000
|
||||
MX6Q_PAD_KEY_ROW2__FLEXCAN1_RX 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
can2 {
|
||||
pinctrl_can2_1: can2grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_KEY_COL4__FLEXCAN2_TX 0x80000000
|
||||
MX6Q_PAD_KEY_ROW4__FLEXCAN2_RX 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
hog {
|
||||
pinctrl_hog: hoggrp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000 /* FEC phy reset */
|
||||
MX6Q_PAD_GPIO_4__GPIO1_IO04 0x80000000 /* usdhc2 CD */
|
||||
MX6Q_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* usdhc2 WP */
|
||||
MX6Q_PAD_EIM_D19__GPIO3_IO19 0x80000000 /* eCSPI1 SS1 */
|
||||
MX6Q_PAD_NANDF_RB0__GPIO6_IO10 0x80000000 /* PMIC irq */
|
||||
MX6Q_PAD_EIM_D22__GPIO3_IO22 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c3 {
|
||||
pinctrl_i2c3_2: i2c3grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
|
||||
MX6Q_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart2 {
|
||||
pinctrl_uart2_2: uart2grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
|
||||
MX6Q_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
gpiobuttons {
|
||||
pinctrl_gpiobuttons_1: gpiogrp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_GPIO_17__GPIO7_IO12 0x80000000
|
||||
MX6Q_PAD_GPIO_18__GPIO7_IO13 0x80000000
|
||||
MX6Q_PAD_GPIO_8__GPIO1_IO08 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sata {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2_2>;
|
||||
};
|
||||
|
||||
&usbh1 {
|
||||
status = "okay";
|
||||
barebox,phy_type = "utmi";
|
||||
disable-over-current;
|
||||
};
|
||||
|
||||
&usbotg {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg_1>;
|
||||
barebox,phy_type = "utmi";
|
||||
barebox,dr_mode = "peripheral";
|
||||
dr_mode = "host";
|
||||
disable-over-current;
|
||||
otg_id_pin_select_change;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 { /* Baseboard Slot */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc2_1>;
|
||||
cd-gpios = <&gpio1 4 0>;
|
||||
wp-gpios = <&gpio1 2 0>;
|
||||
max-frequency = <1000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc3 { /* eMMC */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3_1>;
|
||||
non-removable;
|
||||
bus-width = <8>;
|
||||
status = "disabled";
|
||||
};
|
|
@ -0,0 +1,190 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
/ {
|
||||
gpio_buttons: gpio_buttons@0 {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpiobuttons_1>;
|
||||
|
||||
button@1 {
|
||||
label = "s6";
|
||||
linux,code = <64>; /* KEY_F6 */
|
||||
gpios = <&gpio7 13 0>;
|
||||
};
|
||||
|
||||
button@2 {
|
||||
label = "s7";
|
||||
linux,code = <65>; /* KEY_F7 */
|
||||
gpios = <&gpio7 12 0>;
|
||||
};
|
||||
|
||||
button@3 {
|
||||
label = "s8";
|
||||
linux,code = <66>; /* KEY_F8 */
|
||||
gpios = <&gpio1 8 0>;
|
||||
};
|
||||
};
|
||||
|
||||
beeper: beeper@0 {
|
||||
compatible = "pwm-beeper";
|
||||
pwms = <&pwm1 2 5000000>;
|
||||
};
|
||||
|
||||
disp0: display@0 {
|
||||
compatible = "fsl,imx-parallel-display";
|
||||
interface-pix-fmt = "rgb24";
|
||||
gpios = <&gpio7 11 0>; /* LCD.PWR_EN */
|
||||
status = "disabled";
|
||||
|
||||
display-timings {
|
||||
tx14d11vm1cpd {
|
||||
clock-frequency = <4854369 5847953 7042253>;
|
||||
hactive = <320>;
|
||||
vactive = <240>;
|
||||
hfront-porch = <22 30 35>;
|
||||
hback-porch = <23 30 35>;
|
||||
hsync-len = <4 5 7>;
|
||||
vback-porch = <4 5 9>;
|
||||
vfront-porch = <5 6 10>;
|
||||
vsync-len = <2>;
|
||||
pixelclk-active = <1>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
de-active = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
lcd-backlight-enable {
|
||||
label = "backlight";
|
||||
gpios = <&gpio4 5 0>; /* LCD.BLT_EN */
|
||||
linux,default-trigger = "default-on";
|
||||
};
|
||||
|
||||
lcd-contrast {
|
||||
label = "contrast";
|
||||
gpios = <&gpio4 20 0>; /* LCD.CONTRAST */
|
||||
linux,default-trigger = "default-on";
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
/* Currently the kernel does not have a fabric driver for this */
|
||||
compatible = "fsl,imx6-tqma6x-tlv320aic23",
|
||||
"fsl,imx-audio-tlv320aic23";
|
||||
model = "imx6-tqma6x-tlv320aic23";
|
||||
ssi-controller = <&ssi1>;
|
||||
audio-codec = <&codec>;
|
||||
mux-int-port = <1>;
|
||||
mux-ext-port = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
&audmux {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_audmux_2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can1_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can2_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
codec: tlv320@18 {
|
||||
compatible = "ti,tlv320aic23";
|
||||
reg = <0x18>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
sensor1: lm75@49 {
|
||||
compatible = "lm75";
|
||||
reg = <0x49>;
|
||||
};
|
||||
};
|
||||
|
||||
&ldb {
|
||||
status = "disabled";
|
||||
|
||||
lvds-channel@0 {
|
||||
fsl,data-mapping = "spwg";
|
||||
fsl,data-width = <24>;
|
||||
status = "disabled";
|
||||
|
||||
display-timings {
|
||||
chimei-g070y2-l01 {
|
||||
clock-frequency = <27000000 29500000 33000000>;
|
||||
hactive = <800>;
|
||||
vactive = <480>;
|
||||
hfront-porch = <0>;
|
||||
hback-porch = <0>;
|
||||
hsync-len = <130 192 290>;
|
||||
vback-porch = <0>;
|
||||
vfront-porch = <2>;
|
||||
vsync-len = <10 20 70>;
|
||||
de-active = <1>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ssi1 {
|
||||
fsl,mode = "i2s-slave";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2_2>;
|
||||
};
|
||||
|
||||
&usbh1 {
|
||||
status = "okay";
|
||||
barebox,phy_type = "utmi";
|
||||
disable-over-current;
|
||||
};
|
||||
|
||||
&usbotg {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg_1>;
|
||||
barebox,phy_type = "utmi";
|
||||
barebox,dr_mode = "peripheral";
|
||||
dr_mode = "host";
|
||||
disable-over-current;
|
||||
otg_id_pin_select_change;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 { /* Baseboard Slot */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc2_tqma6x>;
|
||||
cd-gpios = <&gpio1 4 0>;
|
||||
wp-gpios = <&gpio1 2 0>;
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,162 @@
|
|||
/*
|
||||
* Copyright 2013 Sascha Hauer, Pengutronix
|
||||
*
|
||||
* The code contained herein is licensed under the GNU General Public
|
||||
* License. You may obtain a copy of the GNU General Public License
|
||||
* Version 2 or later at the following locations:
|
||||
*
|
||||
* http://www.opensource.org/licenses/gpl-license.html
|
||||
* http://www.gnu.org/copyleft/gpl.html
|
||||
*/
|
||||
|
||||
&ecspi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi1_1>;
|
||||
fsl,spi-num-chipselects = <1>;
|
||||
cs-gpios = <&gpio3 19 0>;
|
||||
status = "okay";
|
||||
|
||||
flash: m25p80@0 {
|
||||
compatible = "m25p80";
|
||||
spi-max-frequency = <40000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_enet_1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1_2>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3_2>;
|
||||
|
||||
pmic: pf0100@08 {
|
||||
compatible = "pf0100-regulator";
|
||||
reg = <0x08>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <10 8>;
|
||||
|
||||
regulators {
|
||||
reg_vddcore: sw1ab {
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1875000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vddsoc: sw1c {
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1875000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_gen_3v3: sw2 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ddr_1v5a: sw3a {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1975000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ddr_1v5b: sw3b {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1975000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ddr_vtt: sw4 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1975000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_5v_600mA: swbst {
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5150000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_snvs_3v: vsnvs {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vrefddr: vrefddr {
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen1_1v5: vgen1 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1550000>;
|
||||
/* not used */
|
||||
};
|
||||
|
||||
reg_vgen2_1v2_eth: vgen2 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1550000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen3_2v8: vgen3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen4_1v8: vgen4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen5_1v8_eth: vgen5 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vgen6_3v3: vgen6 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor2: lm75@48 {
|
||||
compatible = "lm75";
|
||||
reg = <0x48>;
|
||||
};
|
||||
|
||||
eeprom: m24c64@50 {
|
||||
compatible = "st,24c64", "at24";
|
||||
reg = <0x50>;
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc3 { /* eMMC */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3_1>;
|
||||
non-removable;
|
||||
bus-width = <8>;
|
||||
status = "okay";
|
||||
};
|
|
@ -33,6 +33,7 @@ config ARCH_TEXT_BASE
|
|||
default 0x17800000 if MACH_SABRESD
|
||||
default 0x4fc00000 if MACH_REALQ7
|
||||
default 0x4fc00000 if MACH_GK802
|
||||
default 0x2fc00000 if MACH_TQMA6X
|
||||
|
||||
config BOARDINFO
|
||||
default "Eukrea CPUIMX25" if MACH_EUKREA_CPUIMX25
|
||||
|
@ -235,6 +236,10 @@ config MACH_GK802
|
|||
bool "Zealz GK802 Mini PC"
|
||||
select ARCH_IMX6
|
||||
|
||||
config MACH_TQMA6X
|
||||
bool "TQ tqma6x on mba6x"
|
||||
select ARCH_IMX6
|
||||
|
||||
endif
|
||||
|
||||
# ----------------------------------------------------------
|
||||
|
|
|
@ -41,3 +41,15 @@ CFG_start_imx6_gk802.pblx.imximg = $(board)/gk802/flash-header.imxcfg
|
|||
imximage-$(CONFIG_MACH_GK802) += start_imx6_gk802.pblx.imximg
|
||||
FILE_barebox-gk802.img = start_imx6_gk802.pblx.imximg
|
||||
image-$(CONFIG_MACH_GK802) += barebox-gk802.img
|
||||
|
||||
pblx-$(CONFIG_MACH_TQMA6X) += start_imx6dl_mba6x
|
||||
CFG_start_imx6dl_mba6x.pblx.imximg = $(board)/tqma6x/flash-header-tqma6dl.imxcfg
|
||||
imximage-$(CONFIG_MACH_TQMA6X) += start_imx6dl_mba6x.pblx.imximg
|
||||
FILE_barebox-tq-tqma6s-mba6x.img = start_imx6dl_mba6x.pblx.imximg
|
||||
image-$(CONFIG_MACH_TQMA6X) += barebox-tq-tqma6s-mba6x.img
|
||||
|
||||
pblx-$(CONFIG_MACH_TQMA6X) += start_imx6q_mba6x
|
||||
CFG_start_imx6q_mba6x.pblx.imximg = $(board)/tqma6x/flash-header-tqma6q.imxcfg
|
||||
imximage-$(CONFIG_MACH_TQMA6X) += start_imx6q_mba6x.pblx.imximg
|
||||
FILE_barebox-tq-tqma6q-mba6x.img = start_imx6q_mba6x.pblx.imximg
|
||||
image-$(CONFIG_MACH_TQMA6X) += barebox-tq-tqma6q-mba6x.img
|
||||
|
|
Loading…
Reference in New Issue