Merge branch 'for-next/imx-oftree'
Conflicts: arch/arm/boards/freescale-mx51-pdk/board.c
This commit is contained in:
commit
064fdcec9f
|
@ -0,0 +1,6 @@
|
|||
|
||||
barebox uses the same devicetree bindings as the kernel. For
|
||||
the bindings derived from the kernel look in the kernel sources
|
||||
for reference.
|
||||
|
||||
barebox specific bindings are documented here.
|
|
@ -0,0 +1,20 @@
|
|||
Freescale i.MX IIM (Ic Identification Module)
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: fsl,imx-iim
|
||||
- reg: physical register base and size
|
||||
|
||||
Optional properties:
|
||||
|
||||
- barebox,provide-mac-address: Provide MAC addresses for ethernet devices. This
|
||||
can be multiple entries in the form <&phandle bankno fuseofs> to specify a MAC
|
||||
address to a ethernet device.
|
||||
|
||||
Example:
|
||||
|
||||
iim: iim@83f98000 {
|
||||
compatible = "fsl,imx51-iim", "fsl,imx-iim";
|
||||
reg = <0x83f98000 0x4000>;
|
||||
barebox,provide-mac-address = <&fec 1 9>;
|
||||
};
|
|
@ -277,11 +277,6 @@ dts := arch/arm/dts
|
|||
%.dtb: scripts
|
||||
$(Q)$(MAKE) $(build)=$(dts) $(dts)/$@
|
||||
|
||||
dtbs: scripts
|
||||
$(Q)$(MAKE) $(build)=$(dts) dtbs
|
||||
|
||||
KBUILD_DTBS := dtbs
|
||||
|
||||
KBUILD_IMAGE ?= $(KBUILD_BINARY)
|
||||
|
||||
archprepare: maketools
|
||||
|
|
|
@ -39,80 +39,8 @@
|
|||
#include <mach/iomux-mx51.h>
|
||||
#include <mach/devices-imx51.h>
|
||||
#include <mach/revision.h>
|
||||
#include <mach/iim.h>
|
||||
#include <mach/imx-flash-header.h>
|
||||
|
||||
static struct fec_platform_data fec_info = {
|
||||
.xcv_type = PHY_INTERFACE_MODE_MII,
|
||||
};
|
||||
|
||||
static iomux_v3_cfg_t f3s_pads[] = {
|
||||
/* UART1 */
|
||||
MX51_PAD_UART1_RXD__UART1_RXD,
|
||||
MX51_PAD_UART1_TXD__UART1_TXD,
|
||||
MX51_PAD_UART1_RTS__UART1_RTS,
|
||||
MX51_PAD_UART1_CTS__UART1_CTS,
|
||||
/* FEC */
|
||||
MX51_PAD_EIM_EB2__FEC_MDIO,
|
||||
MX51_PAD_EIM_EB3__FEC_RDATA1,
|
||||
MX51_PAD_EIM_CS2__FEC_RDATA2,
|
||||
MX51_PAD_EIM_CS3__FEC_RDATA3,
|
||||
MX51_PAD_EIM_CS4__FEC_RX_ER,
|
||||
MX51_PAD_EIM_CS5__FEC_CRS,
|
||||
MX51_PAD_NANDF_RB2__FEC_COL,
|
||||
MX51_PAD_NANDF_RB3__FEC_RX_CLK,
|
||||
MX51_PAD_NANDF_CS2__FEC_TX_ER,
|
||||
MX51_PAD_NANDF_CS3__FEC_MDC,
|
||||
MX51_PAD_NANDF_CS4__FEC_TDATA1,
|
||||
MX51_PAD_NANDF_CS5__FEC_TDATA2,
|
||||
MX51_PAD_NANDF_CS6__FEC_TDATA3,
|
||||
MX51_PAD_NANDF_CS7__FEC_TX_EN,
|
||||
MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK,
|
||||
MX51_PAD_NANDF_D11__FEC_RX_DV,
|
||||
MX51_PAD_NANDF_D9__FEC_RDATA0,
|
||||
MX51_PAD_NANDF_D8__FEC_TDATA0,
|
||||
MX51_PAD_CSPI1_SS0__ECSPI1_SS0,
|
||||
MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI,
|
||||
MX51_PAD_CSPI1_MISO__ECSPI1_MISO,
|
||||
MX51_PAD_CSPI1_RDY__ECSPI1_RDY,
|
||||
MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK,
|
||||
MX51_PAD_EIM_A20__GPIO2_14, /* LAN8700 reset pin */
|
||||
IOMUX_PAD(0x60C, 0x21C, 3, 0x0, 0, 0x85), /* FIXME: needed? */
|
||||
/* SD 1 */
|
||||
MX51_PAD_SD1_CMD__SD1_CMD,
|
||||
MX51_PAD_SD1_CLK__SD1_CLK,
|
||||
MX51_PAD_SD1_DATA0__SD1_DATA0,
|
||||
MX51_PAD_SD1_DATA1__SD1_DATA1,
|
||||
MX51_PAD_SD1_DATA2__SD1_DATA2,
|
||||
MX51_PAD_SD1_DATA3__SD1_DATA3,
|
||||
/* SD 2 */
|
||||
MX51_PAD_SD2_CMD__SD2_CMD,
|
||||
MX51_PAD_SD2_CLK__SD2_CLK,
|
||||
MX51_PAD_SD2_DATA0__SD2_DATA0,
|
||||
MX51_PAD_SD2_DATA1__SD2_DATA1,
|
||||
MX51_PAD_SD2_DATA2__SD2_DATA2,
|
||||
MX51_PAD_SD2_DATA3__SD2_DATA3,
|
||||
/* CD/WP gpio */
|
||||
MX51_PAD_GPIO1_6__GPIO1_6,
|
||||
MX51_PAD_GPIO1_5__GPIO1_5,
|
||||
};
|
||||
|
||||
#define BABBAGE_ECSPI1_CS0 (3 * 32 + 24)
|
||||
static int spi_0_cs[] = {BABBAGE_ECSPI1_CS0};
|
||||
|
||||
static struct spi_imx_master spi_0_data = {
|
||||
.chipselect = spi_0_cs,
|
||||
.num_chipselect = ARRAY_SIZE(spi_0_cs),
|
||||
};
|
||||
|
||||
static const struct spi_board_info mx51_babbage_spi_board_info[] = {
|
||||
{
|
||||
.name = "mc13xxx-spi",
|
||||
.bus_num = 0,
|
||||
.chip_select = 0,
|
||||
},
|
||||
};
|
||||
|
||||
#define MX51_CCM_CACRR 0x10
|
||||
|
||||
static void babbage_power_init(void)
|
||||
|
@ -233,25 +161,16 @@ extern char flash_header_start[], flash_header_end[];
|
|||
|
||||
static int f3s_devices_init(void)
|
||||
{
|
||||
spi_register_board_info(mx51_babbage_spi_board_info,
|
||||
ARRAY_SIZE(mx51_babbage_spi_board_info));
|
||||
imx51_add_spi0(&spi_0_data);
|
||||
|
||||
babbage_power_init();
|
||||
|
||||
console_flush();
|
||||
imx51_init_lowlevel(800);
|
||||
clock_notifier_call_chain();
|
||||
|
||||
imx51_iim_register_fec_ethaddr();
|
||||
imx51_add_fec(&fec_info);
|
||||
imx51_add_mmc0(NULL);
|
||||
imx51_add_mmc1(NULL);
|
||||
|
||||
armlinux_set_bootparams((void *)0x90000100);
|
||||
armlinux_set_architecture(MACH_TYPE_MX51_BABBAGE);
|
||||
|
||||
imx51_bbu_internal_mmc_register_handler("mmc", "/dev/disk0",
|
||||
imx51_bbu_internal_mmc_register_handler("mmc", "/dev/mmc0",
|
||||
BBU_HANDLER_FLAG_DEFAULT, (void *)flash_header_start,
|
||||
flash_header_end - flash_header_start, 0);
|
||||
|
||||
|
@ -262,21 +181,9 @@ device_initcall(f3s_devices_init);
|
|||
|
||||
static int f3s_part_init(void)
|
||||
{
|
||||
devfs_add_partition("disk0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self0");
|
||||
devfs_add_partition("disk0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0");
|
||||
devfs_add_partition("mmc0", 0x00000, 0x40000, DEVFS_PARTITION_FIXED, "self0");
|
||||
devfs_add_partition("mmc0", 0x40000, 0x20000, DEVFS_PARTITION_FIXED, "env0");
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(f3s_part_init);
|
||||
|
||||
static int f3s_console_init(void)
|
||||
{
|
||||
mxc_iomux_v3_setup_multiple_pads(f3s_pads, ARRAY_SIZE(f3s_pads));
|
||||
|
||||
imx51_add_uart0();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
console_initcall(f3s_console_init);
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <mach/generic.h>
|
||||
#include <sizes.h>
|
||||
#include <net.h>
|
||||
#include <linux/micrel_phy.h>
|
||||
#include <mach/imx6.h>
|
||||
#include <mach/devices-imx6.h>
|
||||
#include <mach/iomux-mx6.h>
|
||||
|
@ -37,73 +38,8 @@
|
|||
#include <mach/spi.h>
|
||||
#include <mach/usb.h>
|
||||
|
||||
#define SABRELITE_SD3_WP IMX_GPIO_NR(7, 1)
|
||||
#define SABRELITE_SD3_CD IMX_GPIO_NR(7, 0)
|
||||
|
||||
#define SABRELITE_SD4_CD IMX_GPIO_NR(2, 6)
|
||||
|
||||
static iomux_v3_cfg_t sabrelite_pads[] = {
|
||||
/* UART1 */
|
||||
MX6Q_PAD_SD3_DAT6__UART1_RXD,
|
||||
MX6Q_PAD_SD3_DAT7__UART1_TXD,
|
||||
MX6Q_PAD_EIM_D26__UART2_TXD,
|
||||
MX6Q_PAD_EIM_D27__UART2_RXD,
|
||||
|
||||
/* SD3 (bottom) */
|
||||
MX6Q_PAD_SD3_CMD__USDHC3_CMD,
|
||||
MX6Q_PAD_SD3_CLK__USDHC3_CLK,
|
||||
MX6Q_PAD_SD3_DAT0__USDHC3_DAT0,
|
||||
MX6Q_PAD_SD3_DAT1__USDHC3_DAT1,
|
||||
MX6Q_PAD_SD3_DAT2__USDHC3_DAT2,
|
||||
MX6Q_PAD_SD3_DAT3__USDHC3_DAT3,
|
||||
MX6Q_PAD_SD3_DAT4__GPIO_7_1, /* WP */
|
||||
MX6Q_PAD_SD3_DAT5__GPIO_7_0, /* CD */
|
||||
|
||||
/* SD4 (top) */
|
||||
MX6Q_PAD_SD4_CLK__USDHC4_CLK,
|
||||
MX6Q_PAD_SD4_CMD__USDHC4_CMD,
|
||||
MX6Q_PAD_SD4_DAT0__USDHC4_DAT0,
|
||||
MX6Q_PAD_SD4_DAT1__USDHC4_DAT1,
|
||||
MX6Q_PAD_SD4_DAT2__USDHC4_DAT2,
|
||||
MX6Q_PAD_SD4_DAT3__USDHC4_DAT3,
|
||||
MX6Q_PAD_NANDF_D6__GPIO_2_6, /* CD */
|
||||
|
||||
/* ECSPI */
|
||||
MX6Q_PAD_EIM_D16__ECSPI1_SCLK,
|
||||
MX6Q_PAD_EIM_D17__ECSPI1_MISO,
|
||||
MX6Q_PAD_EIM_D18__ECSPI1_MOSI,
|
||||
MX6Q_PAD_EIM_D19__GPIO_3_19, /* CS1 */
|
||||
|
||||
/* I2C0 */
|
||||
MX6Q_PAD_EIM_D21__I2C1_SCL,
|
||||
MX6Q_PAD_EIM_D28__I2C1_SDA,
|
||||
|
||||
/* I2C1 */
|
||||
MX6Q_PAD_KEY_COL3__I2C2_SCL,
|
||||
MX6Q_PAD_KEY_ROW3__I2C2_SDA,
|
||||
|
||||
/* I2C2 */
|
||||
MX6Q_PAD_GPIO_5__I2C3_SCL,
|
||||
MX6Q_PAD_GPIO_16__I2C3_SDA,
|
||||
|
||||
/* USB */
|
||||
MX6Q_PAD_GPIO_17__GPIO_7_12,
|
||||
MX6Q_PAD_EIM_D22__GPIO_3_22,
|
||||
MX6Q_PAD_EIM_D30__USBOH3_USBH1_OC,
|
||||
};
|
||||
|
||||
static iomux_v3_cfg_t sabrelite_enet_pads[] = {
|
||||
static iomux_v3_cfg_t sabrelite_enet_gpio_pads[] = {
|
||||
/* Ethernet */
|
||||
MX6Q_PAD_ENET_MDC__ENET_MDC,
|
||||
MX6Q_PAD_ENET_MDIO__ENET_MDIO,
|
||||
MX6Q_PAD_ENET_REF_CLK__GPIO_1_23, // LED mode
|
||||
MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK,
|
||||
MX6Q_PAD_RGMII_TXC__ENET_RGMII_TXC,
|
||||
MX6Q_PAD_RGMII_TD0__ENET_RGMII_TD0,
|
||||
MX6Q_PAD_RGMII_TD1__ENET_RGMII_TD1,
|
||||
MX6Q_PAD_RGMII_TD2__ENET_RGMII_TD2,
|
||||
MX6Q_PAD_RGMII_TD3__ENET_RGMII_TD3,
|
||||
MX6Q_PAD_RGMII_TX_CTL__ENET_RGMII_TX_CTL,
|
||||
MX6Q_PAD_EIM_D23__GPIO_3_23, /* RGMII_nRST */
|
||||
MX6Q_PAD_RGMII_RXC__GPIO_6_30, /* PHYAD */
|
||||
MX6Q_PAD_RGMII_RD0__GPIO_6_25, /* MODE0 */
|
||||
|
@ -113,16 +49,6 @@ static iomux_v3_cfg_t sabrelite_enet_pads[] = {
|
|||
MX6Q_PAD_RGMII_RX_CTL__GPIO_6_24,
|
||||
};
|
||||
|
||||
static iomux_v3_cfg_t sabrelite_enet2_pads[] = {
|
||||
MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK,
|
||||
MX6Q_PAD_RGMII_RXC__ENET_RGMII_RXC,
|
||||
MX6Q_PAD_RGMII_RD0__ENET_RGMII_RD0,
|
||||
MX6Q_PAD_RGMII_RD1__ENET_RGMII_RD1,
|
||||
MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2,
|
||||
MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3,
|
||||
MX6Q_PAD_RGMII_RX_CTL__ENET_RGMII_RX_CTL,
|
||||
};
|
||||
|
||||
static int sabrelite_mem_init(void)
|
||||
{
|
||||
arm_add_mem_device("ram0", 0x10000000, SZ_1G);
|
||||
|
@ -131,7 +57,7 @@ static int sabrelite_mem_init(void)
|
|||
}
|
||||
mem_initcall(sabrelite_mem_init);
|
||||
|
||||
static void mx6_rgmii_rework(struct phy_device *dev)
|
||||
static int ksz9021rn_phy_fixup(struct phy_device *dev)
|
||||
{
|
||||
phy_write(dev, 0x09, 0x0f00);
|
||||
|
||||
|
@ -144,17 +70,14 @@ static void mx6_rgmii_rework(struct phy_device *dev)
|
|||
phy_write(dev, 0x0b, 0x8104);
|
||||
phy_write(dev, 0x0c, 0xf0f0);
|
||||
phy_write(dev, 0x0b, 0x104);
|
||||
}
|
||||
|
||||
static struct fec_platform_data fec_info = {
|
||||
.xcv_type = PHY_INTERFACE_MODE_RGMII,
|
||||
.phy_init = mx6_rgmii_rework,
|
||||
.phy_addr = 6,
|
||||
};
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sabrelite_ksz9021rn_setup(void)
|
||||
{
|
||||
mxc_iomux_v3_setup_multiple_pads(sabrelite_enet_pads, ARRAY_SIZE(sabrelite_enet_pads));
|
||||
mxc_iomux_v3_setup_multiple_pads(sabrelite_enet_gpio_pads,
|
||||
ARRAY_SIZE(sabrelite_enet_gpio_pads));
|
||||
|
||||
gpio_direction_output(87, 0); /* GPIO 3-23 */
|
||||
|
||||
|
@ -175,10 +98,13 @@ static int sabrelite_ksz9021rn_setup(void)
|
|||
mdelay(10);
|
||||
gpio_set_value(87, 1);
|
||||
|
||||
mxc_iomux_v3_setup_multiple_pads(sabrelite_enet2_pads, ARRAY_SIZE(sabrelite_enet2_pads));
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* Do this before the fec initializes but after our
|
||||
* gpios are available.
|
||||
*/
|
||||
fs_initcall(sabrelite_ksz9021rn_setup);
|
||||
|
||||
static inline int imx6_iim_register_fec_ethaddr(void)
|
||||
{
|
||||
|
@ -200,35 +126,6 @@ static inline int imx6_iim_register_fec_ethaddr(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int sabrelite_spi_cs[] = {IMX_GPIO_NR(3, 19)};
|
||||
|
||||
static struct spi_imx_master sabrelite_spi_0_data = {
|
||||
.chipselect = sabrelite_spi_cs,
|
||||
.num_chipselect = ARRAY_SIZE(sabrelite_spi_cs),
|
||||
};
|
||||
|
||||
static const struct spi_board_info sabrelite_spi_board_info[] = {
|
||||
{
|
||||
.name = "m25p80",
|
||||
.max_speed_hz = 40000000,
|
||||
.bus_num = 0,
|
||||
.chip_select = 0,
|
||||
}
|
||||
};
|
||||
|
||||
static struct esdhc_platform_data sabrelite_sd3_data = {
|
||||
.cd_gpio = SABRELITE_SD3_CD,
|
||||
.cd_type = ESDHC_CD_GPIO,
|
||||
.wp_gpio = SABRELITE_SD3_WP,
|
||||
.wp_type = ESDHC_WP_GPIO,
|
||||
};
|
||||
|
||||
static struct esdhc_platform_data sabrelite_sd4_data = {
|
||||
.cd_gpio = SABRELITE_SD4_CD,
|
||||
.cd_type = ESDHC_CD_GPIO,
|
||||
.wp_type = ESDHC_WP_NONE,
|
||||
};
|
||||
|
||||
static void sabrelite_ehci_init(void)
|
||||
{
|
||||
imx6_usb_phy2_disable_oc();
|
||||
|
@ -244,19 +141,8 @@ static void sabrelite_ehci_init(void)
|
|||
|
||||
static int sabrelite_devices_init(void)
|
||||
{
|
||||
imx6_add_mmc2(&sabrelite_sd3_data);
|
||||
imx6_add_mmc3(&sabrelite_sd4_data);
|
||||
|
||||
sabrelite_ksz9021rn_setup();
|
||||
imx6_iim_register_fec_ethaddr();
|
||||
imx6_add_fec(&fec_info);
|
||||
|
||||
sabrelite_ehci_init();
|
||||
|
||||
spi_register_board_info(sabrelite_spi_board_info,
|
||||
ARRAY_SIZE(sabrelite_spi_board_info));
|
||||
imx6_add_spi0(&sabrelite_spi_0_data);
|
||||
|
||||
armlinux_set_bootparams((void *)0x10000100);
|
||||
armlinux_set_architecture(3769);
|
||||
|
||||
|
@ -265,17 +151,23 @@ static int sabrelite_devices_init(void)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
device_initcall(sabrelite_devices_init);
|
||||
|
||||
static int sabrelite_console_init(void)
|
||||
static int sabrelite_coredevices_init(void)
|
||||
{
|
||||
mxc_iomux_v3_setup_multiple_pads(sabrelite_pads, ARRAY_SIZE(sabrelite_pads));
|
||||
phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK,
|
||||
ksz9021rn_phy_fixup);
|
||||
|
||||
imx6_init_lowlevel();
|
||||
|
||||
imx6_add_uart1();
|
||||
imx6_iim_register_fec_ethaddr();
|
||||
|
||||
return 0;
|
||||
}
|
||||
console_initcall(sabrelite_console_init);
|
||||
coredevice_initcall(sabrelite_coredevices_init);
|
||||
|
||||
static int sabrelite_core_init(void)
|
||||
{
|
||||
imx6_init_lowlevel();
|
||||
|
||||
return 0;
|
||||
}
|
||||
core_initcall(sabrelite_core_init);
|
||||
|
|
|
@ -41,92 +41,6 @@
|
|||
#define PHY_ID_AR8031 0x004dd074
|
||||
#define AR_PHY_ID_MASK 0xffffffff
|
||||
|
||||
#define SABRESD_SD2_CD IMX_GPIO_NR(2, 2)
|
||||
#define SABRESD_SD2_WP IMX_GPIO_NR(2, 3)
|
||||
|
||||
#define SABRESD_SD3_CD IMX_GPIO_NR(2, 0)
|
||||
#define SABRESD_SD3_WP IMX_GPIO_NR(2, 1)
|
||||
|
||||
static iomux_v3_cfg_t sabresd_pads[] = {
|
||||
/* UART1 */
|
||||
MX6Q_PAD_CSI0_DAT11__UART1_RXD,
|
||||
MX6Q_PAD_CSI0_DAT10__UART1_TXD,
|
||||
|
||||
/* Ethernet */
|
||||
MX6Q_PAD_ENET_MDC__ENET_MDC,
|
||||
MX6Q_PAD_ENET_MDIO__ENET_MDIO,
|
||||
MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK,
|
||||
|
||||
MX6Q_PAD_RGMII_TXC__ENET_RGMII_TXC,
|
||||
MX6Q_PAD_RGMII_TD0__ENET_RGMII_TD0,
|
||||
MX6Q_PAD_RGMII_TD1__ENET_RGMII_TD1,
|
||||
MX6Q_PAD_RGMII_TD2__ENET_RGMII_TD2,
|
||||
MX6Q_PAD_RGMII_TD3__ENET_RGMII_TD3,
|
||||
MX6Q_PAD_RGMII_TX_CTL__ENET_RGMII_TX_CTL,
|
||||
|
||||
MX6Q_PAD_RGMII_RXC__ENET_RGMII_RXC,
|
||||
MX6Q_PAD_RGMII_RD0__ENET_RGMII_RD0,
|
||||
MX6Q_PAD_RGMII_RD1__ENET_RGMII_RD1,
|
||||
MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2,
|
||||
MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3,
|
||||
MX6Q_PAD_RGMII_RX_CTL__ENET_RGMII_RX_CTL,
|
||||
|
||||
MX6Q_PAD_ENET_CRS_DV__GPIO_1_25, /* AR8031 PHY Reset */
|
||||
MX6Q_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT,
|
||||
|
||||
/* SD2 */
|
||||
MX6Q_PAD_SD2_CLK__USDHC2_CLK,
|
||||
MX6Q_PAD_SD2_CMD__USDHC2_CMD,
|
||||
MX6Q_PAD_SD2_DAT0__USDHC2_DAT0,
|
||||
MX6Q_PAD_SD2_DAT1__USDHC2_DAT1,
|
||||
MX6Q_PAD_SD2_DAT2__USDHC2_DAT2,
|
||||
MX6Q_PAD_SD2_DAT3__USDHC2_DAT3,
|
||||
MX6Q_PAD_NANDF_D4__USDHC2_DAT4,
|
||||
MX6Q_PAD_NANDF_D5__USDHC2_DAT5,
|
||||
MX6Q_PAD_NANDF_D6__USDHC2_DAT6,
|
||||
MX6Q_PAD_NANDF_D7__USDHC2_DAT7,
|
||||
MX6Q_PAD_NANDF_D2__GPIO_2_2, /* CD */
|
||||
MX6Q_PAD_NANDF_D3__GPIO_2_3, /* WP */
|
||||
|
||||
/* SD3 */
|
||||
MX6Q_PAD_SD3_CMD__USDHC3_CMD,
|
||||
MX6Q_PAD_SD3_CLK__USDHC3_CLK,
|
||||
MX6Q_PAD_SD3_DAT0__USDHC3_DAT0,
|
||||
MX6Q_PAD_SD3_DAT1__USDHC3_DAT1,
|
||||
MX6Q_PAD_SD3_DAT2__USDHC3_DAT2,
|
||||
MX6Q_PAD_SD3_DAT3__USDHC3_DAT3,
|
||||
MX6Q_PAD_SD3_DAT4__USDHC3_DAT4,
|
||||
MX6Q_PAD_SD3_DAT5__USDHC3_DAT5,
|
||||
MX6Q_PAD_SD3_DAT6__USDHC3_DAT6,
|
||||
MX6Q_PAD_SD3_DAT7__USDHC3_DAT7,
|
||||
MX6Q_PAD_NANDF_D0__GPIO_2_0, /* CD */
|
||||
MX6Q_PAD_NANDF_D1__GPIO_2_1, /* WP */
|
||||
|
||||
/* SD4 */
|
||||
MX6Q_PAD_SD4_CLK__USDHC4_CLK,
|
||||
MX6Q_PAD_SD4_CMD__USDHC4_CMD,
|
||||
MX6Q_PAD_SD4_DAT0__USDHC4_DAT0,
|
||||
MX6Q_PAD_SD4_DAT1__USDHC4_DAT1,
|
||||
MX6Q_PAD_SD4_DAT2__USDHC4_DAT2,
|
||||
MX6Q_PAD_SD4_DAT3__USDHC4_DAT3,
|
||||
MX6Q_PAD_SD4_DAT4__USDHC4_DAT4,
|
||||
MX6Q_PAD_SD4_DAT5__USDHC4_DAT5,
|
||||
MX6Q_PAD_SD4_DAT6__USDHC4_DAT6,
|
||||
MX6Q_PAD_SD4_DAT7__USDHC4_DAT7,
|
||||
|
||||
/* I2C0 */
|
||||
MX6Q_PAD_CSI0_DAT8__I2C1_SDA,
|
||||
MX6Q_PAD_CSI0_DAT9__I2C1_SCL,
|
||||
|
||||
/* I2C1 */
|
||||
MX6Q_PAD_KEY_COL3__I2C2_SCL,
|
||||
MX6Q_PAD_KEY_ROW3__I2C2_SDA,
|
||||
|
||||
/* I2C2 */
|
||||
MX6Q_PAD_GPIO_3__I2C3_SCL,
|
||||
MX6Q_PAD_GPIO_6__I2C3_SDA,
|
||||
};
|
||||
|
||||
static int sabresd_mem_init(void)
|
||||
{
|
||||
arm_add_mem_device("ram0", 0x10000000, SZ_1G);
|
||||
|
@ -158,11 +72,6 @@ static int ar8031_phy_fixup(struct phy_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct fec_platform_data fec_info = {
|
||||
.xcv_type = PHY_INTERFACE_MODE_RGMII,
|
||||
.phy_addr = 1,
|
||||
};
|
||||
|
||||
static void sabresd_phy_reset(void)
|
||||
{
|
||||
/* Reset AR8031 PHY */
|
||||
|
@ -191,37 +100,8 @@ static inline int imx6_iim_register_fec_ethaddr(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct esdhc_platform_data sabresd_sd2_data = {
|
||||
.cd_gpio = SABRESD_SD2_CD,
|
||||
.cd_type = ESDHC_CD_GPIO,
|
||||
.wp_gpio = SABRESD_SD2_WP,
|
||||
.wp_type = ESDHC_WP_GPIO,
|
||||
};
|
||||
|
||||
static struct esdhc_platform_data sabresd_sd3_data = {
|
||||
.cd_gpio = SABRESD_SD3_CD,
|
||||
.cd_type = ESDHC_CD_GPIO,
|
||||
.wp_gpio = SABRESD_SD3_WP,
|
||||
.wp_type = ESDHC_WP_GPIO,
|
||||
};
|
||||
|
||||
static struct esdhc_platform_data sabresd_sd4_data = {
|
||||
.cd_type = ESDHC_CD_PERMANENT,
|
||||
.wp_type = ESDHC_WP_CONTROLLER,
|
||||
};
|
||||
|
||||
static int sabresd_devices_init(void)
|
||||
{
|
||||
imx6_add_mmc3(&sabresd_sd4_data);
|
||||
imx6_add_mmc1(&sabresd_sd2_data);
|
||||
imx6_add_mmc2(&sabresd_sd3_data);
|
||||
|
||||
phy_register_fixup_for_uid(PHY_ID_AR8031, AR_PHY_ID_MASK, ar8031_phy_fixup);
|
||||
|
||||
sabresd_phy_reset();
|
||||
imx6_iim_register_fec_ethaddr();
|
||||
imx6_add_fec(&fec_info);
|
||||
|
||||
armlinux_set_bootparams((void *)0x10000100);
|
||||
armlinux_set_architecture(3980);
|
||||
|
||||
|
@ -231,14 +111,27 @@ static int sabresd_devices_init(void)
|
|||
}
|
||||
device_initcall(sabresd_devices_init);
|
||||
|
||||
static int sabresd_console_init(void)
|
||||
static int sabresd_coredevices_init(void)
|
||||
{
|
||||
mxc_iomux_v3_setup_multiple_pads(sabresd_pads, ARRAY_SIZE(sabresd_pads));
|
||||
sabresd_phy_reset();
|
||||
|
||||
imx6_init_lowlevel();
|
||||
phy_register_fixup_for_uid(PHY_ID_AR8031, AR_PHY_ID_MASK,
|
||||
ar8031_phy_fixup);
|
||||
|
||||
imx6_add_uart0();
|
||||
imx6_iim_register_fec_ethaddr();
|
||||
|
||||
return 0;
|
||||
}
|
||||
console_initcall(sabresd_console_init);
|
||||
/*
|
||||
* Do this before the fec initializes but after our
|
||||
* gpios are available.
|
||||
*/
|
||||
fs_initcall(sabresd_coredevices_init);
|
||||
|
||||
static int sabresd_core_init(void)
|
||||
{
|
||||
imx6_init_lowlevel();
|
||||
|
||||
return 0;
|
||||
}
|
||||
core_initcall(sabresd_core_init);
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
CONFIG_BUILTIN_DTB=y
|
||||
CONFIG_BUILTIN_DTB_NAME="imx6q-sabrelite"
|
||||
CONFIG_ARCH_IMX=y
|
||||
CONFIG_ARCH_IMX6=y
|
||||
CONFIG_MACH_SABRELITE=y
|
||||
CONFIG_IMX_IIM=y
|
||||
CONFIG_IMX_IIM_FUSE_BLOW=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_THUMB2_BAREBOX=y
|
||||
CONFIG_CMD_ARM_MMUINFO=y
|
||||
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
|
||||
|
@ -17,8 +18,10 @@ CONFIG_HUSH_FANCY_PROMPT=y
|
|||
CONFIG_CMDLINE_EDITING=y
|
||||
CONFIG_AUTO_COMPLETE=y
|
||||
CONFIG_MENU=y
|
||||
CONFIG_CONSOLE_ACTIVATE_NONE=y
|
||||
CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
|
||||
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx6-sabrelite/env"
|
||||
CONFIG_RESET_SOURCE=y
|
||||
CONFIG_CMD_EDIT=y
|
||||
CONFIG_CMD_SLEEP=y
|
||||
CONFIG_CMD_MSLEEP=y
|
||||
|
@ -28,8 +31,9 @@ CONFIG_CMD_READLINE=y
|
|||
CONFIG_CMD_MENU=y
|
||||
CONFIG_CMD_MENU_MANAGEMENT=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_CMD_BASENAME=y
|
||||
CONFIG_CMD_DIRNAME=y
|
||||
CONFIG_CMD_LN=y
|
||||
CONFIG_CMD_TFTP=y
|
||||
CONFIG_CMD_FILETYPE=y
|
||||
CONFIG_CMD_ECHO_E=y
|
||||
CONFIG_CMD_MEMINFO=y
|
||||
CONFIG_CMD_IOMEM=y
|
||||
|
@ -43,29 +47,37 @@ CONFIG_CMD_BOOTM_INITRD=y
|
|||
CONFIG_CMD_BOOTM_OFTREE=y
|
||||
CONFIG_CMD_BOOTM_OFTREE_UIMAGE=y
|
||||
CONFIG_CMD_BOOTM_AIMAGE=y
|
||||
# CONFIG_CMD_BOOTZ is not set
|
||||
# CONFIG_CMD_BOOTU is not set
|
||||
CONFIG_CMD_RESET=y
|
||||
CONFIG_CMD_GO=y
|
||||
CONFIG_CMD_OFTREE=y
|
||||
CONFIG_CMD_OF_PROPERTY=y
|
||||
CONFIG_CMD_OF_NODE=y
|
||||
CONFIG_CMD_BAREBOX_UPDATE=y
|
||||
CONFIG_CMD_TIMEOUT=y
|
||||
CONFIG_CMD_PARTITION=y
|
||||
CONFIG_CMD_MAGICVAR=y
|
||||
CONFIG_CMD_MAGICVAR_HELP=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_UNCOMPRESS=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_MIITOOL=y
|
||||
CONFIG_CMD_CLK=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_NET_DHCP=y
|
||||
CONFIG_NET_RESOLV=y
|
||||
CONFIG_NET_PING=y
|
||||
CONFIG_CMD_TFTP=y
|
||||
CONFIG_NET_NETCONSOLE=y
|
||||
CONFIG_NET_RESOLV=y
|
||||
CONFIG_OFDEVICE=y
|
||||
CONFIG_DRIVER_NET_FEC_IMX=y
|
||||
CONFIG_DRIVER_SPI_IMX=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_SST25L=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MCI=y
|
||||
CONFIG_MCI_STARTUP=y
|
||||
CONFIG_MCI_IMX_ESDHC=y
|
||||
CONFIG_FS_TFTP=y
|
||||
CONFIG_FS_NFS=y
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
CONFIG_BUILTIN_DTB=y
|
||||
CONFIG_BUILTIN_DTB_NAME="imx51-babbage"
|
||||
CONFIG_ARCH_IMX=y
|
||||
CONFIG_ARCH_IMX51=y
|
||||
CONFIG_IMX_IIM=y
|
||||
CONFIG_IMX_IIM_FUSE_BLOW=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_THUMB2_BAREBOX=y
|
||||
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
|
||||
CONFIG_ARM_UNWIND=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_TEXT_BASE=0x97f00000
|
||||
CONFIG_MALLOC_SIZE=0x2000000
|
||||
CONFIG_MALLOC_TLSF=y
|
||||
CONFIG_KALLSYMS=y
|
||||
|
@ -16,6 +16,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
|
|||
CONFIG_CMDLINE_EDITING=y
|
||||
CONFIG_AUTO_COMPLETE=y
|
||||
CONFIG_MENU=y
|
||||
CONFIG_CONSOLE_ACTIVATE_NONE=y
|
||||
CONFIG_DEFAULT_ENVIRONMENT_COMPRESSED_LZO=y
|
||||
CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
|
||||
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx51-pdk/env/"
|
||||
|
@ -31,8 +32,10 @@ CONFIG_CMD_TIME=y
|
|||
CONFIG_CMD_ECHO_E=y
|
||||
CONFIG_CMD_MEMINFO=y
|
||||
CONFIG_CMD_IOMEM=y
|
||||
CONFIG_CMD_MM=y
|
||||
CONFIG_CMD_CRC=y
|
||||
CONFIG_CMD_CRC_CMP=y
|
||||
CONFIG_CMD_MD5SUM=y
|
||||
CONFIG_CMD_FLASH=y
|
||||
CONFIG_CMD_BOOTM_SHOW_TYPE=y
|
||||
CONFIG_CMD_BOOTM_VERBOSE=y
|
||||
|
@ -43,19 +46,28 @@ CONFIG_CMD_UIMAGE=y
|
|||
# CONFIG_CMD_BOOTU is not set
|
||||
CONFIG_CMD_RESET=y
|
||||
CONFIG_CMD_GO=y
|
||||
CONFIG_CMD_OFTREE=y
|
||||
CONFIG_CMD_OF_PROPERTY=y
|
||||
CONFIG_CMD_OF_NODE=y
|
||||
CONFIG_CMD_BAREBOX_UPDATE=y
|
||||
CONFIG_CMD_TIMEOUT=y
|
||||
CONFIG_CMD_PARTITION=y
|
||||
CONFIG_CMD_MAGICVAR=y
|
||||
CONFIG_CMD_MAGICVAR_HELP=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_UNCOMPRESS=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_MIITOOL=y
|
||||
CONFIG_CMD_CLK=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_NET_DHCP=y
|
||||
CONFIG_NET_PING=y
|
||||
CONFIG_NET_RESOLV=y
|
||||
CONFIG_OFDEVICE=y
|
||||
CONFIG_DRIVER_NET_FEC_IMX=y
|
||||
CONFIG_DRIVER_SPI_IMX=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_DRIVER_CFI=y
|
||||
CONFIG_CFI_BUFFER_WRITE=y
|
||||
CONFIG_MCI=y
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
dtb-$(CONFIG_ARCH_IMX51) += imx51-babbage.dtb
|
||||
dtb-$(CONFIG_ARCH_IMX6) += imx6q-sabrelite.dtb \
|
||||
imx6q-sabresd.dtb
|
||||
|
||||
BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_NAME)).dtb.o
|
||||
obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB)
|
||||
BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB_NAME))
|
||||
obj-$(CONFIG_BUILTIN_DTB) += $(BUILTIN_DTB).dtb.o
|
||||
|
||||
.SECONDARY: $(obj)/$(BUILTIN_DTB).dtb.S
|
||||
|
||||
targets += dtbs
|
||||
targets += $(dtb-y)
|
||||
|
||||
dtbs: $(addprefix $(obj)/, $(dtb-y))
|
||||
extra-y += $(dtb-y)
|
||||
|
||||
clean-files := *.dtb *.dtb.S
|
||||
|
|
|
@ -0,0 +1,307 @@
|
|||
/*
|
||||
* Copyright 2011 Freescale Semiconductor, Inc.
|
||||
* Copyright 2011 Linaro Ltd.
|
||||
*
|
||||
* 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 "imx51.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Freescale i.MX51 Babbage Board";
|
||||
compatible = "fsl,imx51-babbage", "fsl,imx51";
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = "/soc/aips@70000000/serial@73fbc000";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x90000000 0x20000000>;
|
||||
};
|
||||
|
||||
display@di0 {
|
||||
compatible = "fsl,imx-parallel-display";
|
||||
crtcs = <&ipu 0>;
|
||||
interface-pix-fmt = "rgb24";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ipu_disp1_1>;
|
||||
};
|
||||
|
||||
display@di1 {
|
||||
compatible = "fsl,imx-parallel-display";
|
||||
crtcs = <&ipu 1>;
|
||||
interface-pix-fmt = "rgb565";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ipu_disp2_1>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
power {
|
||||
label = "Power Button";
|
||||
gpios = <&gpio2 21 0>;
|
||||
linux,code = <116>; /* KEY_POWER */
|
||||
gpio-key,wakeup;
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "fsl,imx51-babbage-sgtl5000",
|
||||
"fsl,imx-audio-sgtl5000";
|
||||
model = "imx51-babbage-sgtl5000";
|
||||
ssi-controller = <&ssi2>;
|
||||
audio-codec = <&sgtl5000>;
|
||||
audio-routing =
|
||||
"MIC_IN", "Mic Jack",
|
||||
"Mic Jack", "Mic Bias",
|
||||
"Headphone Jack", "HP_OUT";
|
||||
mux-int-port = <2>;
|
||||
mux-ext-port = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
&esdhc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_esdhc1_1>;
|
||||
fsl,cd-controller;
|
||||
fsl,wp-controller;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&esdhc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_esdhc2_1>;
|
||||
cd-gpios = <&gpio1 6 0>;
|
||||
wp-gpios = <&gpio1 5 0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3_1>;
|
||||
fsl,uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ecspi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi1_1>;
|
||||
fsl,spi-num-chipselects = <2>;
|
||||
cs-gpios = <&gpio4 24 0>, <&gpio4 25 0>;
|
||||
status = "okay";
|
||||
|
||||
pmic: mc13892@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,mc13892";
|
||||
spi-max-frequency = <6000000>;
|
||||
spi-cs-high;
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <8 0x4>;
|
||||
|
||||
regulators {
|
||||
sw1_reg: sw1 {
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1375000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw2_reg: sw2 {
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw3_reg: sw3 {
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw4_reg: sw4 {
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vpll_reg: vpll {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdig_reg: vdig {
|
||||
regulator-min-microvolt = <1650000>;
|
||||
regulator-max-microvolt = <1650000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vsd_reg: vsd {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3150000>;
|
||||
};
|
||||
|
||||
vusb2_reg: vusb2 {
|
||||
regulator-min-microvolt = <2400000>;
|
||||
regulator-max-microvolt = <2775000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vvideo_reg: vvideo {
|
||||
regulator-min-microvolt = <2775000>;
|
||||
regulator-max-microvolt = <2775000>;
|
||||
};
|
||||
|
||||
vaudio_reg: vaudio {
|
||||
regulator-min-microvolt = <2300000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
vcam_reg: vcam {
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
vgen1_reg: vgen1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
vgen2_reg: vgen2 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3150000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vgen3_reg: vgen3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2900000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
flash: at45db321d@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
|
||||
spi-max-frequency = <25000000>;
|
||||
reg = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "U-Boot";
|
||||
reg = <0x0 0x40000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
label = "Kernel";
|
||||
reg = <0x40000 0x3c0000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ssi2 {
|
||||
fsl,mode = "i2s-slave";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iim {
|
||||
barebox,provide-mac-address = <&fec 1 9>;
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
hog {
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX51_PAD_GPIO1_0__SD1_CD 0x20d5
|
||||
MX51_PAD_GPIO1_1__SD1_WP 0x20d5
|
||||
MX51_PAD_GPIO1_5__GPIO1_5 0x100
|
||||
MX51_PAD_GPIO1_6__GPIO1_6 0x100
|
||||
MX51_PAD_EIM_A27__GPIO2_21 0x5
|
||||
MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
|
||||
MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
|
||||
MX51_PAD_EIM_A20__GPIO2_14 0x85
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1_1>;
|
||||
fsl,uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2_1>;
|
||||
status = "okay";
|
||||
|
||||
sgtl5000: codec@0a {
|
||||
compatible = "fsl,sgtl5000";
|
||||
reg = <0x0a>;
|
||||
clock-frequency = <26000000>;
|
||||
VDDA-supply = <&vdig_reg>;
|
||||
VDDIO-supply = <&vvideo_reg>;
|
||||
};
|
||||
};
|
||||
|
||||
&audmux {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_audmux_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fec_1>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&kpp {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_kpp_1>;
|
||||
linux,keymap = <0x00000067 /* KEY_UP */
|
||||
0x0001006c /* KEY_DOWN */
|
||||
0x00020072 /* KEY_VOLUMEDOWN */
|
||||
0x00030066 /* KEY_HOME */
|
||||
0x0100006a /* KEY_RIGHT */
|
||||
0x01010069 /* KEY_LEFT */
|
||||
0x0102001c /* KEY_ENTER */
|
||||
0x01030073 /* KEY_VOLUMEUP */
|
||||
0x02000040 /* KEY_F6 */
|
||||
0x02010042 /* KEY_F8 */
|
||||
0x02020043 /* KEY_F9 */
|
||||
0x02030044 /* KEY_F10 */
|
||||
0x0300003b /* KEY_F1 */
|
||||
0x0301003c /* KEY_F2 */
|
||||
0x0302003d /* KEY_F3 */
|
||||
0x03030074>; /* KEY_POWER */
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,773 @@
|
|||
/*
|
||||
* Copyright 2013 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __DTS_IMX51_PINFUNC_H
|
||||
#define __DTS_IMX51_PINFUNC_H
|
||||
|
||||
/*
|
||||
* The pin function ID is a tuple of
|
||||
* <mux_reg conf_reg input_reg mux_mode input_val>
|
||||
*/
|
||||
#define MX51_PAD_EIM_D16__AUD4_RXFS 0x05c 0x3f0 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_D16__AUD5_TXD 0x05c 0x3f0 0x8d8 0x7 0x0
|
||||
#define MX51_PAD_EIM_D16__EIM_D16 0x05c 0x3f0 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D16__GPIO2_0 0x05c 0x3f0 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D16__I2C1_SDA 0x05c 0x3f0 0x9b4 0x4 0x0
|
||||
#define MX51_PAD_EIM_D16__UART2_CTS 0x05c 0x3f0 0x000 0x3 0x0
|
||||
#define MX51_PAD_EIM_D16__USBH2_DATA0 0x05c 0x3f0 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D17__AUD5_RXD 0x060 0x3f4 0x8d4 0x7 0x0
|
||||
#define MX51_PAD_EIM_D17__EIM_D17 0x060 0x3f4 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D17__GPIO2_1 0x060 0x3f4 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D17__UART2_RXD 0x060 0x3f4 0x9ec 0x3 0x0
|
||||
#define MX51_PAD_EIM_D17__UART3_CTS 0x060 0x3f4 0x000 0x4 0x0
|
||||
#define MX51_PAD_EIM_D17__USBH2_DATA1 0x060 0x3f4 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D18__AUD5_TXC 0x064 0x3f8 0x8e4 0x7 0x0
|
||||
#define MX51_PAD_EIM_D18__EIM_D18 0x064 0x3f8 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D18__GPIO2_2 0x064 0x3f8 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D18__UART2_TXD 0x064 0x3f8 0x000 0x3 0x0
|
||||
#define MX51_PAD_EIM_D18__UART3_RTS 0x064 0x3f8 0x9f0 0x4 0x1
|
||||
#define MX51_PAD_EIM_D18__USBH2_DATA2 0x064 0x3f8 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D19__AUD4_RXC 0x068 0x3fc 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_D19__AUD5_TXFS 0x068 0x3fc 0x8e8 0x7 0x0
|
||||
#define MX51_PAD_EIM_D19__EIM_D19 0x068 0x3fc 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D19__GPIO2_3 0x068 0x3fc 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D19__I2C1_SCL 0x068 0x3fc 0x9b0 0x4 0x0
|
||||
#define MX51_PAD_EIM_D19__UART2_RTS 0x068 0x3fc 0x9e8 0x3 0x1
|
||||
#define MX51_PAD_EIM_D19__USBH2_DATA3 0x068 0x3fc 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D20__AUD4_TXD 0x06c 0x400 0x8c8 0x5 0x0
|
||||
#define MX51_PAD_EIM_D20__EIM_D20 0x06c 0x400 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D20__GPIO2_4 0x06c 0x400 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D20__SRTC_ALARM_DEB 0x06c 0x400 0x000 0x4 0x0
|
||||
#define MX51_PAD_EIM_D20__USBH2_DATA4 0x06c 0x400 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D21__AUD4_RXD 0x070 0x404 0x8c4 0x5 0x0
|
||||
#define MX51_PAD_EIM_D21__EIM_D21 0x070 0x404 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D21__GPIO2_5 0x070 0x404 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D21__SRTC_ALARM_DEB 0x070 0x404 0x000 0x3 0x0
|
||||
#define MX51_PAD_EIM_D21__USBH2_DATA5 0x070 0x404 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D22__AUD4_TXC 0x074 0x408 0x8cc 0x5 0x0
|
||||
#define MX51_PAD_EIM_D22__EIM_D22 0x074 0x408 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D22__GPIO2_6 0x074 0x408 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D22__USBH2_DATA6 0x074 0x408 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D23__AUD4_TXFS 0x078 0x40c 0x8d0 0x5 0x0
|
||||
#define MX51_PAD_EIM_D23__EIM_D23 0x078 0x40c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D23__GPIO2_7 0x078 0x40c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D23__SPDIF_OUT1 0x078 0x40c 0x000 0x4 0x0
|
||||
#define MX51_PAD_EIM_D23__USBH2_DATA7 0x078 0x40c 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D24__AUD6_RXFS 0x07c 0x410 0x8f8 0x5 0x0
|
||||
#define MX51_PAD_EIM_D24__EIM_D24 0x07c 0x410 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D24__GPIO2_8 0x07c 0x410 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D24__I2C2_SDA 0x07c 0x410 0x9bc 0x4 0x0
|
||||
#define MX51_PAD_EIM_D24__UART3_CTS 0x07c 0x410 0x000 0x3 0x0
|
||||
#define MX51_PAD_EIM_D24__USBOTG_DATA0 0x07c 0x410 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D25__EIM_D25 0x080 0x414 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D25__KEY_COL6 0x080 0x414 0x9c8 0x1 0x0
|
||||
#define MX51_PAD_EIM_D25__UART2_CTS 0x080 0x414 0x000 0x4 0x0
|
||||
#define MX51_PAD_EIM_D25__UART3_RXD 0x080 0x414 0x9f4 0x3 0x0
|
||||
#define MX51_PAD_EIM_D25__USBOTG_DATA1 0x080 0x414 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D26__EIM_D26 0x084 0x418 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D26__KEY_COL7 0x084 0x418 0x9cc 0x1 0x0
|
||||
#define MX51_PAD_EIM_D26__UART2_RTS 0x084 0x418 0x9e8 0x4 0x3
|
||||
#define MX51_PAD_EIM_D26__UART3_TXD 0x084 0x418 0x000 0x3 0x0
|
||||
#define MX51_PAD_EIM_D26__USBOTG_DATA2 0x084 0x418 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D27__AUD6_RXC 0x088 0x41c 0x8f4 0x5 0x0
|
||||
#define MX51_PAD_EIM_D27__EIM_D27 0x088 0x41c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D27__GPIO2_9 0x088 0x41c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_D27__I2C2_SCL 0x088 0x41c 0x9b8 0x4 0x0
|
||||
#define MX51_PAD_EIM_D27__UART3_RTS 0x088 0x41c 0x9f0 0x3 0x3
|
||||
#define MX51_PAD_EIM_D27__USBOTG_DATA3 0x088 0x41c 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D28__AUD6_TXD 0x08c 0x420 0x8f0 0x5 0x0
|
||||
#define MX51_PAD_EIM_D28__EIM_D28 0x08c 0x420 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D28__KEY_ROW4 0x08c 0x420 0x9d0 0x1 0x0
|
||||
#define MX51_PAD_EIM_D28__USBOTG_DATA4 0x08c 0x420 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D29__AUD6_RXD 0x090 0x424 0x8ec 0x5 0x0
|
||||
#define MX51_PAD_EIM_D29__EIM_D29 0x090 0x424 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D29__KEY_ROW5 0x090 0x424 0x9d4 0x1 0x0
|
||||
#define MX51_PAD_EIM_D29__USBOTG_DATA5 0x090 0x424 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D30__AUD6_TXC 0x094 0x428 0x8fc 0x5 0x0
|
||||
#define MX51_PAD_EIM_D30__EIM_D30 0x094 0x428 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D30__KEY_ROW6 0x094 0x428 0x9d8 0x1 0x0
|
||||
#define MX51_PAD_EIM_D30__USBOTG_DATA6 0x094 0x428 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_D31__AUD6_TXFS 0x098 0x42c 0x900 0x5 0x0
|
||||
#define MX51_PAD_EIM_D31__EIM_D31 0x098 0x42c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_D31__KEY_ROW7 0x098 0x42c 0x9dc 0x1 0x0
|
||||
#define MX51_PAD_EIM_D31__USBOTG_DATA7 0x098 0x42c 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_A16__EIM_A16 0x09c 0x430 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A16__GPIO2_10 0x09c 0x430 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A16__OSC_FREQ_SEL0 0x09c 0x430 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A17__EIM_A17 0x0a0 0x434 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A17__GPIO2_11 0x0a0 0x434 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A17__OSC_FREQ_SEL1 0x0a0 0x434 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A18__BOOT_LPB0 0x0a4 0x438 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A18__EIM_A18 0x0a4 0x438 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A18__GPIO2_12 0x0a4 0x438 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A19__BOOT_LPB1 0x0a8 0x43c 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A19__EIM_A19 0x0a8 0x43c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A19__GPIO2_13 0x0a8 0x43c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A20__BOOT_UART_SRC0 0x0ac 0x440 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A20__EIM_A20 0x0ac 0x440 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A20__GPIO2_14 0x0ac 0x440 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A21__BOOT_UART_SRC1 0x0b0 0x444 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A21__EIM_A21 0x0b0 0x444 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A21__GPIO2_15 0x0b0 0x444 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A22__EIM_A22 0x0b4 0x448 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A22__GPIO2_16 0x0b4 0x448 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A23__BOOT_HPN_EN 0x0b8 0x44c 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_A23__EIM_A23 0x0b8 0x44c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A23__GPIO2_17 0x0b8 0x44c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A24__EIM_A24 0x0bc 0x450 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A24__GPIO2_18 0x0bc 0x450 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A24__USBH2_CLK 0x0bc 0x450 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_A25__DISP1_PIN4 0x0c0 0x454 0x000 0x6 0x0
|
||||
#define MX51_PAD_EIM_A25__EIM_A25 0x0c0 0x454 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A25__GPIO2_19 0x0c0 0x454 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A25__USBH2_DIR 0x0c0 0x454 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_A26__CSI1_DATA_EN 0x0c4 0x458 0x9a0 0x5 0x0
|
||||
#define MX51_PAD_EIM_A26__DISP2_EXT_CLK 0x0c4 0x458 0x908 0x6 0x0
|
||||
#define MX51_PAD_EIM_A26__EIM_A26 0x0c4 0x458 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A26__GPIO2_20 0x0c4 0x458 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A26__USBH2_STP 0x0c4 0x458 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_A27__CSI2_DATA_EN 0x0c8 0x45c 0x99c 0x5 0x0
|
||||
#define MX51_PAD_EIM_A27__DISP1_PIN1 0x0c8 0x45c 0x9a4 0x6 0x0
|
||||
#define MX51_PAD_EIM_A27__EIM_A27 0x0c8 0x45c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_A27__GPIO2_21 0x0c8 0x45c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_A27__USBH2_NXT 0x0c8 0x45c 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_EB0__EIM_EB0 0x0cc 0x460 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_EB1__EIM_EB1 0x0d0 0x464 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_EB2__AUD5_RXFS 0x0d4 0x468 0x8e0 0x6 0x0
|
||||
#define MX51_PAD_EIM_EB2__CSI1_D2 0x0d4 0x468 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_EB2__EIM_EB2 0x0d4 0x468 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_EB2__FEC_MDIO 0x0d4 0x468 0x954 0x3 0x0
|
||||
#define MX51_PAD_EIM_EB2__GPIO2_22 0x0d4 0x468 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_EB2__GPT_CMPOUT1 0x0d4 0x468 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_EB3__AUD5_RXC 0x0d8 0x46c 0x8dc 0x6 0x0
|
||||
#define MX51_PAD_EIM_EB3__CSI1_D3 0x0d8 0x46c 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_EB3__EIM_EB3 0x0d8 0x46c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_EB3__FEC_RDATA1 0x0d8 0x46c 0x95c 0x3 0x0
|
||||
#define MX51_PAD_EIM_EB3__GPIO2_23 0x0d8 0x46c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_EB3__GPT_CMPOUT2 0x0d8 0x46c 0x000 0x7 0x0
|
||||
#define MX51_PAD_EIM_OE__EIM_OE 0x0dc 0x470 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_OE__GPIO2_24 0x0dc 0x470 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS0__EIM_CS0 0x0e0 0x474 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CS0__GPIO2_25 0x0e0 0x474 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS1__EIM_CS1 0x0e4 0x478 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CS1__GPIO2_26 0x0e4 0x478 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS2__AUD5_TXD 0x0e8 0x47c 0x8d8 0x6 0x1
|
||||
#define MX51_PAD_EIM_CS2__CSI1_D4 0x0e8 0x47c 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_CS2__EIM_CS2 0x0e8 0x47c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CS2__FEC_RDATA2 0x0e8 0x47c 0x960 0x3 0x0
|
||||
#define MX51_PAD_EIM_CS2__GPIO2_27 0x0e8 0x47c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS2__USBOTG_STP 0x0e8 0x47c 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_CS3__AUD5_RXD 0x0ec 0x480 0x8d4 0x6 0x1
|
||||
#define MX51_PAD_EIM_CS3__CSI1_D5 0x0ec 0x480 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_CS3__EIM_CS3 0x0ec 0x480 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CS3__FEC_RDATA3 0x0ec 0x480 0x964 0x3 0x0
|
||||
#define MX51_PAD_EIM_CS3__GPIO2_28 0x0ec 0x480 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS3__USBOTG_NXT 0x0ec 0x480 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_CS4__AUD5_TXC 0x0f0 0x484 0x8e4 0x6 0x1
|
||||
#define MX51_PAD_EIM_CS4__CSI1_D6 0x0f0 0x484 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_CS4__EIM_CS4 0x0f0 0x484 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CS4__FEC_RX_ER 0x0f0 0x484 0x970 0x3 0x0
|
||||
#define MX51_PAD_EIM_CS4__GPIO2_29 0x0f0 0x484 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS4__USBOTG_CLK 0x0f0 0x484 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_CS5__AUD5_TXFS 0x0f4 0x488 0x8e8 0x6 0x1
|
||||
#define MX51_PAD_EIM_CS5__CSI1_D7 0x0f4 0x488 0x000 0x5 0x0
|
||||
#define MX51_PAD_EIM_CS5__DISP1_EXT_CLK 0x0f4 0x488 0x904 0x4 0x0
|
||||
#define MX51_PAD_EIM_CS5__EIM_CS5 0x0f4 0x488 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CS5__FEC_CRS 0x0f4 0x488 0x950 0x3 0x0
|
||||
#define MX51_PAD_EIM_CS5__GPIO2_30 0x0f4 0x488 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_CS5__USBOTG_DIR 0x0f4 0x488 0x000 0x2 0x0
|
||||
#define MX51_PAD_EIM_DTACK__EIM_DTACK 0x0f8 0x48c 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DTACK__GPIO2_31 0x0f8 0x48c 0x000 0x1 0x0
|
||||
#define MX51_PAD_EIM_LBA__EIM_LBA 0x0fc 0x494 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_LBA__GPIO3_1 0x0fc 0x494 0x978 0x1 0x0
|
||||
#define MX51_PAD_EIM_CRE__EIM_CRE 0x100 0x4a0 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_CRE__GPIO3_2 0x100 0x4a0 0x97c 0x1 0x0
|
||||
#define MX51_PAD_DRAM_CS1__DRAM_CS1 0x104 0x4d0 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_WE_B__GPIO3_3 0x108 0x4e4 0x980 0x3 0x0
|
||||
#define MX51_PAD_NANDF_WE_B__NANDF_WE_B 0x108 0x4e4 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_WE_B__PATA_DIOW 0x108 0x4e4 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_WE_B__SD3_DATA0 0x108 0x4e4 0x93c 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RE_B__GPIO3_4 0x10c 0x4e8 0x984 0x3 0x0
|
||||
#define MX51_PAD_NANDF_RE_B__NANDF_RE_B 0x10c 0x4e8 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_RE_B__PATA_DIOR 0x10c 0x4e8 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_RE_B__SD3_DATA1 0x10c 0x4e8 0x940 0x2 0x0
|
||||
#define MX51_PAD_NANDF_ALE__GPIO3_5 0x110 0x4ec 0x988 0x3 0x0
|
||||
#define MX51_PAD_NANDF_ALE__NANDF_ALE 0x110 0x4ec 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 0x110 0x4ec 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CLE__GPIO3_6 0x114 0x4f0 0x98c 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CLE__NANDF_CLE 0x114 0x4f0 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CLE__PATA_RESET_B 0x114 0x4f0 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_WP_B__GPIO3_7 0x118 0x4f4 0x990 0x3 0x0
|
||||
#define MX51_PAD_NANDF_WP_B__NANDF_WP_B 0x118 0x4f4 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_WP_B__PATA_DMACK 0x118 0x4f4 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_WP_B__SD3_DATA2 0x118 0x4f4 0x944 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RB0__ECSPI2_SS1 0x11c 0x4f8 0x930 0x5 0x0
|
||||
#define MX51_PAD_NANDF_RB0__GPIO3_8 0x11c 0x4f8 0x994 0x3 0x0
|
||||
#define MX51_PAD_NANDF_RB0__NANDF_RB0 0x11c 0x4f8 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_RB0__PATA_DMARQ 0x11c 0x4f8 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_RB0__SD3_DATA3 0x11c 0x4f8 0x948 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RB1__CSPI_MOSI 0x120 0x4fc 0x91c 0x6 0x0
|
||||
#define MX51_PAD_NANDF_RB1__ECSPI2_RDY 0x120 0x4fc 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RB1__GPIO3_9 0x120 0x4fc 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_RB1__NANDF_RB1 0x120 0x4fc 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_RB1__PATA_IORDY 0x120 0x4fc 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_RB1__SD4_CMD 0x120 0x4fc 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_RB2__DISP2_WAIT 0x124 0x500 0x9a8 0x5 0x0
|
||||
#define MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x124 0x500 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RB2__FEC_COL 0x124 0x500 0x94c 0x1 0x0
|
||||
#define MX51_PAD_NANDF_RB2__GPIO3_10 0x124 0x500 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_RB2__NANDF_RB2 0x124 0x500 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_RB2__USBH3_H3_DP 0x124 0x500 0x000 0x7 0x0
|
||||
#define MX51_PAD_NANDF_RB2__USBH3_NXT 0x124 0x500 0xa20 0x6 0x0
|
||||
#define MX51_PAD_NANDF_RB3__DISP1_WAIT 0x128 0x504 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x128 0x504 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x128 0x504 0x968 0x1 0x0
|
||||
#define MX51_PAD_NANDF_RB3__GPIO3_11 0x128 0x504 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_RB3__NANDF_RB3 0x128 0x504 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_RB3__USBH3_CLK 0x128 0x504 0x9f8 0x6 0x0
|
||||
#define MX51_PAD_NANDF_RB3__USBH3_H3_DM 0x128 0x504 0x000 0x7 0x0
|
||||
#define MX51_PAD_GPIO_NAND__GPIO_NAND 0x12c 0x514 0x998 0x0 0x0
|
||||
#define MX51_PAD_GPIO_NAND__PATA_INTRQ 0x12c 0x514 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS0__GPIO3_16 0x130 0x518 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS0__NANDF_CS0 0x130 0x518 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS1__GPIO3_17 0x134 0x51c 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS1__NANDF_CS1 0x134 0x51c 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS2__CSPI_SCLK 0x138 0x520 0x914 0x6 0x0
|
||||
#define MX51_PAD_NANDF_CS2__FEC_TX_ER 0x138 0x520 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_CS2__GPIO3_18 0x138 0x520 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS2__NANDF_CS2 0x138 0x520 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS2__PATA_CS_0 0x138 0x520 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS2__SD4_CLK 0x138 0x520 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_CS2__USBH3_H1_DP 0x138 0x520 0x000 0x7 0x0
|
||||
#define MX51_PAD_NANDF_CS3__FEC_MDC 0x13c 0x524 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_CS3__GPIO3_19 0x13c 0x524 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS3__NANDF_CS3 0x13c 0x524 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS3__PATA_CS_1 0x13c 0x524 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS3__SD4_DAT0 0x13c 0x524 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_CS3__USBH3_H1_DM 0x13c 0x524 0x000 0x7 0x0
|
||||
#define MX51_PAD_NANDF_CS4__FEC_TDATA1 0x140 0x528 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_CS4__GPIO3_20 0x140 0x528 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS4__NANDF_CS4 0x140 0x528 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS4__PATA_DA_0 0x140 0x528 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS4__SD4_DAT1 0x140 0x528 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_CS4__USBH3_STP 0x140 0x528 0xa24 0x7 0x0
|
||||
#define MX51_PAD_NANDF_CS5__FEC_TDATA2 0x144 0x52c 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_CS5__GPIO3_21 0x144 0x52c 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS5__NANDF_CS5 0x144 0x52c 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS5__PATA_DA_1 0x144 0x52c 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS5__SD4_DAT2 0x144 0x52c 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_CS5__USBH3_DIR 0x144 0x52c 0xa1c 0x7 0x0
|
||||
#define MX51_PAD_NANDF_CS6__CSPI_SS3 0x148 0x530 0x928 0x7 0x0
|
||||
#define MX51_PAD_NANDF_CS6__FEC_TDATA3 0x148 0x530 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_CS6__GPIO3_22 0x148 0x530 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS6__NANDF_CS6 0x148 0x530 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS6__PATA_DA_2 0x148 0x530 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS6__SD4_DAT3 0x148 0x530 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_CS7__FEC_TX_EN 0x14c 0x534 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_CS7__GPIO3_23 0x14c 0x534 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_CS7__NANDF_CS7 0x14c 0x534 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_CS7__SD3_CLK 0x14c 0x534 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_RDY_INT__ECSPI2_SS0 0x150 0x538 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 0x150 0x538 0x974 0x1 0x0
|
||||
#define MX51_PAD_NANDF_RDY_INT__GPIO3_24 0x150 0x538 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_RDY_INT__NANDF_RDY_INT 0x150 0x538 0x938 0x0 0x0
|
||||
#define MX51_PAD_NANDF_RDY_INT__SD3_CMD 0x150 0x538 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x154 0x53c 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D15__GPIO3_25 0x154 0x53c 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D15__NANDF_D15 0x154 0x53c 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D15__PATA_DATA15 0x154 0x53c 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D15__SD3_DAT7 0x154 0x53c 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D14__ECSPI2_SS3 0x158 0x540 0x934 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D14__GPIO3_26 0x158 0x540 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D14__NANDF_D14 0x158 0x540 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D14__PATA_DATA14 0x158 0x540 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D14__SD3_DAT6 0x158 0x540 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D13__ECSPI2_SS2 0x15c 0x544 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D13__GPIO3_27 0x15c 0x544 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D13__NANDF_D13 0x15c 0x544 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D13__PATA_DATA13 0x15c 0x544 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D13__SD3_DAT5 0x15c 0x544 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D12__ECSPI2_SS1 0x160 0x548 0x930 0x2 0x1
|
||||
#define MX51_PAD_NANDF_D12__GPIO3_28 0x160 0x548 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D12__NANDF_D12 0x160 0x548 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D12__PATA_DATA12 0x160 0x548 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D12__SD3_DAT4 0x160 0x548 0x000 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D11__FEC_RX_DV 0x164 0x54c 0x96c 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D11__GPIO3_29 0x164 0x54c 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D11__NANDF_D11 0x164 0x54c 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D11__PATA_DATA11 0x164 0x54c 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D11__SD3_DATA3 0x164 0x54c 0x948 0x5 0x1
|
||||
#define MX51_PAD_NANDF_D10__GPIO3_30 0x168 0x550 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D10__NANDF_D10 0x168 0x550 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D10__PATA_DATA10 0x168 0x550 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D10__SD3_DATA2 0x168 0x550 0x944 0x5 0x1
|
||||
#define MX51_PAD_NANDF_D9__FEC_RDATA0 0x16c 0x554 0x958 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D9__GPIO3_31 0x16c 0x554 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D9__NANDF_D9 0x16c 0x554 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D9__PATA_DATA9 0x16c 0x554 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D9__SD3_DATA1 0x16c 0x554 0x940 0x5 0x1
|
||||
#define MX51_PAD_NANDF_D8__FEC_TDATA0 0x170 0x558 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D8__GPIO4_0 0x170 0x558 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D8__NANDF_D8 0x170 0x558 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D8__PATA_DATA8 0x170 0x558 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D8__SD3_DATA0 0x170 0x558 0x93c 0x5 0x1
|
||||
#define MX51_PAD_NANDF_D7__GPIO4_1 0x174 0x55c 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D7__NANDF_D7 0x174 0x55c 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D7__PATA_DATA7 0x174 0x55c 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D7__USBH3_DATA0 0x174 0x55c 0x9fc 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D6__GPIO4_2 0x178 0x560 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D6__NANDF_D6 0x178 0x560 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D6__PATA_DATA6 0x178 0x560 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D6__SD4_LCTL 0x178 0x560 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D6__USBH3_DATA1 0x178 0x560 0xa00 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D5__GPIO4_3 0x17c 0x564 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D5__NANDF_D5 0x17c 0x564 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D5__PATA_DATA5 0x17c 0x564 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D5__SD4_WP 0x17c 0x564 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D5__USBH3_DATA2 0x17c 0x564 0xa04 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D4__GPIO4_4 0x180 0x568 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D4__NANDF_D4 0x180 0x568 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D4__PATA_DATA4 0x180 0x568 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D4__SD4_CD 0x180 0x568 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D4__USBH3_DATA3 0x180 0x568 0xa08 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D3__GPIO4_5 0x184 0x56c 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D3__NANDF_D3 0x184 0x56c 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D3__PATA_DATA3 0x184 0x56c 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D3__SD4_DAT4 0x184 0x56c 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D3__USBH3_DATA4 0x184 0x56c 0xa0c 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D2__GPIO4_6 0x188 0x570 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D2__NANDF_D2 0x188 0x570 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D2__PATA_DATA2 0x188 0x570 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D2__SD4_DAT5 0x188 0x570 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D2__USBH3_DATA5 0x188 0x570 0xa10 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D1__GPIO4_7 0x18c 0x574 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D1__NANDF_D1 0x18c 0x574 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D1__PATA_DATA1 0x18c 0x574 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D1__SD4_DAT6 0x18c 0x574 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D1__USBH3_DATA6 0x18c 0x574 0xa14 0x5 0x0
|
||||
#define MX51_PAD_NANDF_D0__GPIO4_8 0x190 0x578 0x000 0x3 0x0
|
||||
#define MX51_PAD_NANDF_D0__NANDF_D0 0x190 0x578 0x000 0x0 0x0
|
||||
#define MX51_PAD_NANDF_D0__PATA_DATA0 0x190 0x578 0x000 0x1 0x0
|
||||
#define MX51_PAD_NANDF_D0__SD4_DAT7 0x190 0x578 0x000 0x2 0x0
|
||||
#define MX51_PAD_NANDF_D0__USBH3_DATA7 0x190 0x578 0xa18 0x5 0x0
|
||||
#define MX51_PAD_CSI1_D8__CSI1_D8 0x194 0x57c 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D8__GPIO3_12 0x194 0x57c 0x998 0x3 0x1
|
||||
#define MX51_PAD_CSI1_D9__CSI1_D9 0x198 0x580 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D9__GPIO3_13 0x198 0x580 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI1_D10__CSI1_D10 0x19c 0x584 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D11__CSI1_D11 0x1a0 0x588 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D12__CSI1_D12 0x1a4 0x58c 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D13__CSI1_D13 0x1a8 0x590 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D14__CSI1_D14 0x1ac 0x594 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D15__CSI1_D15 0x1b0 0x598 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D16__CSI1_D16 0x1b4 0x59c 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D17__CSI1_D17 0x1b8 0x5a0 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D18__CSI1_D18 0x1bc 0x5a4 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_D19__CSI1_D19 0x1c0 0x5a8 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_VSYNC__CSI1_VSYNC 0x1c4 0x5ac 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_VSYNC__GPIO3_14 0x1c4 0x5ac 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI1_HSYNC__CSI1_HSYNC 0x1c8 0x5b0 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_HSYNC__GPIO3_15 0x1c8 0x5b0 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI1_PIXCLK__CSI1_PIXCLK 0x000 0x5b4 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI1_MCLK__CSI1_MCLK 0x000 0x5b8 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D12__CSI2_D12 0x1cc 0x5bc 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D12__GPIO4_9 0x1cc 0x5bc 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI2_D13__CSI2_D13 0x1d0 0x5c0 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D13__GPIO4_10 0x1d0 0x5c0 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI2_D14__CSI2_D14 0x1d4 0x5c4 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D15__CSI2_D15 0x1d8 0x5c8 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D16__CSI2_D16 0x1dc 0x5cc 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D17__CSI2_D17 0x1e0 0x5d0 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D18__CSI2_D18 0x1e4 0x5d4 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D18__GPIO4_11 0x1e4 0x5d4 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI2_D19__CSI2_D19 0x1e8 0x5d8 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_D19__GPIO4_12 0x1e8 0x5d8 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI2_VSYNC__CSI2_VSYNC 0x1ec 0x5dc 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_VSYNC__GPIO4_13 0x1ec 0x5dc 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI2_HSYNC__CSI2_HSYNC 0x1f0 0x5e0 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_HSYNC__GPIO4_14 0x1f0 0x5e0 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSI2_PIXCLK__CSI2_PIXCLK 0x1f4 0x5e4 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSI2_PIXCLK__GPIO4_15 0x1f4 0x5e4 0x000 0x3 0x0
|
||||
#define MX51_PAD_I2C1_CLK__GPIO4_16 0x1f8 0x5e8 0x000 0x3 0x0
|
||||
#define MX51_PAD_I2C1_CLK__I2C1_CLK 0x1f8 0x5e8 0x000 0x0 0x0
|
||||
#define MX51_PAD_I2C1_DAT__GPIO4_17 0x1fc 0x5ec 0x000 0x3 0x0
|
||||
#define MX51_PAD_I2C1_DAT__I2C1_DAT 0x1fc 0x5ec 0x000 0x0 0x0
|
||||
#define MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x200 0x5f0 0x000 0x0 0x0
|
||||
#define MX51_PAD_AUD3_BB_TXD__GPIO4_18 0x200 0x5f0 0x000 0x3 0x0
|
||||
#define MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x204 0x5f4 0x000 0x0 0x0
|
||||
#define MX51_PAD_AUD3_BB_RXD__GPIO4_19 0x204 0x5f4 0x000 0x3 0x0
|
||||
#define MX51_PAD_AUD3_BB_RXD__UART3_RXD 0x204 0x5f4 0x9f4 0x1 0x2
|
||||
#define MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x208 0x5f8 0x000 0x0 0x0
|
||||
#define MX51_PAD_AUD3_BB_CK__GPIO4_20 0x208 0x5f8 0x000 0x3 0x0
|
||||
#define MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x20c 0x5fc 0x000 0x0 0x0
|
||||
#define MX51_PAD_AUD3_BB_FS__GPIO4_21 0x20c 0x5fc 0x000 0x3 0x0
|
||||
#define MX51_PAD_AUD3_BB_FS__UART3_TXD 0x20c 0x5fc 0x000 0x1 0x0
|
||||
#define MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x210 0x600 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSPI1_MOSI__GPIO4_22 0x210 0x600 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSPI1_MOSI__I2C1_SDA 0x210 0x600 0x9b4 0x1 0x1
|
||||
#define MX51_PAD_CSPI1_MISO__AUD4_RXD 0x214 0x604 0x8c4 0x1 0x1
|
||||
#define MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x214 0x604 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSPI1_MISO__GPIO4_23 0x214 0x604 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSPI1_SS0__AUD4_TXC 0x218 0x608 0x8cc 0x1 0x1
|
||||
#define MX51_PAD_CSPI1_SS0__ECSPI1_SS0 0x218 0x608 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSPI1_SS0__GPIO4_24 0x218 0x608 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSPI1_SS1__AUD4_TXD 0x21c 0x60c 0x8c8 0x1 0x1
|
||||
#define MX51_PAD_CSPI1_SS1__ECSPI1_SS1 0x21c 0x60c 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSPI1_SS1__GPIO4_25 0x21c 0x60c 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSPI1_RDY__AUD4_TXFS 0x220 0x610 0x8d0 0x1 0x1
|
||||
#define MX51_PAD_CSPI1_RDY__ECSPI1_RDY 0x220 0x610 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSPI1_RDY__GPIO4_26 0x220 0x610 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x224 0x614 0x000 0x0 0x0
|
||||
#define MX51_PAD_CSPI1_SCLK__GPIO4_27 0x224 0x614 0x000 0x3 0x0
|
||||
#define MX51_PAD_CSPI1_SCLK__I2C1_SCL 0x224 0x614 0x9b0 0x1 0x1
|
||||
#define MX51_PAD_UART1_RXD__GPIO4_28 0x228 0x618 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART1_RXD__UART1_RXD 0x228 0x618 0x9e4 0x0 0x0
|
||||
#define MX51_PAD_UART1_TXD__GPIO4_29 0x22c 0x61c 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART1_TXD__PWM2_PWMO 0x22c 0x61c 0x000 0x1 0x0
|
||||
#define MX51_PAD_UART1_TXD__UART1_TXD 0x22c 0x61c 0x000 0x0 0x0
|
||||
#define MX51_PAD_UART1_RTS__GPIO4_30 0x230 0x620 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART1_RTS__UART1_RTS 0x230 0x620 0x9e0 0x0 0x0
|
||||
#define MX51_PAD_UART1_CTS__GPIO4_31 0x234 0x624 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART1_CTS__UART1_CTS 0x234 0x624 0x000 0x0 0x0
|
||||
#define MX51_PAD_UART2_RXD__FIRI_TXD 0x238 0x628 0x000 0x1 0x0
|
||||
#define MX51_PAD_UART2_RXD__GPIO1_20 0x238 0x628 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART2_RXD__UART2_RXD 0x238 0x628 0x9ec 0x0 0x2
|
||||
#define MX51_PAD_UART2_TXD__FIRI_RXD 0x23c 0x62c 0x000 0x1 0x0
|
||||
#define MX51_PAD_UART2_TXD__GPIO1_21 0x23c 0x62c 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART2_TXD__UART2_TXD 0x23c 0x62c 0x000 0x0 0x0
|
||||
#define MX51_PAD_UART3_RXD__CSI1_D0 0x240 0x630 0x000 0x2 0x0
|
||||
#define MX51_PAD_UART3_RXD__GPIO1_22 0x240 0x630 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART3_RXD__UART1_DTR 0x240 0x630 0x000 0x0 0x0
|
||||
#define MX51_PAD_UART3_RXD__UART3_RXD 0x240 0x630 0x9f4 0x1 0x4
|
||||
#define MX51_PAD_UART3_TXD__CSI1_D1 0x244 0x634 0x000 0x2 0x0
|
||||
#define MX51_PAD_UART3_TXD__GPIO1_23 0x244 0x634 0x000 0x3 0x0
|
||||
#define MX51_PAD_UART3_TXD__UART1_DSR 0x244 0x634 0x000 0x0 0x0
|
||||
#define MX51_PAD_UART3_TXD__UART3_TXD 0x244 0x634 0x000 0x1 0x0
|
||||
#define MX51_PAD_OWIRE_LINE__GPIO1_24 0x248 0x638 0x000 0x3 0x0
|
||||
#define MX51_PAD_OWIRE_LINE__OWIRE_LINE 0x248 0x638 0x000 0x0 0x0
|
||||
#define MX51_PAD_OWIRE_LINE__SPDIF_OUT 0x248 0x638 0x000 0x6 0x0
|
||||
#define MX51_PAD_KEY_ROW0__KEY_ROW0 0x24c 0x63c 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_ROW1__KEY_ROW1 0x250 0x640 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_ROW2__KEY_ROW2 0x254 0x644 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_ROW3__KEY_ROW3 0x258 0x648 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL0__KEY_COL0 0x25c 0x64c 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL0__PLL1_BYP 0x25c 0x64c 0x90c 0x7 0x0
|
||||
#define MX51_PAD_KEY_COL1__KEY_COL1 0x260 0x650 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL1__PLL2_BYP 0x260 0x650 0x910 0x7 0x0
|
||||
#define MX51_PAD_KEY_COL2__KEY_COL2 0x264 0x654 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL2__PLL3_BYP 0x264 0x654 0x000 0x7 0x0
|
||||
#define MX51_PAD_KEY_COL3__KEY_COL3 0x268 0x658 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL4__I2C2_SCL 0x26c 0x65c 0x9b8 0x3 0x1
|
||||
#define MX51_PAD_KEY_COL4__KEY_COL4 0x26c 0x65c 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL4__SPDIF_OUT1 0x26c 0x65c 0x000 0x6 0x0
|
||||
#define MX51_PAD_KEY_COL4__UART1_RI 0x26c 0x65c 0x000 0x1 0x0
|
||||
#define MX51_PAD_KEY_COL4__UART3_RTS 0x26c 0x65c 0x9f0 0x2 0x4
|
||||
#define MX51_PAD_KEY_COL5__I2C2_SDA 0x270 0x660 0x9bc 0x3 0x1
|
||||
#define MX51_PAD_KEY_COL5__KEY_COL5 0x270 0x660 0x000 0x0 0x0
|
||||
#define MX51_PAD_KEY_COL5__UART1_DCD 0x270 0x660 0x000 0x1 0x0
|
||||
#define MX51_PAD_KEY_COL5__UART3_CTS 0x270 0x660 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_CLK__CSPI_SCLK 0x278 0x678 0x914 0x1 0x1
|
||||
#define MX51_PAD_USBH1_CLK__GPIO1_25 0x278 0x678 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_CLK__I2C2_SCL 0x278 0x678 0x9b8 0x5 0x2
|
||||
#define MX51_PAD_USBH1_CLK__USBH1_CLK 0x278 0x678 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DIR__CSPI_MOSI 0x27c 0x67c 0x91c 0x1 0x1
|
||||
#define MX51_PAD_USBH1_DIR__GPIO1_26 0x27c 0x67c 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DIR__I2C2_SDA 0x27c 0x67c 0x9bc 0x5 0x2
|
||||
#define MX51_PAD_USBH1_DIR__USBH1_DIR 0x27c 0x67c 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_STP__CSPI_RDY 0x280 0x680 0x000 0x1 0x0
|
||||
#define MX51_PAD_USBH1_STP__GPIO1_27 0x280 0x680 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_STP__UART3_RXD 0x280 0x680 0x9f4 0x5 0x6
|
||||
#define MX51_PAD_USBH1_STP__USBH1_STP 0x280 0x680 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_NXT__CSPI_MISO 0x284 0x684 0x918 0x1 0x0
|
||||
#define MX51_PAD_USBH1_NXT__GPIO1_28 0x284 0x684 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_NXT__UART3_TXD 0x284 0x684 0x000 0x5 0x0
|
||||
#define MX51_PAD_USBH1_NXT__USBH1_NXT 0x284 0x684 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA0__GPIO1_11 0x288 0x688 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA0__UART2_CTS 0x288 0x688 0x000 0x1 0x0
|
||||
#define MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x288 0x688 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA1__GPIO1_12 0x28c 0x68c 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA1__UART2_RXD 0x28c 0x68c 0x9ec 0x1 0x4
|
||||
#define MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x28c 0x68c 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA2__GPIO1_13 0x290 0x690 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA2__UART2_TXD 0x290 0x690 0x000 0x1 0x0
|
||||
#define MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x290 0x690 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA3__GPIO1_14 0x294 0x694 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA3__UART2_RTS 0x294 0x694 0x9e8 0x1 0x5
|
||||
#define MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x294 0x694 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA4__CSPI_SS0 0x298 0x698 0x000 0x1 0x0
|
||||
#define MX51_PAD_USBH1_DATA4__GPIO1_15 0x298 0x698 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x298 0x698 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA5__CSPI_SS1 0x29c 0x69c 0x920 0x1 0x0
|
||||
#define MX51_PAD_USBH1_DATA5__GPIO1_16 0x29c 0x69c 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x29c 0x69c 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA6__CSPI_SS3 0x2a0 0x6a0 0x928 0x1 0x1
|
||||
#define MX51_PAD_USBH1_DATA6__GPIO1_17 0x2a0 0x6a0 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x2a0 0x6a0 0x000 0x0 0x0
|
||||
#define MX51_PAD_USBH1_DATA7__ECSPI1_SS3 0x2a4 0x6a4 0x000 0x1 0x0
|
||||
#define MX51_PAD_USBH1_DATA7__ECSPI2_SS3 0x2a4 0x6a4 0x934 0x5 0x1
|
||||
#define MX51_PAD_USBH1_DATA7__GPIO1_18 0x2a4 0x6a4 0x000 0x2 0x0
|
||||
#define MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x2a4 0x6a4 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_PIN11__DI1_PIN11 0x2a8 0x6a8 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_PIN11__ECSPI1_SS2 0x2a8 0x6a8 0x000 0x7 0x0
|
||||
#define MX51_PAD_DI1_PIN11__GPIO3_0 0x2a8 0x6a8 0x000 0x4 0x0
|
||||
#define MX51_PAD_DI1_PIN12__DI1_PIN12 0x2ac 0x6ac 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_PIN12__GPIO3_1 0x2ac 0x6ac 0x978 0x4 0x1
|
||||
#define MX51_PAD_DI1_PIN13__DI1_PIN13 0x2b0 0x6b0 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_PIN13__GPIO3_2 0x2b0 0x6b0 0x97c 0x4 0x1
|
||||
#define MX51_PAD_DI1_D0_CS__DI1_D0_CS 0x2b4 0x6b4 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_D0_CS__GPIO3_3 0x2b4 0x6b4 0x980 0x4 0x1
|
||||
#define MX51_PAD_DI1_D1_CS__DI1_D1_CS 0x2b8 0x6b8 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_D1_CS__DISP1_PIN14 0x2b8 0x6b8 0x000 0x2 0x0
|
||||
#define MX51_PAD_DI1_D1_CS__DISP1_PIN5 0x2b8 0x6b8 0x000 0x3 0x0
|
||||
#define MX51_PAD_DI1_D1_CS__GPIO3_4 0x2b8 0x6b8 0x984 0x4 0x1
|
||||
#define MX51_PAD_DISPB2_SER_DIN__DISP1_PIN1 0x2bc 0x6bc 0x9a4 0x2 0x1
|
||||
#define MX51_PAD_DISPB2_SER_DIN__DISPB2_SER_DIN 0x2bc 0x6bc 0x9c4 0x0 0x0
|
||||
#define MX51_PAD_DISPB2_SER_DIN__GPIO3_5 0x2bc 0x6bc 0x988 0x4 0x1
|
||||
#define MX51_PAD_DISPB2_SER_DIO__DISP1_PIN6 0x2c0 0x6c0 0x000 0x3 0x0
|
||||
#define MX51_PAD_DISPB2_SER_DIO__DISPB2_SER_DIO 0x2c0 0x6c0 0x9c4 0x0 0x1
|
||||
#define MX51_PAD_DISPB2_SER_DIO__GPIO3_6 0x2c0 0x6c0 0x98c 0x4 0x1
|
||||
#define MX51_PAD_DISPB2_SER_CLK__DISP1_PIN17 0x2c4 0x6c4 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISPB2_SER_CLK__DISP1_PIN7 0x2c4 0x6c4 0x000 0x3 0x0
|
||||
#define MX51_PAD_DISPB2_SER_CLK__DISPB2_SER_CLK 0x2c4 0x6c4 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISPB2_SER_CLK__GPIO3_7 0x2c4 0x6c4 0x990 0x4 0x1
|
||||
#define MX51_PAD_DISPB2_SER_RS__DISP1_EXT_CLK 0x2c8 0x6c8 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISPB2_SER_RS__DISP1_PIN16 0x2c8 0x6c8 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISPB2_SER_RS__DISP1_PIN8 0x2c8 0x6c8 0x000 0x3 0x0
|
||||
#define MX51_PAD_DISPB2_SER_RS__DISPB2_SER_RS 0x2c8 0x6c8 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISPB2_SER_RS__GPIO3_8 0x2c8 0x6c8 0x994 0x4 0x1
|
||||
#define MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x2cc 0x6cc 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x2d0 0x6d0 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x2d4 0x6d4 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x2d8 0x6d8 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x2dc 0x6dc 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x2e0 0x6e0 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT6__BOOT_USB_SRC 0x2e4 0x6e4 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x2e4 0x6e4 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT7__BOOT_EEPROM_CFG 0x2e8 0x6e8 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x2e8 0x6e8 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT8__BOOT_SRC0 0x2ec 0x6ec 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x2ec 0x6ec 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT9__BOOT_SRC1 0x2f0 0x6f0 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x2f0 0x6f0 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT10__BOOT_SPARE_SIZE 0x2f4 0x6f4 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x2f4 0x6f4 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT11__BOOT_LPB_FREQ2 0x2f8 0x6f8 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x2f8 0x6f8 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT12__BOOT_MLC_SEL 0x2fc 0x6fc 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x2fc 0x6fc 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT13__BOOT_MEM_CTL0 0x300 0x700 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x300 0x700 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT14__BOOT_MEM_CTL1 0x304 0x704 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x304 0x704 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT15__BOOT_BUS_WIDTH 0x308 0x708 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x308 0x708 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT16__BOOT_PAGE_SIZE0 0x30c 0x70c 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x30c 0x70c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT17__BOOT_PAGE_SIZE1 0x310 0x710 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x310 0x710 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT18__BOOT_WEIM_MUXED0 0x314 0x714 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x314 0x714 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT18__DISP2_PIN11 0x314 0x714 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP1_DAT18__DISP2_PIN5 0x314 0x714 0x000 0x4 0x0
|
||||
#define MX51_PAD_DISP1_DAT19__BOOT_WEIM_MUXED1 0x318 0x718 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x318 0x718 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT19__DISP2_PIN12 0x318 0x718 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP1_DAT19__DISP2_PIN6 0x318 0x718 0x000 0x4 0x0
|
||||
#define MX51_PAD_DISP1_DAT20__BOOT_MEM_TYPE0 0x31c 0x71c 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x31c 0x71c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT20__DISP2_PIN13 0x31c 0x71c 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP1_DAT20__DISP2_PIN7 0x31c 0x71c 0x000 0x4 0x0
|
||||
#define MX51_PAD_DISP1_DAT21__BOOT_MEM_TYPE1 0x320 0x720 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x320 0x720 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT21__DISP2_PIN14 0x320 0x720 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP1_DAT21__DISP2_PIN8 0x320 0x720 0x000 0x4 0x0
|
||||
#define MX51_PAD_DISP1_DAT22__BOOT_LPB_FREQ0 0x324 0x724 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x324 0x724 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT22__DISP2_D0_CS 0x324 0x724 0x000 0x6 0x0
|
||||
#define MX51_PAD_DISP1_DAT22__DISP2_DAT16 0x324 0x724 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP1_DAT23__BOOT_LPB_FREQ1 0x328 0x728 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x328 0x728 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP1_DAT23__DISP2_D1_CS 0x328 0x728 0x000 0x6 0x0
|
||||
#define MX51_PAD_DISP1_DAT23__DISP2_DAT17 0x328 0x728 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP1_DAT23__DISP2_SER_CS 0x328 0x728 0x000 0x4 0x0
|
||||
#define MX51_PAD_DI1_PIN3__DI1_PIN3 0x32c 0x72c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI1_PIN2__DI1_PIN2 0x330 0x734 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI_GP2__DISP1_SER_CLK 0x338 0x740 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI_GP2__DISP2_WAIT 0x338 0x740 0x9a8 0x2 0x1
|
||||
#define MX51_PAD_DI_GP3__CSI1_DATA_EN 0x33c 0x744 0x9a0 0x3 0x1
|
||||
#define MX51_PAD_DI_GP3__DISP1_SER_DIO 0x33c 0x744 0x9c0 0x0 0x0
|
||||
#define MX51_PAD_DI_GP3__FEC_TX_ER 0x33c 0x744 0x000 0x2 0x0
|
||||
#define MX51_PAD_DI2_PIN4__CSI2_DATA_EN 0x340 0x748 0x99c 0x3 0x1
|
||||
#define MX51_PAD_DI2_PIN4__DI2_PIN4 0x340 0x748 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI2_PIN4__FEC_CRS 0x340 0x748 0x950 0x2 0x1
|
||||
#define MX51_PAD_DI2_PIN2__DI2_PIN2 0x344 0x74c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI2_PIN2__FEC_MDC 0x344 0x74c 0x000 0x2 0x0
|
||||
#define MX51_PAD_DI2_PIN3__DI2_PIN3 0x348 0x750 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI2_PIN3__FEC_MDIO 0x348 0x750 0x954 0x2 0x1
|
||||
#define MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x34c 0x754 0x000 0x0 0x0
|
||||
#define MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x34c 0x754 0x95c 0x2 0x1
|
||||
#define MX51_PAD_DI_GP4__DI2_PIN15 0x350 0x758 0x000 0x4 0x0
|
||||
#define MX51_PAD_DI_GP4__DISP1_SER_DIN 0x350 0x758 0x9c0 0x0 0x1
|
||||
#define MX51_PAD_DI_GP4__DISP2_PIN1 0x350 0x758 0x000 0x3 0x0
|
||||
#define MX51_PAD_DI_GP4__FEC_RDATA2 0x350 0x758 0x960 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT0__DISP2_DAT0 0x354 0x75c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x354 0x75c 0x964 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT0__KEY_COL6 0x354 0x75c 0x9c8 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT0__UART3_RXD 0x354 0x75c 0x9f4 0x5 0x8
|
||||
#define MX51_PAD_DISP2_DAT0__USBH3_CLK 0x354 0x75c 0x9f8 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT1__DISP2_DAT1 0x358 0x760 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x358 0x760 0x970 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT1__KEY_COL7 0x358 0x760 0x9cc 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT1__UART3_TXD 0x358 0x760 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT1__USBH3_DIR 0x358 0x760 0xa1c 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT2__DISP2_DAT2 0x35c 0x764 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT3__DISP2_DAT3 0x360 0x768 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT4__DISP2_DAT4 0x364 0x76c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT5__DISP2_DAT5 0x368 0x770 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT6__DISP2_DAT6 0x36c 0x774 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x36c 0x774 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISP2_DAT6__GPIO1_19 0x36c 0x774 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT6__KEY_ROW4 0x36c 0x774 0x9d0 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT6__USBH3_STP 0x36c 0x774 0xa24 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT7__DISP2_DAT7 0x370 0x778 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x370 0x778 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISP2_DAT7__GPIO1_29 0x370 0x778 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT7__KEY_ROW5 0x370 0x778 0x9d4 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT7__USBH3_NXT 0x370 0x778 0xa20 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT8__DISP2_DAT8 0x374 0x77c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x374 0x77c 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISP2_DAT8__GPIO1_30 0x374 0x77c 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT8__KEY_ROW6 0x374 0x77c 0x9d8 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT8__USBH3_DATA0 0x374 0x77c 0x9fc 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT9__AUD6_RXC 0x378 0x780 0x8f4 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT9__DISP2_DAT9 0x378 0x780 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x378 0x780 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISP2_DAT9__GPIO1_31 0x378 0x780 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT9__USBH3_DATA1 0x378 0x780 0xa00 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT10__DISP2_DAT10 0x37c 0x784 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT10__DISP2_SER_CS 0x37c 0x784 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT10__FEC_COL 0x37c 0x784 0x94c 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT10__KEY_ROW7 0x37c 0x784 0x9dc 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT10__USBH3_DATA2 0x37c 0x784 0xa04 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT11__AUD6_TXD 0x380 0x788 0x8f0 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT11__DISP2_DAT11 0x380 0x788 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x380 0x788 0x968 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT11__GPIO1_10 0x380 0x788 0x000 0x7 0x0
|
||||
#define MX51_PAD_DISP2_DAT11__USBH3_DATA3 0x380 0x788 0xa08 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT12__AUD6_RXD 0x384 0x78c 0x8ec 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT12__DISP2_DAT12 0x384 0x78c 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x384 0x78c 0x96c 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT12__USBH3_DATA4 0x384 0x78c 0xa0c 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT13__AUD6_TXC 0x388 0x790 0x8fc 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT13__DISP2_DAT13 0x388 0x790 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x388 0x790 0x974 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT13__USBH3_DATA5 0x388 0x790 0xa10 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT14__AUD6_TXFS 0x38c 0x794 0x900 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT14__DISP2_DAT14 0x38c 0x794 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x38c 0x794 0x958 0x2 0x1
|
||||
#define MX51_PAD_DISP2_DAT14__USBH3_DATA6 0x38c 0x794 0xa14 0x3 0x1
|
||||
#define MX51_PAD_DISP2_DAT15__AUD6_RXFS 0x390 0x798 0x8f8 0x4 0x1
|
||||
#define MX51_PAD_DISP2_DAT15__DISP1_SER_CS 0x390 0x798 0x000 0x5 0x0
|
||||
#define MX51_PAD_DISP2_DAT15__DISP2_DAT15 0x390 0x798 0x000 0x0 0x0
|
||||
#define MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x390 0x798 0x000 0x2 0x0
|
||||
#define MX51_PAD_DISP2_DAT15__USBH3_DATA7 0x390 0x798 0xa18 0x3 0x1
|
||||
#define MX51_PAD_SD1_CMD__AUD5_RXFS 0x394 0x79c 0x8e0 0x1 0x1
|
||||
#define MX51_PAD_SD1_CMD__CSPI_MOSI 0x394 0x79c 0x91c 0x2 0x2
|
||||
#define MX51_PAD_SD1_CMD__SD1_CMD 0x394 0x79c 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD1_CLK__AUD5_RXC 0x398 0x7a0 0x8dc 0x1 0x1
|
||||
#define MX51_PAD_SD1_CLK__CSPI_SCLK 0x398 0x7a0 0x914 0x2 0x2
|
||||
#define MX51_PAD_SD1_CLK__SD1_CLK 0x398 0x7a0 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD1_DATA0__AUD5_TXD 0x39c 0x7a4 0x8d8 0x1 0x2
|
||||
#define MX51_PAD_SD1_DATA0__CSPI_MISO 0x39c 0x7a4 0x918 0x2 0x1
|
||||
#define MX51_PAD_SD1_DATA0__SD1_DATA0 0x39c 0x7a4 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA0__EIM_DA0 0x01c 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA1__EIM_DA1 0x020 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA2__EIM_DA2 0x024 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA3__EIM_DA3 0x028 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD1_DATA1__AUD5_RXD 0x3a0 0x7a8 0x8d4 0x1 0x2
|
||||
#define MX51_PAD_SD1_DATA1__SD1_DATA1 0x3a0 0x7a8 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA4__EIM_DA4 0x02c 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA5__EIM_DA5 0x030 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA6__EIM_DA6 0x034 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA7__EIM_DA7 0x038 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD1_DATA2__AUD5_TXC 0x3a4 0x7ac 0x8e4 0x1 0x2
|
||||
#define MX51_PAD_SD1_DATA2__SD1_DATA2 0x3a4 0x7ac 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA10__EIM_DA10 0x044 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA11__EIM_DA11 0x048 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA8__EIM_DA8 0x03c 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA9__EIM_DA9 0x040 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD1_DATA3__AUD5_TXFS 0x3a8 0x7b0 0x8e8 0x1 0x2
|
||||
#define MX51_PAD_SD1_DATA3__CSPI_SS1 0x3a8 0x7b0 0x920 0x2 0x1
|
||||
#define MX51_PAD_SD1_DATA3__SD1_DATA3 0x3a8 0x7b0 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_0__CSPI_SS2 0x3ac 0x7b4 0x924 0x2 0x0
|
||||
#define MX51_PAD_GPIO1_0__GPIO1_0 0x3ac 0x7b4 0x000 0x1 0x0
|
||||
#define MX51_PAD_GPIO1_0__SD1_CD 0x3ac 0x7b4 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_1__CSPI_MISO 0x3b0 0x7b8 0x918 0x2 0x2
|
||||
#define MX51_PAD_GPIO1_1__GPIO1_1 0x3b0 0x7b8 0x000 0x1 0x0
|
||||
#define MX51_PAD_GPIO1_1__SD1_WP 0x3b0 0x7b8 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA12__EIM_DA12 0x04c 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA13__EIM_DA13 0x050 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA14__EIM_DA14 0x054 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_EIM_DA15__EIM_DA15 0x058 0x000 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD2_CMD__CSPI_MOSI 0x3b4 0x7bc 0x91c 0x2 0x3
|
||||
#define MX51_PAD_SD2_CMD__I2C1_SCL 0x3b4 0x7bc 0x9b0 0x1 0x2
|
||||
#define MX51_PAD_SD2_CMD__SD2_CMD 0x3b4 0x7bc 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD2_CLK__CSPI_SCLK 0x3b8 0x7c0 0x914 0x2 0x3
|
||||
#define MX51_PAD_SD2_CLK__I2C1_SDA 0x3b8 0x7c0 0x9b4 0x1 0x2
|
||||
#define MX51_PAD_SD2_CLK__SD2_CLK 0x3b8 0x7c0 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD2_DATA0__CSPI_MISO 0x3bc 0x7c4 0x918 0x2 0x3
|
||||
#define MX51_PAD_SD2_DATA0__SD1_DAT4 0x3bc 0x7c4 0x000 0x1 0x0
|
||||
#define MX51_PAD_SD2_DATA0__SD2_DATA0 0x3bc 0x7c4 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD2_DATA1__SD1_DAT5 0x3c0 0x7c8 0x000 0x1 0x0
|
||||
#define MX51_PAD_SD2_DATA1__SD2_DATA1 0x3c0 0x7c8 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD2_DATA1__USBH3_H2_DP 0x3c0 0x7c8 0x000 0x2 0x0
|
||||
#define MX51_PAD_SD2_DATA2__SD1_DAT6 0x3c4 0x7cc 0x000 0x1 0x0
|
||||
#define MX51_PAD_SD2_DATA2__SD2_DATA2 0x3c4 0x7cc 0x000 0x0 0x0
|
||||
#define MX51_PAD_SD2_DATA2__USBH3_H2_DM 0x3c4 0x7cc 0x000 0x2 0x0
|
||||
#define MX51_PAD_SD2_DATA3__CSPI_SS2 0x3c8 0x7d0 0x924 0x2 0x1
|
||||
#define MX51_PAD_SD2_DATA3__SD1_DAT7 0x3c8 0x7d0 0x000 0x1 0x0
|
||||
#define MX51_PAD_SD2_DATA3__SD2_DATA3 0x3c8 0x7d0 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_2__CCM_OUT_2 0x3cc 0x7d4 0x000 0x5 0x0
|
||||
#define MX51_PAD_GPIO1_2__GPIO1_2 0x3cc 0x7d4 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_2__I2C2_SCL 0x3cc 0x7d4 0x9b8 0x2 0x3
|
||||
#define MX51_PAD_GPIO1_2__PLL1_BYP 0x3cc 0x7d4 0x90c 0x7 0x1
|
||||
#define MX51_PAD_GPIO1_2__PWM1_PWMO 0x3cc 0x7d4 0x000 0x1 0x0
|
||||
#define MX51_PAD_GPIO1_3__GPIO1_3 0x3d0 0x7d8 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_3__I2C2_SDA 0x3d0 0x7d8 0x9bc 0x2 0x3
|
||||
#define MX51_PAD_GPIO1_3__PLL2_BYP 0x3d0 0x7d8 0x910 0x7 0x1
|
||||
#define MX51_PAD_GPIO1_3__PWM2_PWMO 0x3d0 0x7d8 0x000 0x1 0x0
|
||||
#define MX51_PAD_PMIC_INT_REQ__PMIC_INT_REQ 0x3d4 0x7fc 0x000 0x0 0x0
|
||||
#define MX51_PAD_PMIC_INT_REQ__PMIC_PMU_IRQ_B 0x3d4 0x7fc 0x000 0x1 0x0
|
||||
#define MX51_PAD_GPIO1_4__DISP2_EXT_CLK 0x3d8 0x804 0x908 0x4 0x1
|
||||
#define MX51_PAD_GPIO1_4__EIM_RDY 0x3d8 0x804 0x938 0x3 0x1
|
||||
#define MX51_PAD_GPIO1_4__GPIO1_4 0x3d8 0x804 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_4__WDOG1_WDOG_B 0x3d8 0x804 0x000 0x2 0x0
|
||||
#define MX51_PAD_GPIO1_5__CSI2_MCLK 0x3dc 0x808 0x000 0x6 0x0
|
||||
#define MX51_PAD_GPIO1_5__DISP2_PIN16 0x3dc 0x808 0x000 0x3 0x0
|
||||
#define MX51_PAD_GPIO1_5__GPIO1_5 0x3dc 0x808 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_5__WDOG2_WDOG_B 0x3dc 0x808 0x000 0x2 0x0
|
||||
#define MX51_PAD_GPIO1_6__DISP2_PIN17 0x3e0 0x80c 0x000 0x4 0x0
|
||||
#define MX51_PAD_GPIO1_6__GPIO1_6 0x3e0 0x80c 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_6__REF_EN_B 0x3e0 0x80c 0x000 0x3 0x0
|
||||
#define MX51_PAD_GPIO1_7__CCM_OUT_0 0x3e4 0x810 0x000 0x3 0x0
|
||||
#define MX51_PAD_GPIO1_7__GPIO1_7 0x3e4 0x810 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_7__SD2_WP 0x3e4 0x810 0x000 0x6 0x0
|
||||
#define MX51_PAD_GPIO1_7__SPDIF_OUT1 0x3e4 0x810 0x000 0x2 0x0
|
||||
#define MX51_PAD_GPIO1_8__CSI2_DATA_EN 0x3e8 0x814 0x99c 0x2 0x2
|
||||
#define MX51_PAD_GPIO1_8__GPIO1_8 0x3e8 0x814 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_8__SD2_CD 0x3e8 0x814 0x000 0x6 0x0
|
||||
#define MX51_PAD_GPIO1_8__USBH3_PWR 0x3e8 0x814 0x000 0x1 0x0
|
||||
#define MX51_PAD_GPIO1_9__CCM_OUT_1 0x3ec 0x818 0x000 0x3 0x0
|
||||
#define MX51_PAD_GPIO1_9__DISP2_D1_CS 0x3ec 0x818 0x000 0x2 0x0
|
||||
#define MX51_PAD_GPIO1_9__DISP2_SER_CS 0x3ec 0x818 0x000 0x7 0x0
|
||||
#define MX51_PAD_GPIO1_9__GPIO1_9 0x3ec 0x818 0x000 0x0 0x0
|
||||
#define MX51_PAD_GPIO1_9__SD2_LCTL 0x3ec 0x818 0x000 0x6 0x0
|
||||
#define MX51_PAD_GPIO1_9__USBH3_OC 0x3ec 0x818 0x000 0x1 0x0
|
||||
|
||||
#endif /* __DTS_IMX51_PINFUNC_H */
|
|
@ -0,0 +1,723 @@
|
|||
/*
|
||||
* Copyright 2011 Freescale Semiconductor, Inc.
|
||||
* Copyright 2011 Linaro Ltd.
|
||||
*
|
||||
* 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 "skeleton.dtsi"
|
||||
#include "imx51-pinfunc.h"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &uart1;
|
||||
serial1 = &uart2;
|
||||
serial2 = &uart3;
|
||||
gpio0 = &gpio1;
|
||||
gpio1 = &gpio2;
|
||||
gpio2 = &gpio3;
|
||||
gpio3 = &gpio4;
|
||||
mmc0 = &esdhc1;
|
||||
mmc1 = &esdhc2;
|
||||
mmc2 = &esdhc3;
|
||||
mmc3 = &esdhc4;
|
||||
};
|
||||
|
||||
tzic: tz-interrupt-controller@e0000000 {
|
||||
compatible = "fsl,imx51-tzic", "fsl,tzic";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
reg = <0xe0000000 0x4000>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ckil {
|
||||
compatible = "fsl,imx-ckil", "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
ckih1 {
|
||||
compatible = "fsl,imx-ckih1", "fixed-clock";
|
||||
clock-frequency = <22579200>;
|
||||
};
|
||||
|
||||
ckih2 {
|
||||
compatible = "fsl,imx-ckih2", "fixed-clock";
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
osc {
|
||||
compatible = "fsl,imx-osc", "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a8";
|
||||
reg = <0>;
|
||||
clock-latency = <61036>; /* two CLK32 periods */
|
||||
clocks = <&clks 24>;
|
||||
clock-names = "cpu";
|
||||
operating-points = <
|
||||
/* kHz uV (No regulator support) */
|
||||
160000 0
|
||||
800000 0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&tzic>;
|
||||
ranges;
|
||||
|
||||
ipu: ipu@40000000 {
|
||||
#crtc-cells = <1>;
|
||||
compatible = "fsl,imx51-ipu";
|
||||
reg = <0x40000000 0x20000000>;
|
||||
interrupts = <11 10>;
|
||||
clocks = <&clks 59>, <&clks 110>, <&clks 61>;
|
||||
clock-names = "bus", "di0", "di1";
|
||||
resets = <&src 2>;
|
||||
};
|
||||
|
||||
aips@70000000 { /* AIPS1 */
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x70000000 0x10000000>;
|
||||
ranges;
|
||||
|
||||
spba@70000000 {
|
||||
compatible = "fsl,spba-bus", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x70000000 0x40000>;
|
||||
ranges;
|
||||
|
||||
esdhc1: esdhc@70004000 {
|
||||
compatible = "fsl,imx51-esdhc";
|
||||
reg = <0x70004000 0x4000>;
|
||||
interrupts = <1>;
|
||||
clocks = <&clks 44>, <&clks 0>, <&clks 71>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
esdhc2: esdhc@70008000 {
|
||||
compatible = "fsl,imx51-esdhc";
|
||||
reg = <0x70008000 0x4000>;
|
||||
interrupts = <2>;
|
||||
clocks = <&clks 45>, <&clks 0>, <&clks 72>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart3: serial@7000c000 {
|
||||
compatible = "fsl,imx51-uart", "fsl,imx21-uart";
|
||||
reg = <0x7000c000 0x4000>;
|
||||
interrupts = <33>;
|
||||
clocks = <&clks 32>, <&clks 33>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ecspi1: ecspi@70010000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx51-ecspi";
|
||||
reg = <0x70010000 0x4000>;
|
||||
interrupts = <36>;
|
||||
clocks = <&clks 51>, <&clks 52>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ssi2: ssi@70014000 {
|
||||
compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
|
||||
reg = <0x70014000 0x4000>;
|
||||
interrupts = <30>;
|
||||
clocks = <&clks 49>;
|
||||
fsl,fifo-depth = <15>;
|
||||
fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
esdhc3: esdhc@70020000 {
|
||||
compatible = "fsl,imx51-esdhc";
|
||||
reg = <0x70020000 0x4000>;
|
||||
interrupts = <3>;
|
||||
clocks = <&clks 46>, <&clks 0>, <&clks 73>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
esdhc4: esdhc@70024000 {
|
||||
compatible = "fsl,imx51-esdhc";
|
||||
reg = <0x70024000 0x4000>;
|
||||
interrupts = <4>;
|
||||
clocks = <&clks 47>, <&clks 0>, <&clks 74>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
usbotg: usb@73f80000 {
|
||||
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
|
||||
reg = <0x73f80000 0x0200>;
|
||||
interrupts = <18>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh1: usb@73f80200 {
|
||||
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
|
||||
reg = <0x73f80200 0x0200>;
|
||||
interrupts = <14>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh2: usb@73f80400 {
|
||||
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
|
||||
reg = <0x73f80400 0x0200>;
|
||||
interrupts = <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh3: usb@73f80600 {
|
||||
compatible = "fsl,imx51-usb", "fsl,imx27-usb";
|
||||
reg = <0x73f80600 0x0200>;
|
||||
interrupts = <17>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio1: gpio@73f84000 {
|
||||
compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x73f84000 0x4000>;
|
||||
interrupts = <50 51>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio2: gpio@73f88000 {
|
||||
compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x73f88000 0x4000>;
|
||||
interrupts = <52 53>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio3: gpio@73f8c000 {
|
||||
compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x73f8c000 0x4000>;
|
||||
interrupts = <54 55>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio4: gpio@73f90000 {
|
||||
compatible = "fsl,imx51-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x73f90000 0x4000>;
|
||||
interrupts = <56 57>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
kpp: kpp@73f94000 {
|
||||
compatible = "fsl,imx51-kpp", "fsl,imx21-kpp";
|
||||
reg = <0x73f94000 0x4000>;
|
||||
interrupts = <60>;
|
||||
clocks = <&clks 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdog1: wdog@73f98000 {
|
||||
compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
|
||||
reg = <0x73f98000 0x4000>;
|
||||
interrupts = <58>;
|
||||
clocks = <&clks 0>;
|
||||
};
|
||||
|
||||
wdog2: wdog@73f9c000 {
|
||||
compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
|
||||
reg = <0x73f9c000 0x4000>;
|
||||
interrupts = <59>;
|
||||
clocks = <&clks 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpt: timer@73fa0000 {
|
||||
compatible = "fsl,imx51-gpt", "fsl,imx31-gpt";
|
||||
reg = <0x73fa0000 0x4000>;
|
||||
interrupts = <39>;
|
||||
clocks = <&clks 36>, <&clks 41>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
|
||||
iomuxc: iomuxc@73fa8000 {
|
||||
compatible = "fsl,imx51-iomuxc";
|
||||
reg = <0x73fa8000 0x4000>;
|
||||
|
||||
audmux {
|
||||
pinctrl_audmux_1: audmuxgrp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0x80000000
|
||||
MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x80000000
|
||||
MX51_PAD_AUD3_BB_CK__AUD3_TXC 0x80000000
|
||||
MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
fec {
|
||||
pinctrl_fec_1: fecgrp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_EIM_EB2__FEC_MDIO 0x000001f5
|
||||
MX51_PAD_EIM_EB3__FEC_RDATA1 0x00000085
|
||||
MX51_PAD_EIM_CS2__FEC_RDATA2 0x00000085
|
||||
MX51_PAD_EIM_CS3__FEC_RDATA3 0x00000085
|
||||
MX51_PAD_EIM_CS4__FEC_RX_ER 0x00000180
|
||||
MX51_PAD_EIM_CS5__FEC_CRS 0x00000180
|
||||
MX51_PAD_NANDF_RB2__FEC_COL 0x00000180
|
||||
MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x00000180
|
||||
MX51_PAD_NANDF_D9__FEC_RDATA0 0x00002180
|
||||
MX51_PAD_NANDF_D8__FEC_TDATA0 0x00002004
|
||||
MX51_PAD_NANDF_CS2__FEC_TX_ER 0x00002004
|
||||
MX51_PAD_NANDF_CS3__FEC_MDC 0x00002004
|
||||
MX51_PAD_NANDF_CS4__FEC_TDATA1 0x00002004
|
||||
MX51_PAD_NANDF_CS5__FEC_TDATA2 0x00002004
|
||||
MX51_PAD_NANDF_CS6__FEC_TDATA3 0x00002004
|
||||
MX51_PAD_NANDF_CS7__FEC_TX_EN 0x00002004
|
||||
MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK 0x00002180
|
||||
MX51_PAD_NANDF_D11__FEC_RX_DV 0x000020a4
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_fec_2: fecgrp-2 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_DI_GP3__FEC_TX_ER 0x80000000
|
||||
MX51_PAD_DI2_PIN4__FEC_CRS 0x80000000
|
||||
MX51_PAD_DI2_PIN2__FEC_MDC 0x80000000
|
||||
MX51_PAD_DI2_PIN3__FEC_MDIO 0x80000000
|
||||
MX51_PAD_DI2_DISP_CLK__FEC_RDATA1 0x80000000
|
||||
MX51_PAD_DI_GP4__FEC_RDATA2 0x80000000
|
||||
MX51_PAD_DISP2_DAT0__FEC_RDATA3 0x80000000
|
||||
MX51_PAD_DISP2_DAT1__FEC_RX_ER 0x80000000
|
||||
MX51_PAD_DISP2_DAT6__FEC_TDATA1 0x80000000
|
||||
MX51_PAD_DISP2_DAT7__FEC_TDATA2 0x80000000
|
||||
MX51_PAD_DISP2_DAT8__FEC_TDATA3 0x80000000
|
||||
MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x80000000
|
||||
MX51_PAD_DISP2_DAT10__FEC_COL 0x80000000
|
||||
MX51_PAD_DISP2_DAT11__FEC_RX_CLK 0x80000000
|
||||
MX51_PAD_DISP2_DAT12__FEC_RX_DV 0x80000000
|
||||
MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x80000000
|
||||
MX51_PAD_DISP2_DAT14__FEC_RDATA0 0x80000000
|
||||
MX51_PAD_DISP2_DAT15__FEC_TDATA0 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ecspi1 {
|
||||
pinctrl_ecspi1_1: ecspi1grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
|
||||
MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
|
||||
MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ecspi2 {
|
||||
pinctrl_ecspi2_1: ecspi2grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x185
|
||||
MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x185
|
||||
MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x185
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
esdhc1 {
|
||||
pinctrl_esdhc1_1: esdhc1grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
|
||||
MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
|
||||
MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
|
||||
MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
|
||||
MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
|
||||
MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
esdhc2 {
|
||||
pinctrl_esdhc2_1: esdhc2grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_SD2_CMD__SD2_CMD 0x400020d5
|
||||
MX51_PAD_SD2_CLK__SD2_CLK 0x20d5
|
||||
MX51_PAD_SD2_DATA0__SD2_DATA0 0x20d5
|
||||
MX51_PAD_SD2_DATA1__SD2_DATA1 0x20d5
|
||||
MX51_PAD_SD2_DATA2__SD2_DATA2 0x20d5
|
||||
MX51_PAD_SD2_DATA3__SD2_DATA3 0x20d5
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c2 {
|
||||
pinctrl_i2c2_1: i2c2grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
|
||||
MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2_2: i2c2grp-2 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_EIM_D27__I2C2_SCL 0x400001ed
|
||||
MX51_PAD_EIM_D24__I2C2_SDA 0x400001ed
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ipu_disp1 {
|
||||
pinctrl_ipu_disp1_1: ipudisp1grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
|
||||
MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
|
||||
MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
|
||||
MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
|
||||
MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
|
||||
MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
|
||||
MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
|
||||
MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
|
||||
MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
|
||||
MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
|
||||
MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
|
||||
MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
|
||||
MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
|
||||
MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
|
||||
MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
|
||||
MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
|
||||
MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
|
||||
MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
|
||||
MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
|
||||
MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
|
||||
MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
|
||||
MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
|
||||
MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
|
||||
MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
|
||||
MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 /* hsync */
|
||||
MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 /* vsync */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ipu_disp2 {
|
||||
pinctrl_ipu_disp2_1: ipudisp2grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_DISP2_DAT0__DISP2_DAT0 0x5
|
||||
MX51_PAD_DISP2_DAT1__DISP2_DAT1 0x5
|
||||
MX51_PAD_DISP2_DAT2__DISP2_DAT2 0x5
|
||||
MX51_PAD_DISP2_DAT3__DISP2_DAT3 0x5
|
||||
MX51_PAD_DISP2_DAT4__DISP2_DAT4 0x5
|
||||
MX51_PAD_DISP2_DAT5__DISP2_DAT5 0x5
|
||||
MX51_PAD_DISP2_DAT6__DISP2_DAT6 0x5
|
||||
MX51_PAD_DISP2_DAT7__DISP2_DAT7 0x5
|
||||
MX51_PAD_DISP2_DAT8__DISP2_DAT8 0x5
|
||||
MX51_PAD_DISP2_DAT9__DISP2_DAT9 0x5
|
||||
MX51_PAD_DISP2_DAT10__DISP2_DAT10 0x5
|
||||
MX51_PAD_DISP2_DAT11__DISP2_DAT11 0x5
|
||||
MX51_PAD_DISP2_DAT12__DISP2_DAT12 0x5
|
||||
MX51_PAD_DISP2_DAT13__DISP2_DAT13 0x5
|
||||
MX51_PAD_DISP2_DAT14__DISP2_DAT14 0x5
|
||||
MX51_PAD_DISP2_DAT15__DISP2_DAT15 0x5
|
||||
MX51_PAD_DI2_PIN2__DI2_PIN2 0x5 /* hsync */
|
||||
MX51_PAD_DI2_PIN3__DI2_PIN3 0x5 /* vsync */
|
||||
MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5
|
||||
MX51_PAD_DI_GP4__DI2_PIN15 0x5
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
pata {
|
||||
pinctrl_pata_1: patagrp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_NANDF_WE_B__PATA_DIOW 0x2004
|
||||
MX51_PAD_NANDF_RE_B__PATA_DIOR 0x2004
|
||||
MX51_PAD_NANDF_ALE__PATA_BUFFER_EN 0x2004
|
||||
MX51_PAD_NANDF_CLE__PATA_RESET_B 0x2004
|
||||
MX51_PAD_NANDF_WP_B__PATA_DMACK 0x2004
|
||||
MX51_PAD_NANDF_RB0__PATA_DMARQ 0x2004
|
||||
MX51_PAD_NANDF_RB1__PATA_IORDY 0x2004
|
||||
MX51_PAD_GPIO_NAND__PATA_INTRQ 0x2004
|
||||
MX51_PAD_NANDF_CS2__PATA_CS_0 0x2004
|
||||
MX51_PAD_NANDF_CS3__PATA_CS_1 0x2004
|
||||
MX51_PAD_NANDF_CS4__PATA_DA_0 0x2004
|
||||
MX51_PAD_NANDF_CS5__PATA_DA_1 0x2004
|
||||
MX51_PAD_NANDF_CS6__PATA_DA_2 0x2004
|
||||
MX51_PAD_NANDF_D15__PATA_DATA15 0x2004
|
||||
MX51_PAD_NANDF_D14__PATA_DATA14 0x2004
|
||||
MX51_PAD_NANDF_D13__PATA_DATA13 0x2004
|
||||
MX51_PAD_NANDF_D12__PATA_DATA12 0x2004
|
||||
MX51_PAD_NANDF_D11__PATA_DATA11 0x2004
|
||||
MX51_PAD_NANDF_D10__PATA_DATA10 0x2004
|
||||
MX51_PAD_NANDF_D9__PATA_DATA9 0x2004
|
||||
MX51_PAD_NANDF_D8__PATA_DATA8 0x2004
|
||||
MX51_PAD_NANDF_D7__PATA_DATA7 0x2004
|
||||
MX51_PAD_NANDF_D6__PATA_DATA6 0x2004
|
||||
MX51_PAD_NANDF_D5__PATA_DATA5 0x2004
|
||||
MX51_PAD_NANDF_D4__PATA_DATA4 0x2004
|
||||
MX51_PAD_NANDF_D3__PATA_DATA3 0x2004
|
||||
MX51_PAD_NANDF_D2__PATA_DATA2 0x2004
|
||||
MX51_PAD_NANDF_D1__PATA_DATA1 0x2004
|
||||
MX51_PAD_NANDF_D0__PATA_DATA0 0x2004
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart1 {
|
||||
pinctrl_uart1_1: uart1grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
|
||||
MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
|
||||
MX51_PAD_UART1_RTS__UART1_RTS 0x1c5
|
||||
MX51_PAD_UART1_CTS__UART1_CTS 0x1c5
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart2 {
|
||||
pinctrl_uart2_1: uart2grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_UART2_RXD__UART2_RXD 0x1c5
|
||||
MX51_PAD_UART2_TXD__UART2_TXD 0x1c5
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart3 {
|
||||
pinctrl_uart3_1: uart3grp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_EIM_D25__UART3_RXD 0x1c5
|
||||
MX51_PAD_EIM_D26__UART3_TXD 0x1c5
|
||||
MX51_PAD_EIM_D27__UART3_RTS 0x1c5
|
||||
MX51_PAD_EIM_D24__UART3_CTS 0x1c5
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart3_2: uart3grp-2 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_UART3_RXD__UART3_RXD 0x1c5
|
||||
MX51_PAD_UART3_TXD__UART3_TXD 0x1c5
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
kpp {
|
||||
pinctrl_kpp_1: kppgrp-1 {
|
||||
fsl,pins = <
|
||||
MX51_PAD_KEY_ROW0__KEY_ROW0 0xe0
|
||||
MX51_PAD_KEY_ROW1__KEY_ROW1 0xe0
|
||||
MX51_PAD_KEY_ROW2__KEY_ROW2 0xe0
|
||||
MX51_PAD_KEY_ROW3__KEY_ROW3 0xe0
|
||||
MX51_PAD_KEY_COL0__KEY_COL0 0xe8
|
||||
MX51_PAD_KEY_COL1__KEY_COL1 0xe8
|
||||
MX51_PAD_KEY_COL2__KEY_COL2 0xe8
|
||||
MX51_PAD_KEY_COL3__KEY_COL3 0xe8
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm1: pwm@73fb4000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x73fb4000 0x4000>;
|
||||
clocks = <&clks 37>, <&clks 38>;
|
||||
clock-names = "ipg", "per";
|
||||
interrupts = <61>;
|
||||
};
|
||||
|
||||
pwm2: pwm@73fb8000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx51-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x73fb8000 0x4000>;
|
||||
clocks = <&clks 39>, <&clks 40>;
|
||||
clock-names = "ipg", "per";
|
||||
interrupts = <94>;
|
||||
};
|
||||
|
||||
uart1: serial@73fbc000 {
|
||||
compatible = "fsl,imx51-uart", "fsl,imx21-uart";
|
||||
reg = <0x73fbc000 0x4000>;
|
||||
interrupts = <31>;
|
||||
clocks = <&clks 28>, <&clks 29>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@73fc0000 {
|
||||
compatible = "fsl,imx51-uart", "fsl,imx21-uart";
|
||||
reg = <0x73fc0000 0x4000>;
|
||||
interrupts = <32>;
|
||||
clocks = <&clks 30>, <&clks 31>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
src: src@73fd0000 {
|
||||
compatible = "fsl,imx51-src";
|
||||
reg = <0x73fd0000 0x4000>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
clks: ccm@73fd4000{
|
||||
compatible = "fsl,imx51-ccm";
|
||||
reg = <0x73fd4000 0x4000>;
|
||||
interrupts = <0 71 0x04 0 72 0x04>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
aips@80000000 { /* AIPS2 */
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x80000000 0x10000000>;
|
||||
ranges;
|
||||
|
||||
iim: iim@83f98000 {
|
||||
compatible = "fsl,imx51-iim", "fsl,imx-iim";
|
||||
reg = <0x83f98000 0x4000>;
|
||||
interrupts = <69>;
|
||||
clocks = <&clks 107>;
|
||||
};
|
||||
|
||||
ecspi2: ecspi@83fac000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx51-ecspi";
|
||||
reg = <0x83fac000 0x4000>;
|
||||
interrupts = <37>;
|
||||
clocks = <&clks 53>, <&clks 54>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdma: sdma@83fb0000 {
|
||||
compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
|
||||
reg = <0x83fb0000 0x4000>;
|
||||
interrupts = <6>;
|
||||
clocks = <&clks 56>, <&clks 56>;
|
||||
clock-names = "ipg", "ahb";
|
||||
fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
|
||||
};
|
||||
|
||||
cspi: cspi@83fc0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
|
||||
reg = <0x83fc0000 0x4000>;
|
||||
interrupts = <38>;
|
||||
clocks = <&clks 55>, <&clks 0>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@83fc4000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
|
||||
reg = <0x83fc4000 0x4000>;
|
||||
interrupts = <63>;
|
||||
clocks = <&clks 35>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@83fc8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx51-i2c", "fsl,imx21-i2c";
|
||||
reg = <0x83fc8000 0x4000>;
|
||||
interrupts = <62>;
|
||||
clocks = <&clks 34>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ssi1: ssi@83fcc000 {
|
||||
compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
|
||||
reg = <0x83fcc000 0x4000>;
|
||||
interrupts = <29>;
|
||||
clocks = <&clks 48>;
|
||||
fsl,fifo-depth = <15>;
|
||||
fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
audmux: audmux@83fd0000 {
|
||||
compatible = "fsl,imx51-audmux", "fsl,imx31-audmux";
|
||||
reg = <0x83fd0000 0x4000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
nfc: nand@83fdb000 {
|
||||
compatible = "fsl,imx51-nand";
|
||||
reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>;
|
||||
interrupts = <8>;
|
||||
clocks = <&clks 60>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pata: pata@83fe0000 {
|
||||
compatible = "fsl,imx51-pata", "fsl,imx27-pata";
|
||||
reg = <0x83fe0000 0x4000>;
|
||||
interrupts = <70>;
|
||||
clocks = <&clks 161>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ssi3: ssi@83fe8000 {
|
||||
compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";
|
||||
reg = <0x83fe8000 0x4000>;
|
||||
interrupts = <96>;
|
||||
clocks = <&clks 50>;
|
||||
fsl,fifo-depth = <15>;
|
||||
fsl,ssi-dma-events = <47 46 37 35>; /* TX0 RX0 TX1 RX1 */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
fec: ethernet@83fec000 {
|
||||
compatible = "fsl,imx51-fec", "fsl,imx27-fec";
|
||||
reg = <0x83fec000 0x4000>;
|
||||
interrupts = <87>;
|
||||
clocks = <&clks 42>, <&clks 42>, <&clks 42>;
|
||||
clock-names = "ipg", "ahb", "ptp";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,174 @@
|
|||
/*
|
||||
* Copyright 2011 Freescale Semiconductor, Inc.
|
||||
* Copyright 2011 Linaro Ltd.
|
||||
*
|
||||
* 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 = "Freescale i.MX6 Quad SABRE Lite Board";
|
||||
compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = "/soc/aips-bus@02100000/serial@021e8000";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x10000000 0x40000000>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
|
||||
reg_2p5v: 2p5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "2P5V";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: 3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_usb_otg_vbus: usb_otg_vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio3 22 0>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "fsl,imx6q-sabrelite-sgtl5000",
|
||||
"fsl,imx-audio-sgtl5000";
|
||||
model = "imx6q-sabrelite-sgtl5000";
|
||||
ssi-controller = <&ssi1>;
|
||||
audio-codec = <&codec>;
|
||||
audio-routing =
|
||||
"MIC_IN", "Mic Jack",
|
||||
"Mic Jack", "Mic Bias",
|
||||
"Headphone Jack", "HP_OUT";
|
||||
mux-int-port = <1>;
|
||||
mux-ext-port = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&ecspi1 {
|
||||
fsl,spi-num-chipselects = <1>;
|
||||
cs-gpios = <&gpio3 19 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi1_1>;
|
||||
status = "okay";
|
||||
|
||||
flash: m25p80@0 {
|
||||
compatible = "sst,sst25vf016b", "m25p80";
|
||||
spi-max-frequency = <20000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&ssi1 {
|
||||
fsl,mode = "i2s-slave";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
hog {
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_NANDF_D6__GPIO2_IO06 0x80000000
|
||||
MX6Q_PAD_NANDF_D7__GPIO2_IO07 0x80000000
|
||||
MX6Q_PAD_EIM_D19__GPIO3_IO19 0x80000000
|
||||
MX6Q_PAD_EIM_D22__GPIO3_IO22 0x80000000
|
||||
MX6Q_PAD_EIM_D23__GPIO3_IO23 0x80000000
|
||||
MX6Q_PAD_SD3_DAT5__GPIO7_IO00 0x80000000
|
||||
MX6Q_PAD_SD3_DAT4__GPIO7_IO01 0x1f0b0
|
||||
MX6Q_PAD_GPIO_0__CCM_CLKO1 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usbotg {
|
||||
vbus-supply = <®_usb_otg_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg_1>;
|
||||
disable-over-current;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbh1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_enet_1>;
|
||||
phy-mode = "rgmii";
|
||||
phy-reset-gpios = <&gpio3 23 0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3_2>;
|
||||
cd-gpios = <&gpio7 0 0>;
|
||||
wp-gpios = <&gpio7 1 0>;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc4_2>;
|
||||
cd-gpios = <&gpio2 6 0>;
|
||||
wp-gpios = <&gpio2 7 0>;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&audmux {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_audmux_1>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2_1>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1_1>;
|
||||
|
||||
codec: sgtl5000@0a {
|
||||
compatible = "fsl,sgtl5000";
|
||||
reg = <0x0a>;
|
||||
clocks = <&clks 169>;
|
||||
VDDA-supply = <®_2p5v>;
|
||||
VDDIO-supply = <®_3p3v>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright 2012 Freescale Semiconductor, Inc.
|
||||
* Copyright 2011 Linaro Ltd.
|
||||
*
|
||||
* 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"
|
||||
#include "imx6qdl-sabresd.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Freescale i.MX6 Quad SABRE Smart Device Board";
|
||||
compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
|
||||
|
||||
chosen {
|
||||
linux,stdout-path = "/soc/aips-bus@02000000/spba-bus@02000000/serial@02020000";
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
hog {
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_GPIO_4__GPIO1_IO04 0x80000000
|
||||
MX6Q_PAD_GPIO_5__GPIO1_IO05 0x80000000
|
||||
MX6Q_PAD_NANDF_D0__GPIO2_IO00 0x80000000
|
||||
MX6Q_PAD_NANDF_D1__GPIO2_IO01 0x80000000
|
||||
MX6Q_PAD_NANDF_D2__GPIO2_IO02 0x80000000
|
||||
MX6Q_PAD_NANDF_D3__GPIO2_IO03 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,358 @@
|
|||
|
||||
/*
|
||||
* Copyright 2013 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "imx6qdl.dtsi"
|
||||
#include "imx6q-pinfunc.h"
|
||||
|
||||
/ {
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <0>;
|
||||
next-level-cache = <&L2>;
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
1200000 1275000
|
||||
996000 1250000
|
||||
792000 1150000
|
||||
396000 950000
|
||||
>;
|
||||
clock-latency = <61036>; /* two CLK32 periods */
|
||||
clocks = <&clks 104>, <&clks 6>, <&clks 16>,
|
||||
<&clks 17>, <&clks 170>;
|
||||
clock-names = "arm", "pll2_pfd2_396m", "step",
|
||||
"pll1_sw", "pll1_sys";
|
||||
arm-supply = <®_arm>;
|
||||
pu-supply = <®_pu>;
|
||||
soc-supply = <®_soc>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <1>;
|
||||
next-level-cache = <&L2>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <2>;
|
||||
next-level-cache = <&L2>;
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
compatible = "arm,cortex-a9";
|
||||
reg = <3>;
|
||||
next-level-cache = <&L2>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
aips-bus@02000000 { /* AIPS1 */
|
||||
spba-bus@02000000 {
|
||||
ecspi5: ecspi@02018000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
|
||||
reg = <0x02018000 0x4000>;
|
||||
interrupts = <0 35 0x04>;
|
||||
clocks = <&clks 116>, <&clks 116>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
iomuxc: iomuxc@020e0000 {
|
||||
compatible = "fsl,imx6q-iomuxc";
|
||||
reg = <0x020e0000 0x4000>;
|
||||
|
||||
/* shared pinctrl settings */
|
||||
audmux {
|
||||
pinctrl_audmux_1: audmux-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD2_DAT0__AUD4_RXD 0x80000000
|
||||
MX6Q_PAD_SD2_DAT3__AUD4_TXC 0x80000000
|
||||
MX6Q_PAD_SD2_DAT2__AUD4_TXD 0x80000000
|
||||
MX6Q_PAD_SD2_DAT1__AUD4_TXFS 0x80000000
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_audmux_2: audmux-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_CSI0_DAT7__AUD3_RXD 0x80000000
|
||||
MX6Q_PAD_CSI0_DAT4__AUD3_TXC 0x80000000
|
||||
MX6Q_PAD_CSI0_DAT5__AUD3_TXD 0x80000000
|
||||
MX6Q_PAD_CSI0_DAT6__AUD3_TXFS 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ecspi1 {
|
||||
pinctrl_ecspi1_1: ecspi1grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_EIM_D17__ECSPI1_MISO 0x100b1
|
||||
MX6Q_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
|
||||
MX6Q_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
ecspi3 {
|
||||
pinctrl_ecspi3_1: ecspi3grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1
|
||||
MX6Q_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1
|
||||
MX6Q_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
enet {
|
||||
pinctrl_enet_1: enetgrp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
|
||||
MX6Q_PAD_ENET_MDC__ENET_MDC 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
|
||||
MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
|
||||
MX6Q_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_enet_2: enetgrp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_KEY_COL1__ENET_MDIO 0x1b0b0
|
||||
MX6Q_PAD_KEY_COL2__ENET_MDC 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
|
||||
MX6Q_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
|
||||
MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
|
||||
MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
gpmi-nand {
|
||||
pinctrl_gpmi_nand_1: gpmi-nand-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_NANDF_CLE__NAND_CLE 0xb0b1
|
||||
MX6Q_PAD_NANDF_ALE__NAND_ALE 0xb0b1
|
||||
MX6Q_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
|
||||
MX6Q_PAD_NANDF_RB0__NAND_READY_B 0xb000
|
||||
MX6Q_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
|
||||
MX6Q_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
|
||||
MX6Q_PAD_NANDF_CS2__NAND_CE2_B 0xb0b1
|
||||
MX6Q_PAD_NANDF_CS3__NAND_CE3_B 0xb0b1
|
||||
MX6Q_PAD_SD4_CMD__NAND_RE_B 0xb0b1
|
||||
MX6Q_PAD_SD4_CLK__NAND_WE_B 0xb0b1
|
||||
MX6Q_PAD_NANDF_D0__NAND_DATA00 0xb0b1
|
||||
MX6Q_PAD_NANDF_D1__NAND_DATA01 0xb0b1
|
||||
MX6Q_PAD_NANDF_D2__NAND_DATA02 0xb0b1
|
||||
MX6Q_PAD_NANDF_D3__NAND_DATA03 0xb0b1
|
||||
MX6Q_PAD_NANDF_D4__NAND_DATA04 0xb0b1
|
||||
MX6Q_PAD_NANDF_D5__NAND_DATA05 0xb0b1
|
||||
MX6Q_PAD_NANDF_D6__NAND_DATA06 0xb0b1
|
||||
MX6Q_PAD_NANDF_D7__NAND_DATA07 0xb0b1
|
||||
MX6Q_PAD_SD4_DAT0__NAND_DQS 0x00b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c1 {
|
||||
pinctrl_i2c1_1: i2c1grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
|
||||
MX6Q_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c2 {
|
||||
pinctrl_i2c2_1: i2c2grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
|
||||
MX6Q_PAD_EIM_D16__I2C2_SDA 0x4001b8b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c3 {
|
||||
pinctrl_i2c3_1: i2c3grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
|
||||
MX6Q_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart1 {
|
||||
pinctrl_uart1_1: uart1grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
|
||||
MX6Q_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart2 {
|
||||
pinctrl_uart2_1: uart2grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
|
||||
MX6Q_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
uart4 {
|
||||
pinctrl_uart4_1: uart4grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
|
||||
MX6Q_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
usbotg {
|
||||
pinctrl_usbotg_1: usbotggrp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_GPIO_1__USB_OTG_ID 0x17059
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg_2: usbotggrp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
usdhc2 {
|
||||
pinctrl_usdhc2_1: usdhc2grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD2_CMD__SD2_CMD 0x17059
|
||||
MX6Q_PAD_SD2_CLK__SD2_CLK 0x10059
|
||||
MX6Q_PAD_SD2_DAT0__SD2_DATA0 0x17059
|
||||
MX6Q_PAD_SD2_DAT1__SD2_DATA1 0x17059
|
||||
MX6Q_PAD_SD2_DAT2__SD2_DATA2 0x17059
|
||||
MX6Q_PAD_SD2_DAT3__SD2_DATA3 0x17059
|
||||
MX6Q_PAD_NANDF_D4__SD2_DATA4 0x17059
|
||||
MX6Q_PAD_NANDF_D5__SD2_DATA5 0x17059
|
||||
MX6Q_PAD_NANDF_D6__SD2_DATA6 0x17059
|
||||
MX6Q_PAD_NANDF_D7__SD2_DATA7 0x17059
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
usdhc3 {
|
||||
pinctrl_usdhc3_1: usdhc3grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD3_CMD__SD3_CMD 0x17059
|
||||
MX6Q_PAD_SD3_CLK__SD3_CLK 0x10059
|
||||
MX6Q_PAD_SD3_DAT0__SD3_DATA0 0x17059
|
||||
MX6Q_PAD_SD3_DAT1__SD3_DATA1 0x17059
|
||||
MX6Q_PAD_SD3_DAT2__SD3_DATA2 0x17059
|
||||
MX6Q_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||
MX6Q_PAD_SD3_DAT4__SD3_DATA4 0x17059
|
||||
MX6Q_PAD_SD3_DAT5__SD3_DATA5 0x17059
|
||||
MX6Q_PAD_SD3_DAT6__SD3_DATA6 0x17059
|
||||
MX6Q_PAD_SD3_DAT7__SD3_DATA7 0x17059
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_2: usdhc3grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD3_CMD__SD3_CMD 0x17059
|
||||
MX6Q_PAD_SD3_CLK__SD3_CLK 0x10059
|
||||
MX6Q_PAD_SD3_DAT0__SD3_DATA0 0x17059
|
||||
MX6Q_PAD_SD3_DAT1__SD3_DATA1 0x17059
|
||||
MX6Q_PAD_SD3_DAT2__SD3_DATA2 0x17059
|
||||
MX6Q_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
usdhc4 {
|
||||
pinctrl_usdhc4_1: usdhc4grp-1 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD4_CMD__SD4_CMD 0x17059
|
||||
MX6Q_PAD_SD4_CLK__SD4_CLK 0x10059
|
||||
MX6Q_PAD_SD4_DAT0__SD4_DATA0 0x17059
|
||||
MX6Q_PAD_SD4_DAT1__SD4_DATA1 0x17059
|
||||
MX6Q_PAD_SD4_DAT2__SD4_DATA2 0x17059
|
||||
MX6Q_PAD_SD4_DAT3__SD4_DATA3 0x17059
|
||||
MX6Q_PAD_SD4_DAT4__SD4_DATA4 0x17059
|
||||
MX6Q_PAD_SD4_DAT5__SD4_DATA5 0x17059
|
||||
MX6Q_PAD_SD4_DAT6__SD4_DATA6 0x17059
|
||||
MX6Q_PAD_SD4_DAT7__SD4_DATA7 0x17059
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc4_2: usdhc4grp-2 {
|
||||
fsl,pins = <
|
||||
MX6Q_PAD_SD4_CMD__SD4_CMD 0x17059
|
||||
MX6Q_PAD_SD4_CLK__SD4_CLK 0x10059
|
||||
MX6Q_PAD_SD4_DAT0__SD4_DATA0 0x17059
|
||||
MX6Q_PAD_SD4_DAT1__SD4_DATA1 0x17059
|
||||
MX6Q_PAD_SD4_DAT2__SD4_DATA2 0x17059
|
||||
MX6Q_PAD_SD4_DAT3__SD4_DATA3 0x17059
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ipu2: ipu@02800000 {
|
||||
#crtc-cells = <1>;
|
||||
compatible = "fsl,imx6q-ipu";
|
||||
reg = <0x02800000 0x400000>;
|
||||
interrupts = <0 8 0x4 0 7 0x4>;
|
||||
clocks = <&clks 133>, <&clks 134>, <&clks 137>;
|
||||
clock-names = "bus", "di0", "di1";
|
||||
resets = <&src 4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ldb {
|
||||
clocks = <&clks 33>, <&clks 34>,
|
||||
<&clks 39>, <&clks 40>, <&clks 41>, <&clks 42>,
|
||||
<&clks 135>, <&clks 136>;
|
||||
clock-names = "di0_pll", "di1_pll",
|
||||
"di0_sel", "di1_sel", "di2_sel", "di3_sel",
|
||||
"di0", "di1";
|
||||
|
||||
lvds-channel@0 {
|
||||
crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
|
||||
};
|
||||
|
||||
lvds-channel@1 {
|
||||
crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* Copyright 2012 Freescale Semiconductor, Inc.
|
||||
* Copyright 2011 Linaro Ltd.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/ {
|
||||
memory {
|
||||
reg = <0x10000000 0x40000000>;
|
||||
};
|
||||
|
||||
regulators {
|
||||
compatible = "simple-bus";
|
||||
|
||||
reg_usb_otg_vbus: usb_otg_vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio3 22 0>;
|
||||
enable-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
volume-up {
|
||||
label = "Volume Up";
|
||||
gpios = <&gpio1 4 0>;
|
||||
linux,code = <115>; /* KEY_VOLUMEUP */
|
||||
};
|
||||
|
||||
volume-down {
|
||||
label = "Volume Down";
|
||||
gpios = <&gpio1 5 0>;
|
||||
linux,code = <114>; /* KEY_VOLUMEDOWN */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_enet_1>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1_1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbh1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg {
|
||||
vbus-supply = <®_usb_otg_vbus>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg_2>;
|
||||
disable-over-current;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc2_1>;
|
||||
cd-gpios = <&gpio2 2 0>;
|
||||
wp-gpios = <&gpio2 3 0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3_1>;
|
||||
cd-gpios = <&gpio2 0 0>;
|
||||
wp-gpios = <&gpio2 1 0>;
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,840 @@
|
|||
/*
|
||||
* Copyright 2011 Freescale Semiconductor, Inc.
|
||||
* Copyright 2011 Linaro Ltd.
|
||||
*
|
||||
* 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 "skeleton.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &uart1;
|
||||
serial1 = &uart2;
|
||||
serial2 = &uart3;
|
||||
serial3 = &uart4;
|
||||
serial4 = &uart5;
|
||||
gpio0 = &gpio1;
|
||||
gpio1 = &gpio2;
|
||||
gpio2 = &gpio3;
|
||||
gpio3 = &gpio4;
|
||||
gpio4 = &gpio5;
|
||||
gpio5 = &gpio6;
|
||||
gpio6 = &gpio7;
|
||||
mmc0 = &usdhc1;
|
||||
mmc1 = &usdhc2;
|
||||
mmc2 = &usdhc3;
|
||||
mmc3 = &usdhc4;
|
||||
};
|
||||
|
||||
intc: interrupt-controller@00a01000 {
|
||||
compatible = "arm,cortex-a9-gic";
|
||||
#interrupt-cells = <3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupt-controller;
|
||||
reg = <0x00a01000 0x1000>,
|
||||
<0x00a00100 0x100>;
|
||||
};
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ckil {
|
||||
compatible = "fsl,imx-ckil", "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
ckih1 {
|
||||
compatible = "fsl,imx-ckih1", "fixed-clock";
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
osc {
|
||||
compatible = "fsl,imx-osc", "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&intc>;
|
||||
ranges;
|
||||
|
||||
dma_apbh: dma-apbh@00110000 {
|
||||
compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
|
||||
reg = <0x00110000 0x2000>;
|
||||
interrupts = <0 13 0x04>, <0 13 0x04>, <0 13 0x04>, <0 13 0x04>;
|
||||
interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <4>;
|
||||
clocks = <&clks 106>;
|
||||
};
|
||||
|
||||
gpmi: gpmi-nand@00112000 {
|
||||
compatible = "fsl,imx6q-gpmi-nand";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x00112000 0x2000>, <0x00114000 0x2000>;
|
||||
reg-names = "gpmi-nand", "bch";
|
||||
interrupts = <0 13 0x04>, <0 15 0x04>;
|
||||
interrupt-names = "gpmi-dma", "bch";
|
||||
clocks = <&clks 152>, <&clks 153>, <&clks 151>,
|
||||
<&clks 150>, <&clks 149>;
|
||||
clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
|
||||
"gpmi_bch_apb", "per1_bch";
|
||||
dmas = <&dma_apbh 0>;
|
||||
dma-names = "rx-tx";
|
||||
fsl,gpmi-dma-channel = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
timer@00a00600 {
|
||||
compatible = "arm,cortex-a9-twd-timer";
|
||||
reg = <0x00a00600 0x20>;
|
||||
interrupts = <1 13 0xf01>;
|
||||
clocks = <&clks 15>;
|
||||
};
|
||||
|
||||
L2: l2-cache@00a02000 {
|
||||
compatible = "arm,pl310-cache";
|
||||
reg = <0x00a02000 0x1000>;
|
||||
interrupts = <0 92 0x04>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a9-pmu";
|
||||
interrupts = <0 94 0x04>;
|
||||
};
|
||||
|
||||
aips-bus@02000000 { /* AIPS1 */
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x02000000 0x100000>;
|
||||
ranges;
|
||||
|
||||
spba-bus@02000000 {
|
||||
compatible = "fsl,spba-bus", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x02000000 0x40000>;
|
||||
ranges;
|
||||
|
||||
spdif: spdif@02004000 {
|
||||
reg = <0x02004000 0x4000>;
|
||||
interrupts = <0 52 0x04>;
|
||||
};
|
||||
|
||||
ecspi1: ecspi@02008000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
|
||||
reg = <0x02008000 0x4000>;
|
||||
interrupts = <0 31 0x04>;
|
||||
clocks = <&clks 112>, <&clks 112>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ecspi2: ecspi@0200c000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
|
||||
reg = <0x0200c000 0x4000>;
|
||||
interrupts = <0 32 0x04>;
|
||||
clocks = <&clks 113>, <&clks 113>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ecspi3: ecspi@02010000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
|
||||
reg = <0x02010000 0x4000>;
|
||||
interrupts = <0 33 0x04>;
|
||||
clocks = <&clks 114>, <&clks 114>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ecspi4: ecspi@02014000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
|
||||
reg = <0x02014000 0x4000>;
|
||||
interrupts = <0 34 0x04>;
|
||||
clocks = <&clks 115>, <&clks 115>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@02020000 {
|
||||
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
|
||||
reg = <0x02020000 0x4000>;
|
||||
interrupts = <0 26 0x04>;
|
||||
clocks = <&clks 160>, <&clks 161>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
esai: esai@02024000 {
|
||||
reg = <0x02024000 0x4000>;
|
||||
interrupts = <0 51 0x04>;
|
||||
};
|
||||
|
||||
ssi1: ssi@02028000 {
|
||||
compatible = "fsl,imx6q-ssi","fsl,imx21-ssi";
|
||||
reg = <0x02028000 0x4000>;
|
||||
interrupts = <0 46 0x04>;
|
||||
clocks = <&clks 178>;
|
||||
fsl,fifo-depth = <15>;
|
||||
fsl,ssi-dma-events = <38 37>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ssi2: ssi@0202c000 {
|
||||
compatible = "fsl,imx6q-ssi","fsl,imx21-ssi";
|
||||
reg = <0x0202c000 0x4000>;
|
||||
interrupts = <0 47 0x04>;
|
||||
clocks = <&clks 179>;
|
||||
fsl,fifo-depth = <15>;
|
||||
fsl,ssi-dma-events = <42 41>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ssi3: ssi@02030000 {
|
||||
compatible = "fsl,imx6q-ssi","fsl,imx21-ssi";
|
||||
reg = <0x02030000 0x4000>;
|
||||
interrupts = <0 48 0x04>;
|
||||
clocks = <&clks 180>;
|
||||
fsl,fifo-depth = <15>;
|
||||
fsl,ssi-dma-events = <46 45>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
asrc: asrc@02034000 {
|
||||
reg = <0x02034000 0x4000>;
|
||||
interrupts = <0 50 0x04>;
|
||||
};
|
||||
|
||||
spba@0203c000 {
|
||||
reg = <0x0203c000 0x4000>;
|
||||
};
|
||||
};
|
||||
|
||||
vpu: vpu@02040000 {
|
||||
reg = <0x02040000 0x3c000>;
|
||||
interrupts = <0 3 0x04 0 12 0x04>;
|
||||
};
|
||||
|
||||
aipstz@0207c000 { /* AIPSTZ1 */
|
||||
reg = <0x0207c000 0x4000>;
|
||||
};
|
||||
|
||||
pwm1: pwm@02080000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x02080000 0x4000>;
|
||||
interrupts = <0 83 0x04>;
|
||||
clocks = <&clks 62>, <&clks 145>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
|
||||
pwm2: pwm@02084000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x02084000 0x4000>;
|
||||
interrupts = <0 84 0x04>;
|
||||
clocks = <&clks 62>, <&clks 146>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
|
||||
pwm3: pwm@02088000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x02088000 0x4000>;
|
||||
interrupts = <0 85 0x04>;
|
||||
clocks = <&clks 62>, <&clks 147>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
|
||||
pwm4: pwm@0208c000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x0208c000 0x4000>;
|
||||
interrupts = <0 86 0x04>;
|
||||
clocks = <&clks 62>, <&clks 148>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
|
||||
can1: flexcan@02090000 {
|
||||
reg = <0x02090000 0x4000>;
|
||||
interrupts = <0 110 0x04>;
|
||||
};
|
||||
|
||||
can2: flexcan@02094000 {
|
||||
reg = <0x02094000 0x4000>;
|
||||
interrupts = <0 111 0x04>;
|
||||
};
|
||||
|
||||
gpt: gpt@02098000 {
|
||||
compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt";
|
||||
reg = <0x02098000 0x4000>;
|
||||
interrupts = <0 55 0x04>;
|
||||
clocks = <&clks 119>, <&clks 120>;
|
||||
clock-names = "ipg", "per";
|
||||
};
|
||||
|
||||
gpio1: gpio@0209c000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x0209c000 0x4000>;
|
||||
interrupts = <0 66 0x04 0 67 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio2: gpio@020a0000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x020a0000 0x4000>;
|
||||
interrupts = <0 68 0x04 0 69 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio3: gpio@020a4000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x020a4000 0x4000>;
|
||||
interrupts = <0 70 0x04 0 71 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio4: gpio@020a8000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x020a8000 0x4000>;
|
||||
interrupts = <0 72 0x04 0 73 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio5: gpio@020ac000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x020ac000 0x4000>;
|
||||
interrupts = <0 74 0x04 0 75 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio6: gpio@020b0000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x020b0000 0x4000>;
|
||||
interrupts = <0 76 0x04 0 77 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio7: gpio@020b4000 {
|
||||
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x020b4000 0x4000>;
|
||||
interrupts = <0 78 0x04 0 79 0x04>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
kpp: kpp@020b8000 {
|
||||
reg = <0x020b8000 0x4000>;
|
||||
interrupts = <0 82 0x04>;
|
||||
};
|
||||
|
||||
wdog1: wdog@020bc000 {
|
||||
compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
|
||||
reg = <0x020bc000 0x4000>;
|
||||
interrupts = <0 80 0x04>;
|
||||
clocks = <&clks 0>;
|
||||
};
|
||||
|
||||
wdog2: wdog@020c0000 {
|
||||
compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
|
||||
reg = <0x020c0000 0x4000>;
|
||||
interrupts = <0 81 0x04>;
|
||||
clocks = <&clks 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
clks: ccm@020c4000 {
|
||||
compatible = "fsl,imx6q-ccm";
|
||||
reg = <0x020c4000 0x4000>;
|
||||
interrupts = <0 87 0x04 0 88 0x04>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
anatop: anatop@020c8000 {
|
||||
compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
|
||||
reg = <0x020c8000 0x1000>;
|
||||
interrupts = <0 49 0x04 0 54 0x04 0 127 0x04>;
|
||||
|
||||
regulator-1p1@110 {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "vdd1p1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1375000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x110>;
|
||||
anatop-vol-bit-shift = <8>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-min-bit-val = <4>;
|
||||
anatop-min-voltage = <800000>;
|
||||
anatop-max-voltage = <1375000>;
|
||||
};
|
||||
|
||||
regulator-3p0@120 {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "vdd3p0";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3150000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x120>;
|
||||
anatop-vol-bit-shift = <8>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-min-bit-val = <0>;
|
||||
anatop-min-voltage = <2625000>;
|
||||
anatop-max-voltage = <3400000>;
|
||||
};
|
||||
|
||||
regulator-2p5@130 {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "vdd2p5";
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2750000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x130>;
|
||||
anatop-vol-bit-shift = <8>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-min-bit-val = <0>;
|
||||
anatop-min-voltage = <2000000>;
|
||||
anatop-max-voltage = <2750000>;
|
||||
};
|
||||
|
||||
reg_arm: regulator-vddcore@140 {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "cpu";
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x140>;
|
||||
anatop-vol-bit-shift = <0>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-delay-reg-offset = <0x170>;
|
||||
anatop-delay-bit-shift = <24>;
|
||||
anatop-delay-bit-width = <2>;
|
||||
anatop-min-bit-val = <1>;
|
||||
anatop-min-voltage = <725000>;
|
||||
anatop-max-voltage = <1450000>;
|
||||
};
|
||||
|
||||
reg_pu: regulator-vddpu@140 {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "vddpu";
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x140>;
|
||||
anatop-vol-bit-shift = <9>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-delay-reg-offset = <0x170>;
|
||||
anatop-delay-bit-shift = <26>;
|
||||
anatop-delay-bit-width = <2>;
|
||||
anatop-min-bit-val = <1>;
|
||||
anatop-min-voltage = <725000>;
|
||||
anatop-max-voltage = <1450000>;
|
||||
};
|
||||
|
||||
reg_soc: regulator-vddsoc@140 {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "vddsoc";
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x140>;
|
||||
anatop-vol-bit-shift = <18>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-delay-reg-offset = <0x170>;
|
||||
anatop-delay-bit-shift = <28>;
|
||||
anatop-delay-bit-width = <2>;
|
||||
anatop-min-bit-val = <1>;
|
||||
anatop-min-voltage = <725000>;
|
||||
anatop-max-voltage = <1450000>;
|
||||
};
|
||||
};
|
||||
|
||||
usbphy1: usbphy@020c9000 {
|
||||
compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
|
||||
reg = <0x020c9000 0x1000>;
|
||||
interrupts = <0 44 0x04>;
|
||||
clocks = <&clks 182>;
|
||||
};
|
||||
|
||||
usbphy2: usbphy@020ca000 {
|
||||
compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
|
||||
reg = <0x020ca000 0x1000>;
|
||||
interrupts = <0 45 0x04>;
|
||||
clocks = <&clks 183>;
|
||||
};
|
||||
|
||||
snvs@020cc000 {
|
||||
compatible = "fsl,sec-v4.0-mon", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x020cc000 0x4000>;
|
||||
|
||||
snvs-rtc-lp@34 {
|
||||
compatible = "fsl,sec-v4.0-mon-rtc-lp";
|
||||
reg = <0x34 0x58>;
|
||||
interrupts = <0 19 0x04 0 20 0x04>;
|
||||
};
|
||||
};
|
||||
|
||||
epit1: epit@020d0000 { /* EPIT1 */
|
||||
reg = <0x020d0000 0x4000>;
|
||||
interrupts = <0 56 0x04>;
|
||||
};
|
||||
|
||||
epit2: epit@020d4000 { /* EPIT2 */
|
||||
reg = <0x020d4000 0x4000>;
|
||||
interrupts = <0 57 0x04>;
|
||||
};
|
||||
|
||||
src: src@020d8000 {
|
||||
compatible = "fsl,imx6q-src", "fsl,imx51-src";
|
||||
reg = <0x020d8000 0x4000>;
|
||||
interrupts = <0 91 0x04 0 96 0x04>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
gpc: gpc@020dc000 {
|
||||
compatible = "fsl,imx6q-gpc";
|
||||
reg = <0x020dc000 0x4000>;
|
||||
interrupts = <0 89 0x04 0 90 0x04>;
|
||||
};
|
||||
|
||||
gpr: iomuxc-gpr@020e0000 {
|
||||
compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
|
||||
reg = <0x020e0000 0x38>;
|
||||
};
|
||||
|
||||
ldb: ldb@020e0008 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
|
||||
gpr = <&gpr>;
|
||||
status = "disabled";
|
||||
|
||||
lvds-channel@0 {
|
||||
reg = <0>;
|
||||
crtcs = <&ipu1 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lvds-channel@1 {
|
||||
reg = <1>;
|
||||
crtcs = <&ipu1 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
dcic1: dcic@020e4000 {
|
||||
reg = <0x020e4000 0x4000>;
|
||||
interrupts = <0 124 0x04>;
|
||||
};
|
||||
|
||||
dcic2: dcic@020e8000 {
|
||||
reg = <0x020e8000 0x4000>;
|
||||
interrupts = <0 125 0x04>;
|
||||
};
|
||||
|
||||
sdma: sdma@020ec000 {
|
||||
compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
|
||||
reg = <0x020ec000 0x4000>;
|
||||
interrupts = <0 2 0x04>;
|
||||
clocks = <&clks 155>, <&clks 155>;
|
||||
clock-names = "ipg", "ahb";
|
||||
fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
|
||||
};
|
||||
};
|
||||
|
||||
aips-bus@02100000 { /* AIPS2 */
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x02100000 0x100000>;
|
||||
ranges;
|
||||
|
||||
caam@02100000 {
|
||||
reg = <0x02100000 0x40000>;
|
||||
interrupts = <0 105 0x04 0 106 0x04>;
|
||||
};
|
||||
|
||||
aipstz@0217c000 { /* AIPSTZ2 */
|
||||
reg = <0x0217c000 0x4000>;
|
||||
};
|
||||
|
||||
usbotg: usb@02184000 {
|
||||
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
|
||||
reg = <0x02184000 0x200>;
|
||||
interrupts = <0 43 0x04>;
|
||||
clocks = <&clks 162>;
|
||||
fsl,usbphy = <&usbphy1>;
|
||||
fsl,usbmisc = <&usbmisc 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh1: usb@02184200 {
|
||||
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
|
||||
reg = <0x02184200 0x200>;
|
||||
interrupts = <0 40 0x04>;
|
||||
clocks = <&clks 162>;
|
||||
fsl,usbphy = <&usbphy2>;
|
||||
fsl,usbmisc = <&usbmisc 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh2: usb@02184400 {
|
||||
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
|
||||
reg = <0x02184400 0x200>;
|
||||
interrupts = <0 41 0x04>;
|
||||
clocks = <&clks 162>;
|
||||
fsl,usbmisc = <&usbmisc 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbh3: usb@02184600 {
|
||||
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
|
||||
reg = <0x02184600 0x200>;
|
||||
interrupts = <0 42 0x04>;
|
||||
clocks = <&clks 162>;
|
||||
fsl,usbmisc = <&usbmisc 3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbmisc: usbmisc: usbmisc@02184800 {
|
||||
#index-cells = <1>;
|
||||
compatible = "fsl,imx6q-usbmisc";
|
||||
reg = <0x02184800 0x200>;
|
||||
clocks = <&clks 162>;
|
||||
};
|
||||
|
||||
fec: ethernet@02188000 {
|
||||
compatible = "fsl,imx6q-fec";
|
||||
reg = <0x02188000 0x4000>;
|
||||
interrupts = <0 118 0x04 0 119 0x04>;
|
||||
clocks = <&clks 117>, <&clks 117>, <&clks 190>;
|
||||
clock-names = "ipg", "ahb", "ptp";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mlb@0218c000 {
|
||||
reg = <0x0218c000 0x4000>;
|
||||
interrupts = <0 53 0x04 0 117 0x04 0 126 0x04>;
|
||||
};
|
||||
|
||||
usdhc1: usdhc@02190000 {
|
||||
compatible = "fsl,imx6q-usdhc";
|
||||
reg = <0x02190000 0x4000>;
|
||||
interrupts = <0 22 0x04>;
|
||||
clocks = <&clks 163>, <&clks 163>, <&clks 163>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usdhc2: usdhc@02194000 {
|
||||
compatible = "fsl,imx6q-usdhc";
|
||||
reg = <0x02194000 0x4000>;
|
||||
interrupts = <0 23 0x04>;
|
||||
clocks = <&clks 164>, <&clks 164>, <&clks 164>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usdhc3: usdhc@02198000 {
|
||||
compatible = "fsl,imx6q-usdhc";
|
||||
reg = <0x02198000 0x4000>;
|
||||
interrupts = <0 24 0x04>;
|
||||
clocks = <&clks 165>, <&clks 165>, <&clks 165>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usdhc4: usdhc@0219c000 {
|
||||
compatible = "fsl,imx6q-usdhc";
|
||||
reg = <0x0219c000 0x4000>;
|
||||
interrupts = <0 25 0x04>;
|
||||
clocks = <&clks 166>, <&clks 166>, <&clks 166>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@021a0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
|
||||
reg = <0x021a0000 0x4000>;
|
||||
interrupts = <0 36 0x04>;
|
||||
clocks = <&clks 125>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@021a4000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
|
||||
reg = <0x021a4000 0x4000>;
|
||||
interrupts = <0 37 0x04>;
|
||||
clocks = <&clks 126>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@021a8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
|
||||
reg = <0x021a8000 0x4000>;
|
||||
interrupts = <0 38 0x04>;
|
||||
clocks = <&clks 127>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
romcp@021ac000 {
|
||||
reg = <0x021ac000 0x4000>;
|
||||
};
|
||||
|
||||
mmdc0: mmdc@021b0000 { /* MMDC0 */
|
||||
compatible = "fsl,imx6q-mmdc";
|
||||
reg = <0x021b0000 0x4000>;
|
||||
};
|
||||
|
||||
mmdc1: mmdc@021b4000 { /* MMDC1 */
|
||||
reg = <0x021b4000 0x4000>;
|
||||
};
|
||||
|
||||
weim@021b8000 {
|
||||
reg = <0x021b8000 0x4000>;
|
||||
interrupts = <0 14 0x04>;
|
||||
};
|
||||
|
||||
ocotp@021bc000 {
|
||||
compatible = "fsl,imx6q-ocotp";
|
||||
reg = <0x021bc000 0x4000>;
|
||||
};
|
||||
|
||||
ocotp@021c0000 {
|
||||
reg = <0x021c0000 0x4000>;
|
||||
interrupts = <0 21 0x04>;
|
||||
};
|
||||
|
||||
tzasc@021d0000 { /* TZASC1 */
|
||||
reg = <0x021d0000 0x4000>;
|
||||
interrupts = <0 108 0x04>;
|
||||
};
|
||||
|
||||
tzasc@021d4000 { /* TZASC2 */
|
||||
reg = <0x021d4000 0x4000>;
|
||||
interrupts = <0 109 0x04>;
|
||||
};
|
||||
|
||||
audmux: audmux@021d8000 {
|
||||
compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
|
||||
reg = <0x021d8000 0x4000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mipi@021dc000 { /* MIPI-CSI */
|
||||
reg = <0x021dc000 0x4000>;
|
||||
};
|
||||
|
||||
mipi@021e0000 { /* MIPI-DSI */
|
||||
reg = <0x021e0000 0x4000>;
|
||||
};
|
||||
|
||||
vdoa@021e4000 {
|
||||
reg = <0x021e4000 0x4000>;
|
||||
interrupts = <0 18 0x04>;
|
||||
};
|
||||
|
||||
uart2: serial@021e8000 {
|
||||
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
|
||||
reg = <0x021e8000 0x4000>;
|
||||
interrupts = <0 27 0x04>;
|
||||
clocks = <&clks 160>, <&clks 161>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart3: serial@021ec000 {
|
||||
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
|
||||
reg = <0x021ec000 0x4000>;
|
||||
interrupts = <0 28 0x04>;
|
||||
clocks = <&clks 160>, <&clks 161>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart4: serial@021f0000 {
|
||||
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
|
||||
reg = <0x021f0000 0x4000>;
|
||||
interrupts = <0 29 0x04>;
|
||||
clocks = <&clks 160>, <&clks 161>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart5: serial@021f4000 {
|
||||
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
|
||||
reg = <0x021f4000 0x4000>;
|
||||
interrupts = <0 30 0x04>;
|
||||
clocks = <&clks 160>, <&clks 161>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
ipu1: ipu@02400000 {
|
||||
#crtc-cells = <1>;
|
||||
compatible = "fsl,imx6q-ipu";
|
||||
reg = <0x02400000 0x400000>;
|
||||
interrupts = <0 6 0x4 0 5 0x4>;
|
||||
clocks = <&clks 130>, <&clks 131>, <&clks 132>;
|
||||
clock-names = "bus", "di0", "di1";
|
||||
resets = <&src 2>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -525,6 +525,7 @@ config MACH_MX6Q_ARM2
|
|||
bool "Freescale i.MX6q Armadillo2"
|
||||
|
||||
config MACH_SABRELITE
|
||||
select HAVE_DEFAULT_ENVIRONMENT_NEW
|
||||
bool "Freescale i.MX6 Sabre Lite"
|
||||
|
||||
config MACH_SABRESD
|
||||
|
|
|
@ -321,7 +321,7 @@ static int imx6_ccm_probe(struct device_d *dev)
|
|||
|
||||
static __maybe_unused struct of_device_id imx6_ccm_dt_ids[] = {
|
||||
{
|
||||
.compatible = "fsl,imx6-ccm",
|
||||
.compatible = "fsl,imx6q-ccm",
|
||||
}, {
|
||||
/* sentinel */
|
||||
}
|
||||
|
|
|
@ -31,8 +31,6 @@
|
|||
|
||||
#define DRIVERNAME "imx_iim"
|
||||
|
||||
static unsigned long mac_addr_base;
|
||||
|
||||
static int iim_write_enable;
|
||||
static int iim_sense_enable;
|
||||
|
||||
|
@ -225,21 +223,66 @@ static int imx_iim_add_bank(struct device_d *dev, void __iomem *base, int num)
|
|||
return devfs_create(cdev);
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_OFDEVICE)
|
||||
|
||||
/*
|
||||
* a single MAC address reference has the form
|
||||
* <&phandle iim-bank-no offset>, so three cells
|
||||
*/
|
||||
#define MAC_ADDRESS_PROPLEN (3 * sizeof(__be32))
|
||||
|
||||
static void imx_iim_init_dt(struct device_d *dev)
|
||||
{
|
||||
char mac[6];
|
||||
const __be32 *prop;
|
||||
struct device_node *node = dev->device_node;
|
||||
int len, ret;
|
||||
|
||||
if (!node)
|
||||
return;
|
||||
|
||||
prop = of_get_property(node, "barebox,provide-mac-address", &len);
|
||||
if (!prop)
|
||||
return;
|
||||
|
||||
while (len >= MAC_ADDRESS_PROPLEN) {
|
||||
struct device_node *rnode;
|
||||
uint32_t phandle, bank, offset;
|
||||
|
||||
phandle = be32_to_cpup(prop++);
|
||||
|
||||
rnode = of_find_node_by_phandle(phandle);
|
||||
bank = be32_to_cpup(prop++);
|
||||
offset = be32_to_cpup(prop++);
|
||||
|
||||
ret = imx_iim_read(bank, offset, mac, 6);
|
||||
if (ret == 6) {
|
||||
of_eth_register_ethaddr(rnode, mac);
|
||||
} else {
|
||||
dev_err(dev, "cannot read: %s\n", strerror(-ret));
|
||||
}
|
||||
|
||||
len -= MAC_ADDRESS_PROPLEN;
|
||||
}
|
||||
}
|
||||
#else
|
||||
static inline void imx_iim_init_dt(struct device_d *dev)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
static int imx_iim_probe(struct device_d *dev)
|
||||
{
|
||||
struct imx_iim_platform_data *pdata = dev->platform_data;
|
||||
int i;
|
||||
void __iomem *base;
|
||||
|
||||
base = dev_request_mem_region(dev, 0);
|
||||
|
||||
if (pdata)
|
||||
mac_addr_base = pdata->mac_addr_base;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
imx_iim_add_bank(dev, base, i);
|
||||
}
|
||||
|
||||
imx_iim_init_dt(dev);
|
||||
|
||||
if (IS_ENABLED(CONFIG_IMX_IIM_FUSE_BLOW))
|
||||
dev_add_param_bool(dev, "permanent_write_enable",
|
||||
|
@ -251,9 +294,18 @@ static int imx_iim_probe(struct device_d *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static __maybe_unused struct of_device_id imx_iim_dt_ids[] = {
|
||||
{
|
||||
.compatible = "fsl,imx-iim",
|
||||
}, {
|
||||
/* sentinel */
|
||||
}
|
||||
};
|
||||
|
||||
static struct driver_d imx_iim_driver = {
|
||||
.name = DRIVERNAME,
|
||||
.probe = imx_iim_probe,
|
||||
.of_compatible = DRV_OF_COMPAT(imx_iim_dt_ids),
|
||||
};
|
||||
|
||||
static int imx_iim_init(void)
|
||||
|
|
|
@ -53,16 +53,12 @@ u64 imx_uid(void)
|
|||
return uid;
|
||||
}
|
||||
|
||||
static struct imx_iim_platform_data imx25_iim_pdata = {
|
||||
.mac_addr_base = IIM_MAC_ADDR,
|
||||
};
|
||||
|
||||
static int imx25_init(void)
|
||||
{
|
||||
imx25_boot_save_loc((void *)MX25_CCM_BASE_ADDR);
|
||||
|
||||
add_generic_device("imx_iim", 0, NULL, MX25_IIM_BASE_ADDR, SZ_4K,
|
||||
IORESOURCE_MEM, &imx25_iim_pdata);
|
||||
IORESOURCE_MEM, NULL);
|
||||
|
||||
add_generic_device("imx-iomuxv3", 0, NULL, MX25_IOMUXC_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL);
|
||||
add_generic_device("imx25-ccm", 0, NULL, MX25_CCM_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL);
|
||||
|
|
|
@ -58,6 +58,9 @@ static int imx51_init(void)
|
|||
imx51_silicon_revision();
|
||||
imx51_boot_save_loc((void *)MX51_SRC_BASE_ADDR);
|
||||
|
||||
if (of_get_root_node())
|
||||
return 0;
|
||||
|
||||
add_generic_device("imx_iim", 0, NULL, MX51_IIM_BASE_ADDR, SZ_4K,
|
||||
IORESOURCE_MEM, NULL);
|
||||
|
||||
|
|
|
@ -57,6 +57,9 @@ static int imx6_init(void)
|
|||
{
|
||||
imx6_boot_save_loc((void *)MX6_SRC_BASE_ADDR);
|
||||
|
||||
if (of_get_root_node())
|
||||
return 0;
|
||||
|
||||
add_generic_device("imx-iomuxv3", 0, NULL, MX6_IOMUXC_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL);
|
||||
add_generic_device("imx6-ccm", 0, NULL, MX6_CCM_BASE_ADDR, 0x4000, IORESOURCE_MEM, NULL);
|
||||
add_generic_device("imx31-gpt", 0, NULL, MX6_GPT_BASE_ADDR, 0x1000, IORESOURCE_MEM, NULL);
|
||||
|
|
|
@ -38,10 +38,6 @@
|
|||
#define IIM_SCS2 0x0034
|
||||
#define IIM_SCS3 0x0038
|
||||
|
||||
struct imx_iim_platform_data {
|
||||
unsigned long mac_addr_base;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_IMX_IIM
|
||||
int imx_iim_read(unsigned int bank, int offset, void *buf, int count);
|
||||
#else
|
||||
|
|
|
@ -947,9 +947,18 @@ static int m25p_probe(struct device_d *dev)
|
|||
return add_mtd_device(&flash->mtd, flash->mtd.name);
|
||||
}
|
||||
|
||||
static __maybe_unused struct of_device_id m25p80_dt_ids[] = {
|
||||
{
|
||||
.compatible = "m25p80",
|
||||
}, {
|
||||
/* sentinel */
|
||||
}
|
||||
};
|
||||
|
||||
static struct driver_d m25p80_driver = {
|
||||
.name = "m25p80",
|
||||
.probe = m25p_probe,
|
||||
.of_compatible = DRV_OF_COMPAT(m25p80_dt_ids),
|
||||
};
|
||||
device_spi_driver(m25p80_driver);
|
||||
|
||||
|
|
|
@ -871,9 +871,20 @@ static int dataflash_probe(struct device_d *dev)
|
|||
return status;
|
||||
}
|
||||
|
||||
static __maybe_unused struct of_device_id dataflash_dt_ids[] = {
|
||||
{
|
||||
.compatible = "atmel,at45",
|
||||
}, {
|
||||
.compatible = "atmel,dataflash",
|
||||
}, {
|
||||
/* sentinel */
|
||||
}
|
||||
};
|
||||
|
||||
static struct driver_d dataflash_driver = {
|
||||
.name = "mtd_dataflash",
|
||||
.probe = dataflash_probe,
|
||||
.of_compatible = DRV_OF_COMPAT(dataflash_dt_ids),
|
||||
};
|
||||
device_spi_driver(dataflash_driver);
|
||||
|
||||
|
|
|
@ -747,6 +747,9 @@ static void fec_remove(struct device_d *dev)
|
|||
|
||||
static __maybe_unused struct of_device_id imx_fec_dt_ids[] = {
|
||||
{
|
||||
.compatible = "fsl,imx25-fec",
|
||||
.data = FEC_TYPE_IMX27,
|
||||
}, {
|
||||
.compatible = "fsl,imx27-fec",
|
||||
.data = FEC_TYPE_IMX27,
|
||||
}, {
|
||||
|
|
|
@ -295,21 +295,36 @@ int of_device_is_compatible(const struct device_node *device,
|
|||
}
|
||||
EXPORT_SYMBOL(of_device_is_compatible);
|
||||
|
||||
int of_match(struct device_d *dev, struct driver_d *drv)
|
||||
/**
|
||||
* of_match_node - Tell if an device_node has a matching of_match structure
|
||||
* @matches: array of of device match structures to search in
|
||||
* @node: the of device structure to match against
|
||||
*
|
||||
* Low level utility function used by device matching.
|
||||
*/
|
||||
const struct of_device_id *of_match_node(const struct of_device_id *matches,
|
||||
const struct device_node *node)
|
||||
{
|
||||
struct of_device_id *id;
|
||||
|
||||
id = drv->of_compatible;
|
||||
|
||||
while (id->compatible) {
|
||||
if (of_device_is_compatible(dev->device_node, id->compatible) == 1) {
|
||||
dev->of_id_entry = id;
|
||||
return 0;
|
||||
}
|
||||
id++;
|
||||
while (matches->compatible) {
|
||||
if (of_device_is_compatible(node, matches->compatible) == 1)
|
||||
return matches;
|
||||
matches++;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int of_match(struct device_d *dev, struct driver_d *drv)
|
||||
{
|
||||
const struct of_device_id *id;
|
||||
|
||||
id = of_match_node(drv->of_compatible, dev->device_node);
|
||||
if (!id)
|
||||
return 1;
|
||||
|
||||
dev->of_id_entry = id;
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(of_match);
|
||||
|
||||
|
@ -810,13 +825,16 @@ static struct device_d *add_of_amba_device(struct device_node *node)
|
|||
return &dev->dev;
|
||||
}
|
||||
|
||||
static struct device_d *add_of_platform_device(struct device_node *node)
|
||||
static struct device_d *add_of_platform_device(struct device_node *node,
|
||||
struct device_d *parent)
|
||||
{
|
||||
struct device_d *dev;
|
||||
char *name, *at;
|
||||
|
||||
dev = xzalloc(sizeof(*dev));
|
||||
|
||||
dev->parent = parent;
|
||||
|
||||
name = xstrdup(node->name);
|
||||
at = strchr(name, '@');
|
||||
if (at) {
|
||||
|
@ -841,7 +859,8 @@ static struct device_d *add_of_platform_device(struct device_node *node)
|
|||
return dev;
|
||||
}
|
||||
|
||||
static struct device_d *add_of_device(struct device_node *node)
|
||||
static struct device_d *add_of_device(struct device_node *node,
|
||||
struct device_d *parent)
|
||||
{
|
||||
const struct property *cp;
|
||||
|
||||
|
@ -856,7 +875,7 @@ static struct device_d *add_of_device(struct device_node *node)
|
|||
of_device_is_compatible(node, "arm,primecell") == 1)
|
||||
return add_of_amba_device(node);
|
||||
else
|
||||
return add_of_platform_device(node);
|
||||
return add_of_platform_device(node, parent);
|
||||
}
|
||||
EXPORT_SYMBOL(add_of_device);
|
||||
|
||||
|
@ -913,7 +932,8 @@ int of_add_memory(struct device_node *node, bool dump)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int add_of_device_resource(struct device_node *node)
|
||||
static struct device_d *add_of_device_resource(struct device_node *node,
|
||||
struct device_d *parent)
|
||||
{
|
||||
u64 address = 0, size;
|
||||
struct resource *res, *resp;
|
||||
|
@ -923,13 +943,9 @@ static int add_of_device_resource(struct device_node *node)
|
|||
int na, nc, n_resources;
|
||||
int ret, len, index;
|
||||
|
||||
ret = of_add_memory(node, false);
|
||||
if (ret != -ENXIO)
|
||||
return ret;
|
||||
|
||||
reg = of_get_property(node, "reg", &len);
|
||||
if (!reg)
|
||||
return -EINVAL;
|
||||
return add_of_device(node, parent);
|
||||
|
||||
of_bus_count_cells(node, &na, &nc);
|
||||
|
||||
|
@ -970,7 +986,8 @@ static int add_of_device_resource(struct device_node *node)
|
|||
for_each_device(dev) {
|
||||
if (!dev->resource)
|
||||
continue;
|
||||
if (dev->resource->start == address) {
|
||||
if (dev->resource->start == res->start &&
|
||||
dev->resource->end == res->end) {
|
||||
debug("connecting %s to %s\n", node->name, dev_name(dev));
|
||||
node->device = dev;
|
||||
dev->device_node = node;
|
||||
|
@ -983,14 +1000,12 @@ static int add_of_device_resource(struct device_node *node)
|
|||
node->resource = res;
|
||||
node->num_resource = n_resources;
|
||||
|
||||
add_of_device(node);
|
||||
|
||||
return 0;
|
||||
return add_of_device(node, parent);
|
||||
|
||||
err_free:
|
||||
free(res);
|
||||
|
||||
return ret;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void of_free(struct device_node *node)
|
||||
|
@ -1030,17 +1045,23 @@ void of_free(struct device_node *node)
|
|||
of_set_root_node(NULL);
|
||||
}
|
||||
|
||||
static void __of_probe(struct device_node *node)
|
||||
static void __of_probe(struct device_node *node,
|
||||
const struct of_device_id *matches,
|
||||
struct device_d *parent)
|
||||
{
|
||||
struct device_node *n;
|
||||
struct device_d *dev;
|
||||
|
||||
if (node->device)
|
||||
return;
|
||||
|
||||
add_of_device_resource(node);
|
||||
dev = add_of_device_resource(node, parent);
|
||||
|
||||
if (!of_match_node(matches, node))
|
||||
return;
|
||||
|
||||
list_for_each_entry(n, &node->children, parent_list)
|
||||
__of_probe(n);
|
||||
__of_probe(n, matches, dev);
|
||||
}
|
||||
|
||||
static void __of_parse_phandles(struct device_node *node)
|
||||
|
@ -1067,8 +1088,18 @@ const char *of_get_model(void)
|
|||
return of_model;
|
||||
}
|
||||
|
||||
const struct of_device_id of_default_bus_match_table[] = {
|
||||
{
|
||||
.compatible = "simple-bus",
|
||||
}, {
|
||||
/* sentinel */
|
||||
}
|
||||
};
|
||||
|
||||
int of_probe(void)
|
||||
{
|
||||
struct device_node *memory, *n;
|
||||
|
||||
if(!root_node)
|
||||
return -ENODEV;
|
||||
|
||||
|
@ -1076,7 +1107,13 @@ int of_probe(void)
|
|||
of_property_read_string(root_node, "model", &of_model);
|
||||
|
||||
__of_parse_phandles(root_node);
|
||||
__of_probe(root_node);
|
||||
|
||||
memory = of_find_node_by_path(root_node, "/memory");
|
||||
if (memory)
|
||||
of_add_memory(memory, false);
|
||||
|
||||
list_for_each_entry(n, &root_node->children, parent_list)
|
||||
__of_probe(n, of_default_bus_match_table, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -177,7 +177,7 @@ static int imx_iomux_v3_probe(struct device_d *dev)
|
|||
iomuxv3_base = dev_request_mem_region(dev, 0);
|
||||
iomuxv3_dev = dev;
|
||||
|
||||
if (IS_ENABLED(CONFIG_PINCTRL))
|
||||
if (IS_ENABLED(CONFIG_PINCTRL) && dev->device_node)
|
||||
ret = imx_pinctrl_dt(dev, iomuxv3_base);
|
||||
|
||||
return ret;
|
||||
|
|
|
@ -108,9 +108,20 @@ void spi_of_register_slaves(struct spi_master *master, struct device_node *node)
|
|||
struct property *reg;
|
||||
|
||||
device_node_for_nach_child(node, n) {
|
||||
chip.name = n->name;
|
||||
memset(&chip, 0, sizeof(chip));
|
||||
chip.name = xstrdup(n->name);
|
||||
chip.bus_num = master->bus_num;
|
||||
chip.max_speed_hz = 300000; /* FIXME */
|
||||
/* Mode (clock phase/polarity/etc.) */
|
||||
if (of_find_property(n, "spi-cpha"))
|
||||
chip.mode |= SPI_CPHA;
|
||||
if (of_find_property(n, "spi-cpol"))
|
||||
chip.mode |= SPI_CPOL;
|
||||
if (of_find_property(n, "spi-cs-high"))
|
||||
chip.mode |= SPI_CS_HIGH;
|
||||
if (of_find_property(n, "spi-3wire"))
|
||||
chip.mode |= SPI_3WIRE;
|
||||
of_property_read_u32(n, "spi-max-frequency",
|
||||
&chip.max_speed_hz);
|
||||
reg = of_find_property(n, "reg");
|
||||
if (!reg)
|
||||
continue;
|
||||
|
|
|
@ -106,7 +106,7 @@ struct device_d {
|
|||
struct platform_device_id *id_entry;
|
||||
struct device_node *device_node;
|
||||
|
||||
struct of_device_id *of_id_entry;
|
||||
const struct of_device_id *of_id_entry;
|
||||
};
|
||||
|
||||
/** @brief Describes a driver present in the system */
|
||||
|
|
|
@ -78,8 +78,13 @@ int eth_rx(void); /* Check for received packets */
|
|||
static inline void eth_register_ethaddr(int ethid, const char *ethaddr)
|
||||
{
|
||||
}
|
||||
static inline void of_eth_register_ethaddr(struct device_node *node,
|
||||
const char *ethaddr)
|
||||
{
|
||||
}
|
||||
#else
|
||||
void eth_register_ethaddr(int ethid, const char *ethaddr);
|
||||
void of_eth_register_ethaddr(struct device_node *node, const char *ethaddr);
|
||||
#endif
|
||||
/*
|
||||
* Ethernet header
|
||||
|
|
10
include/of.h
10
include/of.h
|
@ -167,9 +167,11 @@ int of_set_property(struct device_node *node, const char *p, const void *val, in
|
|||
int create);
|
||||
struct device_node *of_create_node(struct device_node *root, const char *path);
|
||||
|
||||
struct device_node *of_get_root_node(void);
|
||||
int of_set_root_node(struct device_node *);
|
||||
|
||||
const struct of_device_id *of_match_node(const struct of_device_id *matches,
|
||||
const struct device_node *node);
|
||||
|
||||
struct cdev;
|
||||
|
||||
#ifdef CONFIG_OFTREE
|
||||
|
@ -180,6 +182,7 @@ int of_device_is_stdout_path(struct device_d *dev);
|
|||
const char *of_get_model(void);
|
||||
void *of_flatten_dtb(struct device_node *node);
|
||||
int of_add_memory(struct device_node *node, bool dump);
|
||||
struct device_node *of_get_root_node(void);
|
||||
#else
|
||||
static inline int of_parse_partitions(struct cdev *cdev,
|
||||
struct device_node *node)
|
||||
|
@ -211,6 +214,11 @@ static inline int of_add_memory(struct device_node *node, bool dump)
|
|||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static inline struct device_node *of_get_root_node(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __OF_H */
|
||||
|
|
68
net/eth.c
68
net/eth.c
|
@ -36,16 +36,34 @@ struct eth_ethaddr {
|
|||
struct list_head list;
|
||||
u8 ethaddr[6];
|
||||
int ethid;
|
||||
struct device_node *node;
|
||||
};
|
||||
|
||||
static LIST_HEAD(ethaddr_list);
|
||||
|
||||
static int eth_get_registered_ethaddr(int ethid, void *buf)
|
||||
static void register_preset_mac_address(struct eth_device *edev, const char *ethaddr)
|
||||
{
|
||||
unsigned char ethaddr_str[sizeof("xx:xx:xx:xx:xx:xx")];
|
||||
|
||||
ethaddr_to_string(ethaddr, ethaddr_str);
|
||||
|
||||
if (is_valid_ether_addr(ethaddr)) {
|
||||
dev_info(&edev->dev, "got preset MAC address: %s\n", ethaddr_str);
|
||||
dev_set_param(&edev->dev, "ethaddr", ethaddr_str);
|
||||
}
|
||||
}
|
||||
|
||||
static int eth_get_registered_ethaddr(struct eth_device *edev, void *buf)
|
||||
{
|
||||
struct eth_ethaddr *addr;
|
||||
struct device_node *node = NULL;
|
||||
|
||||
if (edev->parent)
|
||||
node = edev->parent->device_node;
|
||||
|
||||
list_for_each_entry(addr, ðaddr_list, list) {
|
||||
if (addr->ethid == ethid) {
|
||||
if ((node && node == addr->node) ||
|
||||
addr->ethid == edev->dev.id) {
|
||||
memcpy(buf, addr->ethaddr, 6);
|
||||
return 0;
|
||||
}
|
||||
|
@ -78,6 +96,38 @@ void eth_register_ethaddr(int ethid, const char *ethaddr)
|
|||
list_add_tail(&addr->list, ðaddr_list);
|
||||
}
|
||||
|
||||
static struct eth_device *eth_get_by_node(struct device_node *node)
|
||||
{
|
||||
struct eth_device *edev;
|
||||
|
||||
list_for_each_entry(edev, &netdev_list, list) {
|
||||
if (!edev->parent)
|
||||
continue;
|
||||
if (!edev->parent->device_node)
|
||||
continue;
|
||||
if (edev->parent->device_node == node)
|
||||
return edev;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void of_eth_register_ethaddr(struct device_node *node, const char *ethaddr)
|
||||
{
|
||||
struct eth_ethaddr *addr;
|
||||
struct eth_device *edev;
|
||||
|
||||
edev = eth_get_by_node(node);
|
||||
if (edev) {
|
||||
register_preset_mac_address(edev, ethaddr);
|
||||
return;
|
||||
}
|
||||
|
||||
addr = xzalloc(sizeof(*addr));
|
||||
addr->node = node;
|
||||
memcpy(addr->ethaddr, ethaddr, 6);
|
||||
list_add_tail(&addr->list, ðaddr_list);
|
||||
}
|
||||
|
||||
void eth_set_current(struct eth_device *eth)
|
||||
{
|
||||
if (eth_current && eth_current->active) {
|
||||
|
@ -225,8 +275,7 @@ static int eth_set_ethaddr(struct device_d *dev, struct param_d *param, const ch
|
|||
|
||||
int eth_register(struct eth_device *edev)
|
||||
{
|
||||
struct device_d *dev = &edev->dev;
|
||||
unsigned char ethaddr_str[20];
|
||||
struct device_d *dev = &edev->dev;
|
||||
unsigned char ethaddr[6];
|
||||
int ret, found = 0;
|
||||
|
||||
|
@ -254,7 +303,7 @@ int eth_register(struct eth_device *edev)
|
|||
|
||||
list_add_tail(&edev->list, &netdev_list);
|
||||
|
||||
ret = eth_get_registered_ethaddr(dev->id, ethaddr);
|
||||
ret = eth_get_registered_ethaddr(edev, ethaddr);
|
||||
if (!ret)
|
||||
found = 1;
|
||||
|
||||
|
@ -264,13 +313,8 @@ int eth_register(struct eth_device *edev)
|
|||
found = 1;
|
||||
}
|
||||
|
||||
if (found) {
|
||||
ethaddr_to_string(ethaddr, ethaddr_str);
|
||||
if (is_valid_ether_addr(ethaddr)) {
|
||||
dev_info(dev, "got preset MAC address: %s\n", ethaddr_str);
|
||||
dev_set_param(dev, "ethaddr", ethaddr_str);
|
||||
}
|
||||
}
|
||||
if (found)
|
||||
register_preset_mac_address(edev, ethaddr);
|
||||
|
||||
if (!eth_current)
|
||||
eth_current = edev;
|
||||
|
|
|
@ -141,10 +141,10 @@ cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(__cpp_flags)
|
|||
|
||||
ld_flags = $(LDFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
dtc_cpp_flags = -Wp,-MD,$(depfile) -nostdinc \
|
||||
-I$(srctree)/arch/$(SRCARCH)/dts \
|
||||
-I$(srctree)/arch/$(SRCARCH)/include/dts \
|
||||
-undef -D__DTS__
|
||||
dtc_cpp_flags = -Wp,-MD,$(depfile).pre -nostdinc \
|
||||
-I$(srctree)/arch/$(SRCARCH)/dts \
|
||||
-I$(srctree)/arch/$(SRCARCH)/dts/include \
|
||||
-undef -D__DTS__
|
||||
|
||||
# Finds the multi-part object the current object will be linked into
|
||||
modname-multi = $(sort $(foreach m,$(multi-used),\
|
||||
|
@ -212,20 +212,17 @@ $(obj)/%.dtb.S: $(obj)/%.dtb
|
|||
$(call cmd,dt_S_dtb)
|
||||
|
||||
quiet_cmd_dtc = DTC $@
|
||||
cmd_dtc = $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS) -d $(depfile) $<
|
||||
cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
|
||||
-i $(srctree)/arch/$(SRCARCH)/dts $(DTC_FLAGS) \
|
||||
-d $(depfile).dtc $(dtc-tmp) ; \
|
||||
cat $(depfile).pre $(depfile).dtc > $(depfile)
|
||||
|
||||
$(obj)/%.dtb: $(src)/%.dts FORCE
|
||||
$(call if_changed_dep,dtc)
|
||||
|
||||
dtc-tmp = $(subst $(comma),_,$(dot-target).dts)
|
||||
|
||||
quiet_cmd_dtc_cpp = DTC+CPP $@
|
||||
cmd_dtc_cpp = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
||||
$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS) $(dtc-tmp)
|
||||
|
||||
$(obj)/%.dtb: $(src)/%.dtsp FORCE
|
||||
$(call if_changed_dep,dtc_cpp)
|
||||
|
||||
# Bzip2
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -138,38 +138,36 @@ static void print_cmdline(void)
|
|||
printf("cmd_%s := %s\n\n", target, cmdline);
|
||||
}
|
||||
|
||||
char * str_config = NULL;
|
||||
int size_config = 0;
|
||||
int len_config = 0;
|
||||
struct item {
|
||||
struct item *next;
|
||||
unsigned int len;
|
||||
unsigned int hash;
|
||||
char name[0];
|
||||
};
|
||||
|
||||
/*
|
||||
* Grow the configuration string to a desired length.
|
||||
* Usually the first growth is plenty.
|
||||
*/
|
||||
static void grow_config(int len)
|
||||
#define HASHSZ 256
|
||||
static struct item *hashtab[HASHSZ];
|
||||
|
||||
static unsigned int strhash(const char *str, unsigned int sz)
|
||||
{
|
||||
while (len_config + len > size_config) {
|
||||
if (size_config == 0)
|
||||
size_config = 2048;
|
||||
str_config = realloc(str_config, size_config *= 2);
|
||||
if (str_config == NULL)
|
||||
{ perror("fixdep:malloc"); exit(1); }
|
||||
}
|
||||
/* fnv32 hash */
|
||||
unsigned int i, hash = 2166136261U;
|
||||
|
||||
for (i = 0; i < sz; i++)
|
||||
hash = (hash ^ str[i]) * 0x01000193;
|
||||
return hash;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Lookup a value in the configuration string.
|
||||
*/
|
||||
static int is_defined_config(const char * name, int len)
|
||||
static int is_defined_config(const char *name, int len, unsigned int hash)
|
||||
{
|
||||
const char * pconfig;
|
||||
const char * plast = str_config + len_config - len;
|
||||
for ( pconfig = str_config + 1; pconfig < plast; pconfig++ ) {
|
||||
if (pconfig[ -1] == '\n'
|
||||
&& pconfig[len] == '\n'
|
||||
&& !memcmp(pconfig, name, len))
|
||||
struct item *aux;
|
||||
|
||||
for (aux = hashtab[hash % HASHSZ]; aux; aux = aux->next) {
|
||||
if (aux->hash == hash && aux->len == len &&
|
||||
memcmp(aux->name, name, len) == 0)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -178,13 +176,19 @@ static int is_defined_config(const char * name, int len)
|
|||
/*
|
||||
* Add a new value to the configuration string.
|
||||
*/
|
||||
static void define_config(const char * name, int len)
|
||||
static void define_config(const char *name, int len, unsigned int hash)
|
||||
{
|
||||
grow_config(len + 1);
|
||||
struct item *aux = malloc(sizeof(*aux) + len);
|
||||
|
||||
memcpy(str_config+len_config, name, len);
|
||||
len_config += len;
|
||||
str_config[len_config++] = '\n';
|
||||
if (!aux) {
|
||||
perror("fixdep:malloc");
|
||||
exit(1);
|
||||
}
|
||||
memcpy(aux->name, name, len);
|
||||
aux->len = len;
|
||||
aux->hash = hash;
|
||||
aux->next = hashtab[hash % HASHSZ];
|
||||
hashtab[hash % HASHSZ] = aux;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -192,40 +196,49 @@ static void define_config(const char * name, int len)
|
|||
*/
|
||||
static void clear_config(void)
|
||||
{
|
||||
len_config = 0;
|
||||
define_config("", 0);
|
||||
struct item *aux, *next;
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < HASHSZ; i++) {
|
||||
for (aux = hashtab[i]; aux; aux = next) {
|
||||
next = aux->next;
|
||||
free(aux);
|
||||
}
|
||||
hashtab[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Record the use of a CONFIG_* word.
|
||||
*/
|
||||
static void use_config(char *m, int slen)
|
||||
static void use_config(const char *m, int slen)
|
||||
{
|
||||
char s[PATH_MAX];
|
||||
char *p;
|
||||
unsigned int hash = strhash(m, slen);
|
||||
int c, i;
|
||||
|
||||
if (is_defined_config(m, slen))
|
||||
if (is_defined_config(m, slen, hash))
|
||||
return;
|
||||
|
||||
define_config(m, slen);
|
||||
define_config(m, slen, hash);
|
||||
|
||||
memcpy(s, m, slen); s[slen] = 0;
|
||||
|
||||
for (p = s; p < s + slen; p++) {
|
||||
if (*p == '_')
|
||||
*p = '/';
|
||||
printf(" $(wildcard include/config/");
|
||||
for (i = 0; i < slen; i++) {
|
||||
c = m[i];
|
||||
if (c == '_')
|
||||
c = '/';
|
||||
else
|
||||
*p = tolower((int)*p);
|
||||
c = tolower(c);
|
||||
putchar(c);
|
||||
}
|
||||
printf(" $(wildcard include/config/%s.h) \\\n", s);
|
||||
printf(".h) \\\n");
|
||||
}
|
||||
|
||||
static void parse_config_file(char *map, size_t len)
|
||||
static void parse_config_file(const char *map, size_t len)
|
||||
{
|
||||
int *end = (int *) (map + len);
|
||||
const int *end = (const int *) (map + len);
|
||||
/* start at +1, so that p can never be < map */
|
||||
int *m = (int *) map + 1;
|
||||
char *p, *q;
|
||||
const int *m = (const int *) map + 1;
|
||||
const char *p, *q;
|
||||
|
||||
for (; m < end; m++) {
|
||||
if (*m == INT_CONF) { p = (char *) m ; goto conf; }
|
||||
|
@ -265,7 +278,7 @@ static int strrcmp(char *s, char *sub)
|
|||
return memcmp(s + slen - sublen, sub, sublen);
|
||||
}
|
||||
|
||||
static void do_config_file(char *filename)
|
||||
static void do_config_file(const char *filename)
|
||||
{
|
||||
struct stat st;
|
||||
int fd;
|
||||
|
@ -273,7 +286,7 @@ static void do_config_file(char *filename)
|
|||
|
||||
fd = open(filename, O_RDONLY);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "fixdep: ");
|
||||
fprintf(stderr, "fixdep: error opening config file: ");
|
||||
perror(filename);
|
||||
exit(2);
|
||||
}
|
||||
|
@ -296,42 +309,89 @@ static void do_config_file(char *filename)
|
|||
close(fd);
|
||||
}
|
||||
|
||||
/*
|
||||
* Important: The below generated source_foo.o and deps_foo.o variable
|
||||
* assignments are parsed not only by make, but also by the rather simple
|
||||
* parser in scripts/mod/sumversion.c.
|
||||
*/
|
||||
static void parse_dep_file(void *map, size_t len)
|
||||
{
|
||||
char *m = map;
|
||||
char *end = m + len;
|
||||
char *p;
|
||||
char s[PATH_MAX];
|
||||
|
||||
p = strchr(m, ':');
|
||||
if (!p) {
|
||||
fprintf(stderr, "fixdep: parse error\n");
|
||||
exit(1);
|
||||
}
|
||||
memcpy(s, m, p-m); s[p-m] = 0;
|
||||
printf("deps_%s := \\\n", target);
|
||||
m = p+1;
|
||||
int is_target;
|
||||
int saw_any_target = 0;
|
||||
int is_first_dep = 0;
|
||||
|
||||
clear_config();
|
||||
|
||||
while (m < end) {
|
||||
/* Skip any "white space" */
|
||||
while (m < end && (*m == ' ' || *m == '\\' || *m == '\n'))
|
||||
m++;
|
||||
/* Find next "white space" */
|
||||
p = m;
|
||||
while (p < end && *p != ' ') p++;
|
||||
if (p == end) {
|
||||
do p--; while (!isalnum(*p));
|
||||
while (p < end && *p != ' ' && *p != '\\' && *p != '\n')
|
||||
p++;
|
||||
/* Is the token we found a target name? */
|
||||
is_target = (*(p-1) == ':');
|
||||
/* Don't write any target names into the dependency file */
|
||||
if (is_target) {
|
||||
/* The /next/ file is the first dependency */
|
||||
is_first_dep = 1;
|
||||
} else {
|
||||
/* Save this token/filename */
|
||||
memcpy(s, m, p-m);
|
||||
s[p - m] = 0;
|
||||
|
||||
/* Ignore certain dependencies */
|
||||
if (strrcmp(s, "include/generated/autoconf.h") &&
|
||||
strrcmp(s, "arch/um/include/uml-config.h") &&
|
||||
strrcmp(s, "include/linux/kconfig.h") &&
|
||||
strrcmp(s, ".ver")) {
|
||||
/*
|
||||
* Do not list the source file as dependency,
|
||||
* so that kbuild is not confused if a .c file
|
||||
* is rewritten into .S or vice versa. Storing
|
||||
* it in source_* is needed for modpost to
|
||||
* compute srcversions.
|
||||
*/
|
||||
if (is_first_dep) {
|
||||
/*
|
||||
* If processing the concatenation of
|
||||
* multiple dependency files, only
|
||||
* process the first target name, which
|
||||
* will be the original source name,
|
||||
* and ignore any other target names,
|
||||
* which will be intermediate temporary
|
||||
* files.
|
||||
*/
|
||||
if (!saw_any_target) {
|
||||
saw_any_target = 1;
|
||||
printf("source_%s := %s\n\n",
|
||||
target, s);
|
||||
printf("deps_%s := \\\n",
|
||||
target);
|
||||
}
|
||||
is_first_dep = 0;
|
||||
} else
|
||||
printf(" %s \\\n", s);
|
||||
do_config_file(s);
|
||||
}
|
||||
}
|
||||
memcpy(s, m, p-m); s[p-m] = 0;
|
||||
if (strrcmp(s, "include/generated/autoconf.h") &&
|
||||
strrcmp(s, "arch/um/include/uml-config.h") &&
|
||||
strrcmp(s, ".ver")) {
|
||||
printf(" %s \\\n", s);
|
||||
do_config_file(s);
|
||||
}
|
||||
/*
|
||||
* Start searching for next token immediately after the first
|
||||
* "whitespace" character that follows this token.
|
||||
*/
|
||||
m = p + 1;
|
||||
}
|
||||
|
||||
if (!saw_any_target) {
|
||||
fprintf(stderr, "fixdep: parse error; no targets found\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("\n%s: $(deps_%s)\n\n", target, target);
|
||||
printf("$(deps_%s):\n", target);
|
||||
}
|
||||
|
@ -344,11 +404,15 @@ static void print_deps(void)
|
|||
|
||||
fd = open(depfile, O_RDONLY);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "fixdep: ");
|
||||
fprintf(stderr, "fixdep: error opening depfile: ");
|
||||
perror(depfile);
|
||||
exit(2);
|
||||
}
|
||||
fstat(fd, &st);
|
||||
if (fstat(fd, &st) < 0) {
|
||||
fprintf(stderr, "fixdep: error fstat'ing depfile: ");
|
||||
perror(depfile);
|
||||
exit(2);
|
||||
}
|
||||
if (st.st_size == 0) {
|
||||
fprintf(stderr,"fixdep: %s is empty\n",depfile);
|
||||
close(fd);
|
||||
|
@ -374,7 +438,7 @@ static void traps(void)
|
|||
int *p = (int *)test;
|
||||
|
||||
if (*p != INT_CONF) {
|
||||
fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n",
|
||||
fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianness? %#x\n",
|
||||
*p);
|
||||
exit(2);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue