/*
 * Copyright 2015-2016 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.
 */

&soc {
       u-boot,dm-pre-reloc;
};

&ahbbridge0 {
       u-boot,dm-pre-reloc;
};

&ahbbridge1 {
       u-boot,dm-pre-reloc;
};

&iomuxc {
       u-boot,dm-pre-reloc;
};

&iomuxc1 {
       u-boot,dm-pre-reloc;
};

&lpuart4 {
       u-boot,dm-pre-reloc;
};

&lpuart5 {
       u-boot,dm-pre-reloc;
};

&lpuart6 {
       u-boot,dm-pre-reloc;
};

&lpuart7 {
       u-boot,dm-pre-reloc;
};
