mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
a2d6fbf5ff
In Linux IMX and IMXRT use the device tree to hold the anatop address. The anatop is used in clock drivers as it controls the internal PLLs This will move the macro from asm/arch-imxrt to the device tree. This presumably should also be done with the other IMX boards as well. Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com>
188 lines
4.6 KiB
Text
188 lines
4.6 KiB
Text
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
|
|
/*
|
|
* Copyright (C) 2019
|
|
* Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
*/
|
|
|
|
#include "armv7-m.dtsi"
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/clock/imxrt1050-clock.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/memory/imxrt-sdram.h>
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
aliases {
|
|
display0 = &lcdif;
|
|
gpio0 = &gpio1;
|
|
gpio1 = &gpio2;
|
|
gpio2 = &gpio3;
|
|
gpio3 = &gpio4;
|
|
gpio4 = &gpio5;
|
|
mmc0 = &usdhc1;
|
|
serial0 = &lpuart1;
|
|
usbphy0 = &usbphy1;
|
|
};
|
|
|
|
clocks {
|
|
osc: osc {
|
|
compatible = "fsl,imx-osc", "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <24000000>;
|
|
};
|
|
};
|
|
|
|
soc {
|
|
semc: semc@402f0000 {
|
|
compatible = "fsl,imxrt-semc";
|
|
reg = <0x402f0000 0x4000>;
|
|
clocks = <&clks IMXRT1050_CLK_SEMC>;
|
|
pinctrl-0 = <&pinctrl_semc>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
lpuart1: serial@40184000 {
|
|
compatible = "fsl,imxrt-lpuart";
|
|
reg = <0x40184000 0x4000>;
|
|
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clks IMXRT1050_CLK_LPUART1>;
|
|
clock-names = "per";
|
|
status = "disabled";
|
|
};
|
|
|
|
iomuxc: iomuxc@401f8000 {
|
|
compatible = "fsl,imxrt-iomuxc";
|
|
reg = <0x401f8000 0x4000>;
|
|
fsl,mux_mask = <0x7>;
|
|
};
|
|
|
|
anatop: anatop@400d8000 {
|
|
compatible = "fsl,imxrt-anatop";
|
|
reg = <0x400d8000 0x4000>;
|
|
};
|
|
|
|
clks: ccm@400fc000 {
|
|
compatible = "fsl,imxrt1050-ccm";
|
|
reg = <0x400fc000 0x4000>;
|
|
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
usdhc1: usdhc@402c0000 {
|
|
compatible = "fsl,imxrt-usdhc";
|
|
reg = <0x402c0000 0x10000>;
|
|
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clks IMXRT1050_CLK_USDHC1>;
|
|
clock-names = "per";
|
|
bus-width = <4>;
|
|
fsl,tuning-start-tap = <20>;
|
|
fsl,tuning-step= <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio1: gpio@401b8000 {
|
|
compatible = "fsl,imxrt-gpio", "fsl,imx35-gpio";
|
|
reg = <0x401b8000 0x4000>;
|
|
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio2: gpio@401bc000 {
|
|
compatible = "fsl,imxrt-gpio", "fsl,imx35-gpio";
|
|
reg = <0x401bc000 0x4000>;
|
|
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio3: gpio@401c0000 {
|
|
compatible = "fsl,imxrt-gpio", "fsl,imx35-gpio";
|
|
reg = <0x401c0000 0x4000>;
|
|
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio4: gpio@401c4000 {
|
|
compatible = "fsl,imxrt-gpio", "fsl,imx35-gpio";
|
|
reg = <0x401c4000 0x4000>;
|
|
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
gpio5: gpio@400c0000 {
|
|
compatible = "fsl,imxrt-gpio", "fsl,imx35-gpio";
|
|
reg = <0x400c0000 0x4000>;
|
|
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
};
|
|
|
|
lcdif: lcdif@402b8000 {
|
|
compatible = "fsl,imxrt-lcdif";
|
|
reg = <0x402b8000 0x4000>;
|
|
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clks IMXRT1050_CLK_LCDIF_PIX>,
|
|
<&clks IMXRT1050_CLK_LCDIF_APB>;
|
|
clock-names = "pix", "axi";
|
|
assigned-clocks = <&clks IMXRT1050_CLK_LCDIF_SEL>;
|
|
assigned-clock-parents = <&clks IMXRT1050_CLK_PLL5_VIDEO>;
|
|
status = "disabled";
|
|
};
|
|
|
|
gpt1: gpt1@401ec000 {
|
|
compatible = "fsl,imxrt-gpt";
|
|
reg = <0x401ec000 0x4000>;
|
|
interrupts = <100>;
|
|
clocks = <&osc>;
|
|
status = "disabled";
|
|
};
|
|
|
|
usbphy1: usbphy@400d9000 {
|
|
compatible = "fsl,imxrt-usbphy";
|
|
reg = <0x400d9000 0x1000>;
|
|
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
usbmisc: usbmisc@402e0800 {
|
|
#index-cells = <1>;
|
|
compatible = "fsl,imxrt-usbmisc";
|
|
reg = <0x402e0800 0x200>;
|
|
clocks = <&clks IMXRT1050_CLK_USBOH3>;
|
|
};
|
|
|
|
usbotg1: usb@402e0000 {
|
|
compatible = "fsl,imxrt-usb", "fsl,imx27-usb";
|
|
reg = <0x402e0000 0x200>;
|
|
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clks IMXRT1050_CLK_USBOH3>;
|
|
fsl,usbphy = <&usbphy1>;
|
|
fsl,usbmisc = <&usbmisc 0>;
|
|
ahb-burst-config = <0x0>;
|
|
tx-burst-size-dword = <0x10>;
|
|
rx-burst-size-dword = <0x10>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
};
|