Fwd: Barebox 2017.02 works great but no Linux Framebuffer... :-/
gianluca
gianlucarenzi at eurekelettronica.it
Mon Jun 19 08:49:41 PDT 2017
Hello Lucas, Sascha and the barebox mailing list guys!
I am back with the new boards batch release (now QuadPlus and DualLite iMX6)
Now I adapted barebox to fit both processors and it works quite well.
From Barebox point-of-view the ldb node of the device-tree is using
three timings and they are working good depending on which panel bridge
board I am connecting to (1280x800, 1024x600 and 800x480).
The custom startup code of barebox is looking for a special eeprom on
the panel-bridge and set the device tree accordingly, i.e. setting the
native-mode node to the correct display-timing.
The same device-tree is used in Linux (as in attachment) as you can see
the ldb section and the panel section, using a simple-panel and a
correct panel timing using the innolux,g101ice_l01 panel driver timings.
>
>> No, Linux does not support DT defined modes in the panel. You need a
>> panel with a proper compatible and driver.
>>
>> See drivers/gpu/drm/panel. For most LVDS panels simple-panel is what you
>> want to use.
>>
They are ignored in the Barebox starup (as you know barebox can use the
display-timings in the ldb section) but the panel section is used in linux.
Nevertheless it does not work.
The panel phandle is correctly set and the ldb is pointing with the
fsl,panel node to it. (as used in the imx6q-b650v3.dts in the kernel dts
file)
> panel-lvds0 {
> compatible = "innolux,g121x1-l03";
> backlight = <&backlight_lvds>;
> power-supply = <®_lvds>;
>
> port {
> panel_in_lvds0: endpoint {
> remote-endpoint = <&lvds0_out>;
> };
> };
> };
> &ldb {
> status = "okay";
>
> lvds0: lvds-channel at 0 {
> fsl,data-mapping = "spwg";
> fsl,data-width = <24>;
> status = "okay";
>
> port at 4 {
> reg = <4>;
>
> lvds0_out: endpoint {
> remote-endpoint = <&panel_in_lvds0>;
> };
> };
> };
> };
I do not see any difference, apart the display-timings in the ldb section.
In my dts file:
> panel: panel {
> compatible = "innolux,g101ice_l01", "simple-panel";
> backlight = <&backlight_lvds>;
> status = "okay";
> port {
> in_lvds0: endpoint {
> remote-endpoint = <&lvds0_out>;
> };
> };
> };
> &ldb {
> #address-cells = <1>;
> #size-cells = <0>;
> status = "okay";
>
> lvds0: lvds-channel at 0 {
> fsl,data-mapping = "spwg";
> fsl,data-width = <24>;
> fsl,panel = <&panel>;
> status = "okay";
>
> display-timings {
> native-mode = <&am1024600l>;
> ph800480t013: ph800480t013 {
> clock-frequency = <33300000>;
> hactive = <800>;
> vactive = <480>;
> hback-porch = <46>;
> hfront-porch = <210>;
> vback-porch = <23>;
> vfront-porch = <22>;
> hsync-len = <1>;
> vsync-len = <1>;
> hsync-active = <0>;
> vsync-active = <0>;
> de-active = <1>;
> pixelclk-active = <0>;
> };
> am1024600l: am1024600l {
> clock-frequency = <51200000>;
> hactive = <1024>;
> vactive = <600>;
> hback-porch = <0>;
> hfront-porch = <320>;
> vback-porch = <0>;
> vfront-porch = <35>;
> hsync-len = <1>;
> vsync-len = <1>;
> hsync-active = <0>;
> vsync-active = <0>;
> de-active = <1>;
> pixelclk-active = <0>;
> };
> am128080n3tz: am1280800n3tz {
> clock-frequency = <71000000>;
> hactive = <1280>;
> vactive = <800>;
> hback-porch = <50>;
> hfront-porch = <50>;
> vback-porch = <5>;
> vfront-porch = <5>;
> hsync-len = <60>;
> vsync-len = <13>;
> hsync-active = <0>;
> vsync-active = <0>;
> de-active = <1>;
> pixelclk-active = <0>;
> };
> };
>
> port at 4 {
> reg = <4>;
> lvds0_out: endpoint {
> remote-endpoint = <&in_lvds0>;
> };
> };
>
> };
> };
Can you figure out why?
--
Eurek s.r.l. |
Electronic Engineering | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377 | Fax: +39-(0)542-609212
-------------- next part --------------
/dts-v1/;
/ {
compatible = "eurek,ek360", "fsl,imx6dl";
model = "Eurek EK360 i.MX6DL";
#address-cells = <0x1>;
#size-cells = <0x1>;
gpu-subsystem {
compatible = "fsl,imx-gpu-subsystem";
cores = <0x44 0x45>;
};
clocks {
#address-cells = <0x1>;
#size-cells = <0x0>;
osc {
compatible = "fsl,imx-osc", "fixed-clock";
#clock-cells = <0x0>;
clock-frequency = <0x16e3600>;
};
ckih1 {
compatible = "fsl,imx-ckih1", "fixed-clock";
#clock-cells = <0x0>;
clock-frequency = <0x0>;
};
ckil {
compatible = "fsl,imx-ckil", "fixed-clock";
#clock-cells = <0x0>;
clock-frequency = <0x8000>;
};
};
display-subsystem {
compatible = "fsl,imx-display-subsystem";
ports = <0x42 0x43>;
};
backlight-lvds {
compatible = "pwm-backlight";
default-brightness-level = <0x6>;
brightness-levels = <0x0 0x4 0x8 0x10 0x20 0x40 0x80 0xff>;
status = "okay";
phandle = <0x4c>;
pinctrl-0 = <0x48>;
pwms = <0x49 0x0 0x65b9aa>;
linux,phandle = <0x4c>;
power-supply = <0x24>;
pinctrl-names = "default";
};
soc {
compatible = "simple-bus";
ranges;
interrupt-parent = <0x1>;
#address-cells = <0x1>;
#size-cells = <0x1>;
sram at 00900000 {
compatible = "mmio-sram";
clocks = <0x2 0x8e>;
phandle = <0xc>;
reg = <0x900000 0x20000>;
linux,phandle = <0xc>;
};
gpu at 00130000 {
power-domains = <0x1 0x1>;
compatible = "vivante,gc";
clocks = <0x2 0x1b 0x2 0x7a 0x2 0x4a>;
clock-names = "bus", "core", "shader";
interrupts = <0x0 0x9 0x4>;
phandle = <0x45>;
reg = <0x130000 0x4000>;
linux,phandle = <0x45>;
};
timer at 00a00600 {
compatible = "arm,cortex-a9-twd-timer";
clocks = <0x2 0xf>;
interrupt-parent = <0x8>;
interrupts = <0x1 0xd 0xf01>;
reg = <0xa00600 0x20>;
};
dma-apbh at 00110000 {
#dma-cells = <0x1>;
compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
clocks = <0x2 0x6a>;
dma-channels = <0x4>;
interrupts = <0x0 0xd 0x4 0x0 0xd 0x4 0x0 0xd 0x4 0x0 0xd 0x4>;
phandle = <0x3>;
reg = <0x110000 0x2000>;
linux,phandle = <0x3>;
interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
};
pcie at 0x01000000 {
compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
clocks = <0x2 0x90 0x2 0xce 0x2 0xbd>;
reg-names = "dbi", "config";
device_type = "pci";
num-lanes = <0x1>;
clock-names = "pcie", "pcie_bus", "pcie_phy";
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
ranges = <0x81000000 0x0 0x0 0x1f80000 0x0 0x10000 0x82000000 0x0 0x1000000 0x1000000 0x0 0xf00000>;
status = "disabled";
#interrupt-cells = <0x1>;
#address-cells = <0x3>;
interrupts = <0x0 0x78 0x4>;
interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x7b 0x4 0x0 0x0 0x0 0x2 0x1 0x0 0x7a 0x4 0x0 0x0 0x0 0x3 0x1 0x0 0x79 0x4 0x0 0x0 0x0 0x4 0x1 0x0 0x78 0x4>;
#size-cells = <0x2>;
reg = <0x1ffc000 0x4000 0x1f00000 0x80000>;
interrupt-names = "msi";
};
aips-bus at 02100000 {
compatible = "fsl,aips-bus", "simple-bus";
ranges;
#address-cells = <0x1>;
#size-cells = <0x1>;
reg = <0x2100000 0x100000>;
i2c at 021a8000 {
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
clocks = <0x2 0x7f>;
status = "okay";
#address-cells = <0x1>;
interrupts = <0x0 0x26 0x4>;
#size-cells = <0x0>;
reg = <0x21a8000 0x4000>;
clock-frequency = <0x186a0>;
pinctrl-0 = <0x31>;
pinctrl-names = "default";
};
usbmisc at 02184800 {
compatible = "fsl,imx6q-usbmisc";
clocks = <0x2 0xa2>;
#index-cells = <0x1>;
phandle = <0x1c>;
reg = <0x2184800 0x200>;
linux,phandle = <0x1c>;
};
mlb at 0218c000 {
interrupts = <0x0 0x35 0x4 0x0 0x75 0x4 0x0 0x7e 0x4>;
reg = <0x218c000 0x4000>;
};
mmdc at 021b4000 {
reg = <0x21b4000 0x4000>;
};
usdhc at 02190000 {
compatible = "fsl,imx6q-usdhc";
clocks = <0x2 0xa3 0x2 0xa3 0x2 0xa3>;
clock-names = "ipg", "ahb", "per";
status = "disabled";
interrupts = <0x0 0x16 0x4>;
bus-width = <0x4>;
reg = <0x2190000 0x4000>;
};
usb at 02184000 {
vbus-supply = <0x1d>;
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
clocks = <0x2 0xa2>;
fsl,usbmisc = <0x1c 0x0>;
fsl,usbphy = <0x1b>;
status = "okay";
interrupts = <0x0 0x2b 0x4>;
tx-burst-size-dword = <0x10>;
ahb-burst-config = <0x0>;
rx-burst-size-dword = <0x10>;
reg = <0x2184000 0x200>;
pinctrl-0 = <0x1e 0x1f>;
dr_mode = "otg";
pinctrl-names = "default";
};
mipi at 021dc000 {
reg = <0x21dc000 0x4000>;
};
ocotp at 021bc000 {
compatible = "fsl,imx6q-ocotp", "syscon";
clocks = <0x2 0x80>;
phandle = <0x11>;
reg = <0x21bc000 0x4000>;
linux,phandle = <0x11>;
};
weim at 021b8000 {
compatible = "fsl,imx6q-weim";
clocks = <0x2 0xc4>;
interrupts = <0x0 0xe 0x4>;
reg = <0x21b8000 0x4000>;
};
i2c at 021f8000 {
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
clocks = <0x2 0x74>;
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0x23 0x4>;
#size-cells = <0x0>;
reg = <0x21f8000 0x4000>;
};
usb at 02184600 {
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
clocks = <0x2 0xa2>;
fsl,usbmisc = <0x1c 0x3>;
status = "disabled";
interrupts = <0x0 0x2a 0x4>;
tx-burst-size-dword = <0x10>;
ahb-burst-config = <0x0>;
rx-burst-size-dword = <0x10>;
reg = <0x2184600 0x200>;
dr_mode = "host";
};
usdhc at 02198000 {
compatible = "fsl,imx6q-usdhc";
clocks = <0x2 0xa5 0x2 0xa5 0x2 0xa5>;
voltage-ranges = <0xce4 0xce4>;
clock-names = "ipg", "ahb", "per";
cd-gpios = <0x2a 0x0 0x1>;
status = "okay";
interrupts = <0x0 0x18 0x4>;
no-1-8-v;
bus-width = <0x4>;
reg = <0x2198000 0x4000>;
pinctrl-0 = <0x29>;
vmmc-supply = <0x24>;
vqmmc-supply = <0x24>;
pinctrl-names = "default";
};
i2c at 021a4000 {
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
clocks = <0x2 0x7e>;
status = "okay";
#address-cells = <0x1>;
interrupts = <0x0 0x25 0x4>;
#size-cells = <0x0>;
phandle = <0x5>;
reg = <0x21a4000 0x4000>;
clock-frequency = <0x186a0>;
pinctrl-0 = <0x30>;
linux,phandle = <0x5>;
pinctrl-names = "default";
};
caam at 2100000 {
compatible = "fsl,sec-v4.0";
clocks = <0x2 0xf1 0x2 0xf2 0x2 0xf3 0x2 0xc4>;
clock-names = "mem", "aclk", "ipg", "emi_slow";
ranges = <0x0 0x2100000 0x10000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
reg = <0x2100000 0x10000>;
fsl,sec-era = <0x4>;
jr1 at 2000 {
compatible = "fsl,sec-v4.0-job-ring";
interrupts = <0x0 0x6a 0x4>;
reg = <0x2000 0x1000>;
};
jr0 at 1000 {
compatible = "fsl,sec-v4.0-job-ring";
interrupts = <0x0 0x69 0x4>;
reg = <0x1000 0x1000>;
};
};
mmdc at 021b0000 {
compatible = "fsl,imx6q-mmdc";
reg = <0x21b0000 0x4000>;
};
serial at 021ec000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
clocks = <0x2 0xa0 0x2 0xa1>;
clock-names = "ipg", "per";
status = "okay";
interrupts = <0x0 0x1c 0x4>;
dma-names = "rx", "tx";
reg = <0x21ec000 0x4000>;
pinctrl-0 = <0x36>;
dmas = <0x9 0x1d 0x4 0x0 0x9 0x1e 0x4 0x0>;
pinctrl-names = "default";
};
romcp at 021ac000 {
reg = <0x21ac000 0x4000>;
};
audmux at 021d8000 {
compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
status = "okay";
reg = <0x21d8000 0x4000>;
pinctrl-0 = <0x32>;
pinctrl-names = "default";
};
tzasc at 021d4000 {
interrupts = <0x0 0x6d 0x4>;
reg = <0x21d4000 0x4000>;
};
serial at 021f4000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
clocks = <0x2 0xa0 0x2 0xa1>;
clock-names = "ipg", "per";
status = "disabled";
interrupts = <0x0 0x1e 0x4>;
dma-names = "rx", "tx";
reg = <0x21f4000 0x4000>;
dmas = <0x9 0x21 0x4 0x0 0x9 0x22 0x4 0x0>;
};
usb at 02184200 {
vbus-supply = <0x21>;
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
clocks = <0x2 0xa2>;
fsl,usbmisc = <0x1c 0x1>;
fsl,usbphy = <0x20>;
status = "okay";
interrupts = <0x0 0x28 0x4>;
tx-burst-size-dword = <0x10>;
ahb-burst-config = <0x0>;
rx-burst-size-dword = <0x10>;
reg = <0x2184200 0x200>;
pinctrl-0 = <0x22 0x23>;
dr_mode = "host";
pinctrl-names = "default";
};
vdoa at 021e4000 {
interrupts = <0x0 0x12 0x4>;
reg = <0x21e4000 0x4000>;
};
mipi at 021e0000 {
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x21e0000 0x4000>;
ports {
#address-cells = <0x1>;
#size-cells = <0x0>;
port at 1 {
reg = <0x1>;
endpoint {
remote-endpoint = <0x34>;
phandle = <0x3c>;
linux,phandle = <0x3c>;
};
};
port at 0 {
reg = <0x0>;
endpoint {
remote-endpoint = <0x33>;
phandle = <0x38>;
linux,phandle = <0x38>;
};
};
};
};
usdhc at 02194000 {
compatible = "fsl,imx6q-usdhc";
clocks = <0x2 0xa4 0x2 0xa4 0x2 0xa4>;
voltage-ranges = <0xce4 0xce4>;
clock-names = "ipg", "ahb", "per";
status = "okay";
interrupts = <0x0 0x17 0x4>;
no-1-8-v;
bus-width = <0x4>;
reg = <0x2194000 0x4000>;
pinctrl-0 = <0x27>;
vmmc-supply = <0x28>;
non-removable;
max-frequency = <0x17d7840>;
vqmmc-supply = <0x24>;
pinctrl-names = "default";
};
i2c at 021a0000 {
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
clocks = <0x2 0x7d>;
status = "okay";
#address-cells = <0x1>;
interrupts = <0x0 0x24 0x4>;
#size-cells = <0x0>;
reg = <0x21a0000 0x4000>;
clock-frequency = <0x186a0>;
pinctrl-0 = <0x2c>;
pinctrl-names = "default";
touchscreen at 48 {
compatible = "eurek,sx8656-ek";
status = "okay";
interrupt-parent = <0x2f>;
interrupts = <0x11 0x2>;
reg = <0x48>;
pinctrl-0 = <0x2e>;
pinctrl-names = "default";
};
at24 at 50 {
compatible = "at24,24c64";
status = "okay";
pagesize = <0x40>;
reg = <0x50>;
};
sgtl5000 at 0a {
VDDIO-supply = <0x24>;
compatible = "fsl,sgtl5000";
clocks = <0x2 0xc9>;
VDDA-supply = <0x24>;
status = "okay";
phandle = <0x4b>;
reg = <0xa>;
VDDD-supply = <0x2d>;
linux,phandle = <0x4b>;
};
rtc at 51 {
compatible = "phg,pcf8563";
status = "okay";
reg = <0x51>;
};
};
tzasc at 021d0000 {
interrupts = <0x0 0x6c 0x4>;
reg = <0x21d0000 0x4000>;
};
serial at 021f0000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
clocks = <0x2 0xa0 0x2 0xa1>;
clock-names = "ipg", "per";
status = "disabled";
interrupts = <0x0 0x1d 0x4>;
dma-names = "rx", "tx";
reg = <0x21f0000 0x4000>;
dmas = <0x9 0x1f 0x4 0x0 0x9 0x20 0x4 0x0>;
};
usdhc at 0219c000 {
compatible = "fsl,imx6q-usdhc";
clocks = <0x2 0xa6 0x2 0xa6 0x2 0xa6>;
voltage-ranges = <0xce4 0xce4>;
clock-names = "ipg", "ahb", "per";
status = "okay";
interrupts = <0x0 0x19 0x4>;
no-1-8-v;
bus-width = <0x8>;
reg = <0x219c000 0x4000>;
pinctrl-0 = <0x2b>;
vmmc-supply = <0x24>;
non-removable;
vqmmc-supply = <0x24>;
pinctrl-names = "default";
};
ethernet at 02188000 {
txd1-skew-ps = <0x0>;
interrupts-extended = <0x8 0x0 0x76 0x4 0x8 0x0 0x77 0x4>;
compatible = "fsl,imx6q-fec";
clocks = <0x2 0x75 0x2 0x75 0x2 0xbe>;
txc-skew-ps = <0xbb8>;
rxd3-skew-ps = <0x0>;
clock-names = "ipg", "ahb", "ptp";
rxd0-skew-ps = <0x0>;
txd2-skew-ps = <0x0>;
phy-supply = <0x24>;
rxc-skew-ps = <0xbb8>;
status = "okay";
rxd1-skew-ps = <0x0>;
txd3-skew-ps = <0x0>;
rxdv-skew-ps = <0x0>;
txd0-skew-ps = <0x0>;
reg = <0x2188000 0x4000>;
phy-mode = "rgmii";
pinctrl-0 = <0x25>;
phy-reset-duration = <0x64>;
phy-reset-gpios = <0x26 0x17 0x0>;
txen-skew-ps = <0x0>;
rxd2-skew-ps = <0x0>;
pinctrl-names = "default";
};
serial at 021e8000 {
compatible = "eurek,imx6-ek-uart";
clocks = <0x2 0xa0 0x2 0xa1>;
rs485-rts-delay = <0x0 0x0>;
linux,rs485-enabled-at-boot-time;
clock-names = "ipg", "per";
rts-gpio = <0x26 0x12 0x1>;
status = "okay";
interrupts = <0x0 0x1b 0x4>;
dma-names = "rx", "tx";
rs485-rts-active-low;
reg = <0x21e8000 0x4000>;
pinctrl-0 = <0x35>;
dmas = <0x9 0x1b 0x4 0x0 0x9 0x1c 0x4 0x0>;
pinctrl-names = "default";
};
usb at 02184400 {
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
clocks = <0x2 0xa2>;
fsl,usbmisc = <0x1c 0x2>;
status = "disabled";
interrupts = <0x0 0x29 0x4>;
tx-burst-size-dword = <0x10>;
ahb-burst-config = <0x0>;
rx-burst-size-dword = <0x10>;
reg = <0x2184400 0x200>;
dr_mode = "host";
};
aipstz at 0217c000 {
reg = <0x217c000 0x4000>;
};
};
aips-bus at 02000000 {
compatible = "fsl,aips-bus", "simple-bus";
ranges;
#address-cells = <0x1>;
#size-cells = <0x1>;
reg = <0x2000000 0x100000>;
lcdif at 020f8000 {
interrupts = <0x0 0x27 0x4>;
reg = <0x20f8000 0x4000>;
};
usbphy at 020ca000 {
compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
clocks = <0x2 0xb7>;
interrupts = <0x0 0x2d 0x4>;
phandle = <0x20>;
fsl,anatop = <0x10>;
reg = <0x20ca000 0x1000>;
linux,phandle = <0x20>;
};
dcic at 020e4000 {
interrupts = <0x0 0x7c 0x4>;
reg = <0x20e4000 0x4000>;
};
aipstz at 0207c000 {
reg = <0x207c000 0x4000>;
};
gpc at 020dc000 {
compatible = "fsl,imx6q-gpc";
clocks = <0x2 0x7a 0x2 0x4a 0x2 0x79 0x2 0x1a 0x2 0x8f 0x2 0xa8>;
#interrupt-cells = <0x3>;
interrupt-parent = <0x8>;
interrupts = <0x0 0x59 0x4 0x0 0x5a 0x4>;
phandle = <0x1>;
reg = <0x20dc000 0x4000>;
pu-supply = <0x13>;
linux,phandle = <0x1>;
#power-domain-cells = <0x1>;
interrupt-controller;
};
flexcan at 02094000 {
compatible = "fsl,imx6q-flexcan";
clocks = <0x2 0x6e 0x2 0x6f>;
clock-names = "ipg", "per";
status = "disabled";
interrupts = <0x0 0x6f 0x4>;
reg = <0x2094000 0x4000>;
};
ccm at 020c4000 {
compatible = "fsl,imx6q-ccm";
interrupts = <0x0 0x57 0x4 0x0 0x58 0x4>;
#clock-cells = <0x1>;
phandle = <0x2>;
reg = <0x20c4000 0x4000>;
linux,phandle = <0x2>;
};
gpio at 020a4000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x0 0x61 0x2 0xf 0x2 0x69 0x8 0xf 0xa 0x63 0x6 0xf 0x10 0x51 0x10>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x46 0x4 0x0 0x47 0x4>;
phandle = <0x26>;
reg = <0x20a4000 0x4000>;
#gpio-cells = <0x2>;
linux,phandle = <0x26>;
interrupt-controller;
};
anatop at 020c8000 {
compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
interrupts = <0x0 0x31 0x4 0x0 0x36 0x4 0x0 0x7f 0x4>;
phandle = <0x10>;
reg = <0x20c8000 0x1000>;
linux,phandle = <0x10>;
regulator-vddpu {
regulator-enable-ramp-delay = <0x96>;
anatop-delay-bit-shift = <0x1a>;
compatible = "fsl,anatop-regulator";
anatop-max-voltage = <0x162010>;
anatop-vol-bit-shift = <0x9>;
anatop-delay-reg-offset = <0x170>;
anatop-delay-bit-width = <0x2>;
anatop-min-voltage = <0xb1008>;
phandle = <0x13>;
regulator-min-microvolt = <0xb1008>;
regulator-max-microvolt = <0x162010>;
anatop-vol-bit-width = <0x5>;
anatop-min-bit-val = <0x1>;
anatop-reg-offset = <0x140>;
regulator-name = "vddpu";
linux,phandle = <0x13>;
};
regulator-2p5 {
compatible = "fsl,anatop-regulator";
anatop-max-voltage = <0x29f630>;
anatop-vol-bit-shift = <0x8>;
anatop-min-voltage = <0x1e8480>;
regulator-min-microvolt = <0x1e8480>;
regulator-max-microvolt = <0x29f630>;
anatop-vol-bit-width = <0x5>;
regulator-always-on;
anatop-min-bit-val = <0x0>;
anatop-reg-offset = <0x130>;
regulator-name = "vdd2p5";
};
regulator-vddcore {
anatop-delay-bit-shift = <0x18>;
compatible = "fsl,anatop-regulator";
anatop-max-voltage = <0x162010>;
anatop-vol-bit-shift = <0x0>;
anatop-delay-reg-offset = <0x170>;
anatop-delay-bit-width = <0x2>;
anatop-min-voltage = <0xb1008>;
phandle = <0x40>;
regulator-min-microvolt = <0xb1008>;
regulator-max-microvolt = <0x162010>;
anatop-vol-bit-width = <0x5>;
regulator-always-on;
anatop-min-bit-val = <0x1>;
anatop-reg-offset = <0x140>;
regulator-name = "vddarm";
linux,phandle = <0x40>;
};
regulator-3p0 {
compatible = "fsl,anatop-regulator";
anatop-max-voltage = <0x33e140>;
anatop-vol-bit-shift = <0x8>;
anatop-min-voltage = <0x280de8>;
regulator-min-microvolt = <0x2ab980>;
regulator-max-microvolt = <0x3010b0>;
anatop-vol-bit-width = <0x5>;
regulator-always-on;
anatop-min-bit-val = <0x0>;
anatop-reg-offset = <0x120>;
regulator-name = "vdd3p0";
};
regulator-1p1 {
compatible = "fsl,anatop-regulator";
anatop-max-voltage = <0x14fb18>;
anatop-vol-bit-shift = <0x8>;
anatop-min-voltage = <0xc3500>;
regulator-min-microvolt = <0xc3500>;
regulator-max-microvolt = <0x14fb18>;
anatop-vol-bit-width = <0x5>;
regulator-always-on;
anatop-min-bit-val = <0x4>;
anatop-reg-offset = <0x110>;
regulator-name = "vdd1p1";
};
regulator-vddsoc {
anatop-delay-bit-shift = <0x1c>;
compatible = "fsl,anatop-regulator";
anatop-max-voltage = <0x162010>;
anatop-vol-bit-shift = <0x12>;
anatop-delay-reg-offset = <0x170>;
anatop-delay-bit-width = <0x2>;
anatop-min-voltage = <0xb1008>;
phandle = <0x41>;
regulator-min-microvolt = <0xb1008>;
regulator-max-microvolt = <0x162010>;
anatop-vol-bit-width = <0x5>;
regulator-always-on;
anatop-min-bit-val = <0x1>;
anatop-reg-offset = <0x140>;
regulator-name = "vddsoc";
linux,phandle = <0x41>;
};
};
pwm at 02084000 {
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
clocks = <0x2 0x3e 0x2 0x92>;
clock-names = "ipg", "per";
status = "disabled";
interrupts = <0x0 0x54 0x4>;
reg = <0x2084000 0x4000>;
#pwm-cells = <0x2>;
};
wdog at 020bc000 {
compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
clocks = <0x2 0x0>;
interrupts = <0x0 0x50 0x4>;
reg = <0x20bc000 0x4000>;
};
epit at 020d0000 {
interrupts = <0x0 0x38 0x4>;
reg = <0x20d0000 0x4000>;
};
gpio at 020ac000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x0 0x78 0x1 0xf 0x2 0x4d 0x1 0xf 0x4 0x4c 0x1 0xf 0x5 0x2f 0x9 0xf 0xe 0x39 0x4 0xf 0x12 0x25 0x1 0xf 0x13 0x24 0x1 0xf 0x14 0x23 0x1 0xf 0x15 0x26 0x1 0xf 0x16 0x1d 0x6 0xf 0x1c 0x13 0x4>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x4a 0x4 0x0 0x4b 0x4>;
phandle = <0x47>;
reg = <0x20ac000 0x4000>;
#gpio-cells = <0x2>;
linux,phandle = <0x47>;
interrupt-controller;
};
gpio at 020b4000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x0 0xca 0x1 0xf 0x1 0xc9 0x1 0xf 0x2 0xc4 0x1 0xf 0x3 0xc3 0x1 0xf 0x4 0xc5 0x4 0xf 0x8 0xcd 0x1 0xf 0x9 0xcf 0x1 0xf 0xa 0xce 0x1 0xf 0xb 0x85 0x3>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x4e 0x4 0x0 0x4f 0x4>;
reg = <0x20b4000 0x4000>;
#gpio-cells = <0x2>;
interrupt-controller;
};
pwm at 0208c000 {
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
clocks = <0x2 0x3e 0x2 0x94>;
clock-names = "ipg", "per";
status = "disabled";
interrupts = <0x0 0x56 0x4>;
reg = <0x208c000 0x4000>;
#pwm-cells = <0x2>;
};
vpu at 02040000 {
power-domains = <0x1 0x1>;
compatible = "fsl,imx6dl-vpu", "cnm,coda960";
clocks = <0x2 0xa8 0x2 0x8c>;
resets = <0xb 0x1>;
iram = <0xc>;
clock-names = "per", "ahb";
interrupts = <0x0 0xc 0x4 0x0 0x3 0x4>;
reg = <0x2040000 0x3c000>;
interrupt-names = "bit", "jpeg";
};
ldb at 020e0008 {
compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
clocks = <0x2 0x21 0x2 0x22 0x2 0x27 0x2 0x28 0x2 0x87 0x2 0x88>;
clock-names = "di0_pll", "di1_pll", "di0_sel", "di1_sel", "di0", "di1";
#address-cells = <0x1>;
#size-cells = <0x0>;
gpr = <0x4>;
lvds-channel at 0 {
fsl,data-mapping = "spwg";
fsl,panel = <0x14>;
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x0>;
fsl,data-width = <0x18>;
port at 1 {
reg = <0x1>;
endpoint {
remote-endpoint = <0x16>;
phandle = <0x3d>;
linux,phandle = <0x3d>;
};
};
port at 4 {
reg = <0x4>;
endpoint {
remote-endpoint = <0x18>;
phandle = <0x4d>;
linux,phandle = <0x4d>;
};
};
display-timings {
native-mode = <0x4e>;
am1280800n3tz {
hsync-active = <0x0>;
vsync-active = <0x0>;
hsync-len = <0x3c>;
hfront-porch = <0x32>;
vfront-porch = <0x5>;
pixelclk-active = <0x0>;
vsync-len = <0xd>;
de-active = <0x1>;
vactive = <0x320>;
phandle = <0x4e>;
hback-porch = <0x32>;
clock-frequency = <0x43b5fc0>;
hactive = <0x500>;
vback-porch = <0x5>;
};
am1024600l {
hsync-active = <0x0>;
vsync-active = <0x0>;
hsync-len = <0x1>;
hfront-porch = <0x140>;
vfront-porch = <0x23>;
pixelclk-active = <0x0>;
vsync-len = <0x1>;
de-active = <0x1>;
vactive = <0x258>;
phandle = <0x17>;
hback-porch = <0x0>;
clock-frequency = <0x30d4000>;
hactive = <0x400>;
vback-porch = <0x0>;
linux,phandle = <0x17>;
};
ph800480t013 {
hsync-active = <0x0>;
vsync-active = <0x0>;
hsync-len = <0x1>;
hfront-porch = <0xd2>;
vfront-porch = <0x16>;
pixelclk-active = <0x0>;
vsync-len = <0x1>;
de-active = <0x1>;
vactive = <0x1e0>;
hback-porch = <0x2e>;
clock-frequency = <0x1fc1e20>;
hactive = <0x320>;
vback-porch = <0x17>;
};
};
port at 0 {
reg = <0x0>;
endpoint {
remote-endpoint = <0x15>;
phandle = <0x39>;
linux,phandle = <0x39>;
};
};
};
lvds-channel at 1 {
status = "disabled";
#address-cells = <0x1>;
#size-cells = <0x0>;
reg = <0x1>;
port at 1 {
reg = <0x1>;
endpoint {
remote-endpoint = <0x1a>;
phandle = <0x3e>;
linux,phandle = <0x3e>;
};
};
port at 0 {
reg = <0x0>;
endpoint {
remote-endpoint = <0x19>;
phandle = <0x3a>;
linux,phandle = <0x3a>;
};
};
};
};
epdc at 020f4000 {
interrupts = <0x0 0x61 0x4>;
reg = <0x20f4000 0x4000>;
};
flexcan at 02090000 {
compatible = "fsl,imx6q-flexcan";
clocks = <0x2 0x6c 0x2 0x6d>;
clock-names = "ipg", "per";
status = "okay";
interrupts = <0x0 0x6e 0x4>;
reg = <0x2090000 0x4000>;
pinctrl-0 = <0xd>;
xceiver-supply = <0xe>;
pinctrl-names = "default";
};
gpt at 02098000 {
compatible = "fsl,imx6dl-gpt";
clocks = <0x2 0x77 0x2 0x78 0x2 0xed>;
clock-names = "ipg", "per", "osc_per";
interrupts = <0x0 0x37 0x4>;
reg = <0x2098000 0x4000>;
};
usbphy at 020c9000 {
compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
clocks = <0x2 0xb6>;
interrupts = <0x0 0x2c 0x4>;
phandle = <0x1b>;
fsl,anatop = <0x10>;
reg = <0x20c9000 0x1000>;
linux,phandle = <0x1b>;
};
iomuxc at 020e0000 {
compatible = "fsl,imx6dl-iomuxc";
phandle = <0xf>;
reg = <0x20e0000 0x4000>;
linux,phandle = <0xf>;
pinctrl-names = "default";
imx6dl-ek360 {
touchscreengrp {
fsl,pins = <0x2e8 0x6d0 0x0 0x5 0x0 0x1b0b1>;
phandle = <0x2e>;
linux,phandle = <0x2e>;
};
usdhc4grp {
fsl,pins = <0x33c 0x724 0x0 0x0 0x0 0x17059 0x338 0x720 0x938 0x0 0x1 0x10059 0x340 0x728 0x0 0x1 0x0 0x17059 0x344 0x72c 0x0 0x1 0x0 0x17059 0x348 0x730 0x0 0x1 0x0 0x17059 0x34c 0x734 0x0 0x1 0x0 0x17059 0x350 0x738 0x0 0x1 0x0 0x17059 0x354 0x73c 0x0 0x1 0x0 0x17059 0x358 0x740 0x0 0x1 0x0 0x17059 0x35c 0x744 0x0 0x1 0x0 0x17059>;
phandle = <0x2b>;
linux,phandle = <0x2b>;
};
uart1grp {
fsl,pins = <0x4c 0x360 0x0 0x3 0x0 0x1b0b1 0x50 0x364 0x8fc 0x3 0x1 0x1b0b1>;
phandle = <0xa>;
linux,phandle = <0xa>;
};
usbh1vccgrp {
fsl,pins = <0x180 0x550 0x0 0x5 0x0 0x1b0b0>;
phandle = <0x23>;
linux,phandle = <0x23>;
};
i2c2grp {
fsl,pins = <0x264 0x64c 0x874 0x4 0x1 0x4001b8b1 0x250 0x638 0x870 0x4 0x1 0x4001b8b1>;
phandle = <0x30>;
linux,phandle = <0x30>;
};
ledgrp {
fsl,pins = <0xd4 0x3e8 0x0 0x5 0x0 0x1b0b1>;
phandle = <0x46>;
linux,phandle = <0x46>;
};
enetgrp {
fsl,pins = <0x2c0 0x6a8 0x814 0x1 0x1 0x1b0b0 0x2ac 0x694 0x818 0x1 0x1 0x1b0b0 0x2b0 0x698 0x81c 0x1 0x1 0x1b0b0 0x2b4 0x69c 0x820 0x1 0x1 0x1b0b0 0x2b8 0x6a0 0x824 0x1 0x1 0x1b0b0 0x2bc 0x6a4 0x828 0x1 0x1 0x1b0b0 0x2d8 0x6c0 0x0 0x1 0x0 0x1b0b0 0x2c4 0x6ac 0x0 0x1 0x0 0x1b0b0 0x2c8 0x6b0 0x0 0x1 0x0 0x1b0b0 0x2cc 0x6b4 0x0 0x1 0x0 0x1b0b0 0x2d0 0x6b8 0x0 0x1 0x0 0x1b0b0 0x2d4 0x6bc 0x0 0x1 0x0 0x1b0b0 0x1f0 0x5c0 0x0 0x1 0x0 0x1b0b0 0x1ec 0x5bc 0x810 0x1 0x0 0x1b0b0 0x1e8 0x5b8 0x0 0x1 0x0 0x1b0b0 0x160 0x530 0x0 0x5 0x0 0x80000000>;
phandle = <0x25>;
linux,phandle = <0x25>;
};
audmuxgrp {
fsl,pins = <0x20c 0x5dc 0x0 0x0 0x0 0x30b0 0x74 0x388 0x0 0x4 0x0 0x130b0 0x78 0x38c 0x0 0x4 0x0 0x110b0 0x7c 0x390 0x0 0x4 0x0 0x130b0 0x80 0x394 0x0 0x4 0x0 0x130b0>;
phandle = <0x32>;
linux,phandle = <0x32>;
};
uart3grp {
fsl,pins = <0x164 0x534 0x0 0x2 0x0 0x1b0b1 0x168 0x538 0x90c 0x2 0x1 0x1b0b1>;
phandle = <0x36>;
linux,phandle = <0x36>;
};
usdhc3grp {
fsl,pins = <0x310 0x6f8 0x0 0x0 0x0 0x17059 0x30c 0x6f4 0x934 0x0 0x1 0x10059 0x314 0x6fc 0x0 0x0 0x0 0x17059 0x318 0x700 0x0 0x0 0x0 0x17059 0x31c 0x704 0x0 0x0 0x0 0x17059 0x320 0x708 0x0 0x0 0x0 0x17059 0x284 0x66c 0x0 0x5 0x0 0x1f071 0x288 0x670 0x0 0x5 0x0 0x1f071>;
phandle = <0x29>;
linux,phandle = <0x29>;
};
usbotgvccgrp {
fsl,pins = <0x15c 0x52c 0x0 0x5 0x0 0x1b0b1>;
phandle = <0x1f>;
linux,phandle = <0x1f>;
};
usbh1grp {
fsl,pins = <0x17c 0x54c 0x924 0x6 0x0 0x1b0b0>;
phandle = <0x22>;
linux,phandle = <0x22>;
};
flexcan1grp {
fsl,pins = <0x238 0x608 0x0 0x3 0x0 0x1b0b0 0x23c 0x60c 0x7c8 0x3 0x0 0x1b0b0>;
phandle = <0xd>;
linux,phandle = <0xd>;
};
i2c1grp {
fsl,pins = <0x84 0x398 0x86c 0x4 0x0 0x4001b8b1 0x88 0x39c 0x868 0x4 0x0 0x4001b8b1>;
phandle = <0x2c>;
linux,phandle = <0x2c>;
};
usbotggrp {
fsl,pins = <0x210 0x5e0 0x790 0x3 0x1 0x17059 0x158 0x528 0x920 0x4 0x0 0x1b0b0>;
phandle = <0x1e>;
linux,phandle = <0x1e>;
};
dispgrp {
fsl,pins = <0x2dc 0x6c4 0x0 0x5 0x0 0x1b0b1 0x2ec 0x6d4 0x0 0x5 0x0 0x1b0b1>;
};
uart2grp {
fsl,pins = <0x16c 0x53c 0x0 0x4 0x0 0x1b0b1 0x170 0x540 0x904 0x4 0x1 0x1b0b1 0x14c 0x51c 0x0 0x5 0x0 0x1b0b1>;
phandle = <0x35>;
linux,phandle = <0x35>;
};
usdhc2grp {
fsl,pins = <0x2f8 0x6e0 0x0 0x0 0x0 0x17059 0x2f4 0x6dc 0x930 0x0 0x1 0x10059 0x2fc 0x6e4 0x0 0x0 0x0 0x17059 0x300 0x6e8 0x0 0x0 0x0 0x17059 0x304 0x6ec 0x0 0x0 0x0 0x17059 0x308 0x6f0 0x0 0x0 0x0 0x17059 0x290 0x678 0x0 0x5 0x0 0x1b0b1>;
phandle = <0x27>;
linux,phandle = <0x27>;
};
i2c3grp {
fsl,pins = <0x234 0x604 0x87c 0x2 0x2 0x4001b8b1 0x228 0x5f8 0x878 0x2 0x1 0x4001b8b1>;
phandle = <0x31>;
linux,phandle = <0x31>;
};
pwm1grp {
fsl,pins = <0x2f0 0x6d8 0x0 0x3 0x0 0x1b0b1>;
phandle = <0x48>;
linux,phandle = <0x48>;
};
};
};
gpio at 020a0000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x0 0xa1 0x8 0xf 0x8 0xd0 0x8 0xf 0x10 0x4a 0x1 0xf 0x11 0x49 0x1 0xf 0x12 0x48 0x1 0xf 0x13 0x47 0x1 0xf 0x14 0x46 0x1 0xf 0x15 0x45 0x1 0xf 0x16 0x44 0x1 0xf 0x17 0x4f 0x2 0xf 0x19 0x76 0x2 0xf 0x1b 0x75 0x1 0xf 0x1c 0x71 0x4>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x44 0x4 0x0 0x45 0x4>;
phandle = <0x2a>;
reg = <0x20a0000 0x4000>;
#gpio-cells = <0x2>;
linux,phandle = <0x2a>;
interrupt-controller;
};
iomuxc-gpr at 020e0000 {
compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
phandle = <0x4>;
reg = <0x20e0000 0x38>;
linux,phandle = <0x4>;
};
pwm at 02080000 {
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
clocks = <0x2 0x3e 0x2 0x91>;
clock-names = "ipg", "per";
status = "okay";
interrupts = <0x0 0x53 0x4>;
phandle = <0x49>;
reg = <0x2080000 0x4000>;
linux,phandle = <0x49>;
#pwm-cells = <0x2>;
};
spba-bus at 02000000 {
compatible = "fsl,spba-bus", "simple-bus";
ranges;
#address-cells = <0x1>;
#size-cells = <0x1>;
reg = <0x2000000 0x40000>;
spba at 0203c000 {
reg = <0x203c000 0x4000>;
};
ssi at 02030000 {
fsl,fifo-depth = <0xf>;
compatible = "fsl,imx6q-ssi", "fsl,imx51-ssi";
clocks = <0x2 0xb4 0x2 0x9f>;
#sound-dai-cells = <0x0>;
clock-names = "ipg", "baud";
status = "disabled";
interrupts = <0x0 0x30 0x4>;
dma-names = "rx", "tx";
reg = <0x2030000 0x4000>;
dmas = <0x9 0x2d 0x1 0x0 0x9 0x2e 0x1 0x0>;
};
ssi at 02028000 {
fsl,fifo-depth = <0xf>;
compatible = "fsl,imx6q-ssi", "fsl,imx51-ssi";
clocks = <0x2 0xb2 0x2 0x9d>;
#sound-dai-cells = <0x0>;
clock-names = "ipg", "baud";
status = "okay";
interrupts = <0x0 0x2e 0x4>;
dma-names = "rx", "tx";
phandle = <0x4a>;
reg = <0x2028000 0x4000>;
dmas = <0x9 0x25 0x1 0x0 0x9 0x26 0x1 0x0>;
linux,phandle = <0x4a>;
};
asrc at 02034000 {
compatible = "fsl,imx53-asrc";
clocks = <0x2 0xd2 0x2 0xd3 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x6b 0x2 0x0 0x2 0x0 0x2 0x9c>;
clock-names = "mem", "ipg", "asrck_0", "asrck_1", "asrck_2", "asrck_3", "asrck_4", "asrck_5", "asrck_6", "asrck_7", "asrck_8", "asrck_9", "asrck_a", "asrck_b", "asrck_c", "asrck_d", "asrck_e", "asrck_f", "spba";
fsl,asrc-rate = <0xbb80>;
fsl,asrc-width = <0x10>;
status = "okay";
interrupts = <0x0 0x32 0x4>;
dma-names = "rxa", "rxb", "rxc", "txa", "txb", "txc";
reg = <0x2034000 0x4000>;
dmas = <0x9 0x11 0x17 0x1 0x9 0x12 0x17 0x1 0x9 0x13 0x17 0x1 0x9 0x14 0x17 0x1 0x9 0x15 0x17 0x1 0x9 0x16 0x17 0x1>;
};
esai at 02024000 {
compatible = "fsl,imx35-esai";
clocks = <0x2 0xd0 0x2 0xd1 0x2 0x76 0x2 0xd0 0x2 0x9c>;
#sound-dai-cells = <0x0>;
clock-names = "core", "mem", "extal", "fsys", "spba";
status = "disabled";
interrupts = <0x0 0x33 0x4>;
dma-names = "rx", "tx";
reg = <0x2024000 0x4000>;
dmas = <0x9 0x17 0x15 0x0 0x9 0x18 0x15 0x0>;
};
ecspi at 02010000 {
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
clocks = <0x2 0x72 0x2 0x72>;
clock-names = "ipg", "per";
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0x21 0x4>;
#size-cells = <0x0>;
dma-names = "rx", "tx";
reg = <0x2010000 0x4000>;
dmas = <0x9 0x7 0x8 0x1 0x9 0x8 0x8 0x2>;
};
ecspi at 02008000 {
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
clocks = <0x2 0x70 0x2 0x70>;
clock-names = "ipg", "per";
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0x1f 0x4>;
#size-cells = <0x0>;
dma-names = "rx", "tx";
reg = <0x2008000 0x4000>;
dmas = <0x9 0x3 0x8 0x1 0x9 0x4 0x8 0x2>;
};
serial at 02020000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
clocks = <0x2 0xa0 0x2 0xa1>;
clock-names = "ipg", "per";
status = "okay";
interrupts = <0x0 0x1a 0x4>;
dma-names = "rx", "tx";
reg = <0x2020000 0x4000>;
pinctrl-0 = <0xa>;
dmas = <0x9 0x19 0x4 0x0 0x9 0x1a 0x4 0x0>;
pinctrl-names = "default";
};
ssi at 0202c000 {
fsl,fifo-depth = <0xf>;
compatible = "fsl,imx6q-ssi", "fsl,imx51-ssi";
clocks = <0x2 0xb3 0x2 0x9e>;
#sound-dai-cells = <0x0>;
clock-names = "ipg", "baud";
status = "disabled";
interrupts = <0x0 0x2f 0x4>;
dma-names = "rx", "tx";
reg = <0x202c000 0x4000>;
dmas = <0x9 0x29 0x1 0x0 0x9 0x2a 0x1 0x0>;
};
ecspi at 0200c000 {
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
clocks = <0x2 0x71 0x2 0x71>;
clock-names = "ipg", "per";
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0x20 0x4>;
#size-cells = <0x0>;
dma-names = "rx", "tx";
reg = <0x200c000 0x4000>;
dmas = <0x9 0x5 0x8 0x1 0x9 0x6 0x8 0x2>;
};
spdif at 02004000 {
compatible = "fsl,imx35-spdif";
clocks = <0x2 0xf4 0x2 0x3 0x2 0xc5 0x2 0x6b 0x2 0x0 0x2 0x76 0x2 0x3e 0x2 0x0 0x2 0x0 0x2 0x9c>;
clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3", "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba";
status = "disabled";
interrupts = <0x0 0x34 0x4>;
dma-names = "rx", "tx";
reg = <0x2004000 0x4000>;
dmas = <0x9 0xe 0x12 0x0 0x9 0xf 0x12 0x0>;
};
ecspi at 02014000 {
compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
clocks = <0x2 0x73 0x2 0x73>;
clock-names = "ipg", "per";
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0x22 0x4>;
#size-cells = <0x0>;
dma-names = "rx", "tx";
reg = <0x2014000 0x4000>;
dmas = <0x9 0x9 0x8 0x1 0x9 0xa 0x8 0x2>;
};
};
sdma at 020ec000 {
#dma-cells = <0x3>;
compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
clocks = <0x2 0x9b 0x2 0x9b>;
fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
clock-names = "ipg", "ahb";
interrupts = <0x0 0x2 0x4>;
phandle = <0x9>;
reg = <0x20ec000 0x4000>;
linux,phandle = <0x9>;
};
wdog at 020c0000 {
compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
clocks = <0x2 0x0>;
status = "disabled";
interrupts = <0x0 0x51 0x4>;
reg = <0x20c0000 0x4000>;
};
kpp at 020b8000 {
compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp";
clocks = <0x2 0x3e>;
status = "disabled";
interrupts = <0x0 0x52 0x4>;
reg = <0x20b8000 0x4000>;
};
dcic at 020e8000 {
interrupts = <0x0 0x7d 0x4>;
reg = <0x20e8000 0x4000>;
};
pxp at 020f0000 {
interrupts = <0x0 0x62 0x4>;
reg = <0x20f0000 0x4000>;
};
gpio at 020b0000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x0 0x17 0x6 0xf 0x6 0x4b 0x1 0xf 0x7 0x9c 0x1 0xf 0x8 0x9b 0x1 0xf 0x9 0xaa 0x1 0xf 0xa 0xa9 0x1 0xf 0xb 0x9d 0x1 0xf 0xe 0x9e 0x3 0xf 0x11 0xcc 0x1 0xf 0x12 0xcb 0x1 0xf 0x13 0xb6 0x1 0xf 0x14 0xb1 0x4 0xf 0x18 0xaf 0x1 0xf 0x19 0xab 0x1 0xf 0x1a 0xb5 0x1 0xf 0x1b 0xac 0x3 0xf 0x1e 0xb0 0x1 0xf 0x1f 0x4e 0x1>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x4c 0x4 0x0 0x4d 0x4>;
reg = <0x20b0000 0x4000>;
#gpio-cells = <0x2>;
interrupt-controller;
};
gpio at 020a8000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x5 0x88 0x1 0xf 0x6 0x91 0x1 0xf 0x7 0x96 0x1 0xf 0x8 0x92 0x1 0xf 0x9 0x97 0x1 0xf 0xa 0x93 0x1 0xf 0xb 0x97 0x1 0xf 0xc 0x94 0x1 0xf 0xd 0x99 0x1 0xf 0xe 0x95 0x1 0xf 0xf 0x9a 0x1 0xf 0x10 0x27 0x7 0xf 0x17 0x38 0x1 0xf 0x18 0x3d 0x7 0xf 0x1f 0x2e 0x1>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x48 0x4 0x0 0x49 0x4>;
reg = <0x20a8000 0x4000>;
#gpio-cells = <0x2>;
interrupt-controller;
};
snvs at 020cc000 {
compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
phandle = <0x12>;
reg = <0x20cc000 0x4000>;
linux,phandle = <0x12>;
snvs-poweroff {
compatible = "syscon-poweroff";
mask = <0x60>;
offset = <0x38>;
status = "disabled";
regmap = <0x12>;
};
snvs-rtc-lp {
compatible = "fsl,sec-v4.0-mon-rtc-lp";
offset = <0x34>;
interrupts = <0x0 0x13 0x4 0x0 0x14 0x4>;
regmap = <0x12>;
};
};
pwm at 02088000 {
compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
clocks = <0x2 0x3e 0x2 0x93>;
clock-names = "ipg", "per";
status = "disabled";
interrupts = <0x0 0x55 0x4>;
reg = <0x2088000 0x4000>;
#pwm-cells = <0x2>;
};
tempmon {
compatible = "fsl,imx6q-tempmon";
clocks = <0x2 0xac>;
interrupts = <0x0 0x31 0x4>;
fsl,tempmon = <0x10>;
fsl,tempmon-data = <0x11>;
};
src at 020d8000 {
compatible = "fsl,imx6q-src", "fsl,imx51-src";
#reset-cells = <0x1>;
interrupts = <0x0 0x5b 0x4 0x0 0x60 0x4>;
phandle = <0xb>;
reg = <0x20d8000 0x4000>;
linux,phandle = <0xb>;
};
gpio at 0209c000 {
compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
gpio-controller;
gpio-ranges = <0xf 0x0 0x83 0x2 0xf 0x2 0x89 0x8 0xf 0xa 0xbd 0x2 0xf 0xc 0xc2 0x1 0xf 0xd 0xc1 0x1 0xf 0xe 0xc0 0x1 0xf 0xf 0xbf 0x1 0xf 0x10 0xb9 0x2 0xf 0x12 0xb8 0x1 0xf 0x13 0xbb 0x1 0xf 0x14 0xb7 0x1 0xf 0x15 0xbc 0x1 0xf 0x16 0x7b 0x3 0xf 0x19 0x79 0x1 0xf 0x1a 0x7f 0x1 0xf 0x1b 0x7e 0x1 0xf 0x1c 0x80 0x1 0xf 0x1d 0x82 0x1 0xf 0x1e 0x81 0x1 0xf 0x1f 0x7a 0x1>;
#interrupt-cells = <0x2>;
interrupts = <0x0 0x42 0x4 0x0 0x43 0x4>;
phandle = <0x2f>;
reg = <0x209c000 0x4000>;
#gpio-cells = <0x2>;
linux,phandle = <0x2f>;
interrupt-controller;
};
epit at 020d4000 {
interrupts = <0x0 0x39 0x4>;
reg = <0x20d4000 0x4000>;
};
};
interrupt-controller at 00a01000 {
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <0x3>;
interrupt-parent = <0x8>;
phandle = <0x8>;
reg = <0xa01000 0x1000 0xa00100 0x100>;
linux,phandle = <0x8>;
interrupt-controller;
};
gpu at 00134000 {
power-domains = <0x1 0x1>;
compatible = "vivante,gc";
clocks = <0x2 0x1a 0x2 0x79>;
clock-names = "bus", "core";
interrupts = <0x0 0xa 0x4>;
phandle = <0x44>;
reg = <0x134000 0x4000>;
linux,phandle = <0x44>;
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0x0 0x5e 0x4>;
};
hdmi at 0120000 {
compatible = "fsl,imx6dl-hdmi";
clocks = <0x2 0x7b 0x2 0x7c>;
clock-names = "iahb", "isfr";
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0x73 0x4>;
#size-cells = <0x0>;
reg = <0x120000 0x9000>;
ddc-i2c-bus = <0x5>;
gpr = <0x4>;
port at 1 {
reg = <0x1>;
endpoint {
remote-endpoint = <0x7>;
phandle = <0x3b>;
linux,phandle = <0x3b>;
};
};
port at 0 {
reg = <0x0>;
endpoint {
remote-endpoint = <0x6>;
phandle = <0x37>;
linux,phandle = <0x37>;
};
};
};
gpmi-nand at 00112000 {
compatible = "fsl,imx6q-gpmi-nand";
clocks = <0x2 0x98 0x2 0x99 0x2 0x97 0x2 0x96 0x2 0x95>;
reg-names = "gpmi-nand", "bch";
clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch", "gpmi_bch_apb", "per1_bch";
status = "disabled";
#address-cells = <0x1>;
interrupts = <0x0 0xf 0x4>;
#size-cells = <0x1>;
dma-names = "rx-tx";
reg = <0x112000 0x2000 0x114000 0x2000>;
dmas = <0x3 0x0>;
interrupt-names = "bch";
};
l2-cache at 00a02000 {
compatible = "arm,pl310-cache";
cache-level = <0x2>;
arm,shared-override;
cache-unified;
arm,data-latency = <0x4 0x2 0x3>;
interrupts = <0x0 0x5c 0x4>;
phandle = <0x3f>;
reg = <0xa02000 0x1000>;
linux,phandle = <0x3f>;
arm,tag-latency = <0x4 0x2 0x3>;
};
ipu at 02400000 {
compatible = "fsl,imx6q-ipu";
clocks = <0x2 0x82 0x2 0x83 0x2 0x84>;
resets = <0xb 0x2>;
clock-names = "bus", "di0", "di1";
#address-cells = <0x1>;
interrupts = <0x0 0x6 0x4 0x0 0x5 0x4>;
#size-cells = <0x0>;
reg = <0x2400000 0x400000>;
port at 3 {
#address-cells = <0x1>;
#size-cells = <0x0>;
phandle = <0x43>;
reg = <0x3>;
linux,phandle = <0x43>;
lvds1-endpoint {
remote-endpoint = <0x3e>;
phandle = <0x1a>;
linux,phandle = <0x1a>;
};
mipi-endpoint {
remote-endpoint = <0x3c>;
phandle = <0x34>;
linux,phandle = <0x34>;
};
hdmi-endpoint {
remote-endpoint = <0x3b>;
phandle = <0x7>;
linux,phandle = <0x7>;
};
disp1-endpoint {
};
lvds0-endpoint {
remote-endpoint = <0x3d>;
phandle = <0x16>;
linux,phandle = <0x16>;
};
};
port at 1 {
reg = <0x1>;
};
port at 2 {
#address-cells = <0x1>;
#size-cells = <0x0>;
phandle = <0x42>;
reg = <0x2>;
linux,phandle = <0x42>;
lvds1-endpoint {
remote-endpoint = <0x3a>;
phandle = <0x19>;
linux,phandle = <0x19>;
};
disp0-endpoint {
};
mipi-endpoint {
remote-endpoint = <0x38>;
phandle = <0x33>;
linux,phandle = <0x33>;
};
hdmi-endpoint {
remote-endpoint = <0x37>;
phandle = <0x6>;
linux,phandle = <0x6>;
};
lvds0-endpoint {
remote-endpoint = <0x39>;
phandle = <0x15>;
linux,phandle = <0x15>;
};
};
port at 0 {
reg = <0x0>;
};
};
};
leds {
compatible = "gpio-leds";
status = "okay";
pinctrl-0 = <0x46>;
pinctrl-names = "default";
led0 {
gpios = <0x47 0xb 0x1>;
label = "led";
default-state = "off";
};
};
aliases {
i2c3 = "/soc/aips-bus at 02100000/i2c at 021f8000";
gpio2 = "/soc/aips-bus at 02000000/gpio at 020a4000";
spi2 = "/soc/aips-bus at 02000000/spba-bus at 02000000/ecspi at 02010000";
i2c1 = "/soc/aips-bus at 02100000/i2c at 021a4000";
mmc3 = "/soc/aips-bus at 02100000/usdhc at 0219c000";
gpio0 = "/soc/aips-bus at 02000000/gpio at 0209c000";
spi0 = "/soc/aips-bus at 02000000/spba-bus at 02000000/ecspi at 02008000";
mmc1 = "/soc/aips-bus at 02100000/usdhc at 02194000";
ethernet0 = "/soc/aips-bus at 02100000/ethernet at 02188000";
serial3 = "/soc/aips-bus at 02100000/serial at 021f0000";
usbphy1 = "/soc/aips-bus at 02000000/usbphy at 020ca000";
gpio5 = "/soc/aips-bus at 02000000/gpio at 020b0000";
serial1 = "/soc/aips-bus at 02100000/serial at 021e8000";
gpio3 = "/soc/aips-bus at 02000000/gpio at 020a8000";
can0 = "/soc/aips-bus at 02000000/flexcan at 02090000";
spi3 = "/soc/aips-bus at 02000000/spba-bus at 02000000/ecspi at 02014000";
i2c2 = "/soc/aips-bus at 02100000/i2c at 021a8000";
gpio1 = "/soc/aips-bus at 02000000/gpio at 020a0000";
spi1 = "/soc/aips-bus at 02000000/spba-bus at 02000000/ecspi at 0200c000";
i2c0 = "/soc/aips-bus at 02100000/i2c at 021a0000";
mmc2 = "/soc/aips-bus at 02100000/usdhc at 02198000";
mmc0 = "/soc/aips-bus at 02100000/usdhc at 02190000";
serial4 = "/soc/aips-bus at 02100000/serial at 021f4000";
gpio6 = "/soc/aips-bus at 02000000/gpio at 020b4000";
serial2 = "/soc/aips-bus at 02100000/serial at 021ec000";
usbphy0 = "/soc/aips-bus at 02000000/usbphy at 020c9000";
ipu0 = "/soc/ipu at 02400000";
gpio4 = "/soc/aips-bus at 02000000/gpio at 020ac000";
can1 = "/soc/aips-bus at 02000000/flexcan at 02094000";
serial0 = "/soc/aips-bus at 02000000/spba-bus at 02000000/serial at 02020000";
};
chosen {
bootargs = "console=ttymxc2,115200 rootwait noswap ip=none noinitrd rootfstype=nilfs2 root=/dev/mmcblk1p3 fec.macaddr=0x00,0x1b,0xc5,0x08,0xd1,0x10 system_rev=0xe3600000 system_serialnr=0x12345678 lcd_type=am1280800n3tz fastboot quiet loglevel=3 console=tty0 video=mxcfb0:dev=ldb,if=RGB24,bpp=32 fbmem=32M vmalloc=400M ";
linux,stdout-path = "/soc/aips-bus at 02100000/serial at 021ec000";
};
regulators {
compatible = "simple-bus";
#address-cells = <0x1>;
#size-cells = <0x0>;
regulator at 3 {
compatible = "regulator-fixed";
phandle = <0x24>;
regulator-min-microvolt = <0x325aa0>;
reg = <0x3>;
regulator-max-microvolt = <0x325aa0>;
regulator-always-on;
regulator-name = "3P3V";
linux,phandle = <0x24>;
};
regulator at 1 {
compatible = "regulator-fixed";
regulator-min-microvolt = <0x16e360>;
reg = <0x1>;
regulator-max-microvolt = <0x16e360>;
regulator-always-on;
regulator-name = "1P5V";
};
regulator at 6 {
compatible = "regulator-fixed";
enable-active-high;
gpio = <0x2a 0x3 0x0>;
phandle = <0x28>;
regulator-min-microvolt = <0x1f78a40>;
reg = <0x6>;
regulator-max-microvolt = <0x1f78a40>;
regulator-always-on;
regulator-name = "sdio_en";
linux,phandle = <0x28>;
};
regulator at 4 {
compatible = "regulator-fixed";
enable-active-low;
gpio = <0x26 0x16 0x1>;
phandle = <0x1d>;
regulator-min-microvolt = <0x4c4b40>;
reg = <0x4>;
regulator-max-microvolt = <0x4c4b40>;
regulator-name = "usb_otg_vbus";
linux,phandle = <0x1d>;
};
regulator at 2 {
compatible = "regulator-fixed";
regulator-min-microvolt = <0x2625a0>;
reg = <0x2>;
regulator-max-microvolt = <0x2625a0>;
regulator-always-on;
regulator-name = "2P5V";
};
regulator at 0 {
compatible = "regulator-fixed";
phandle = <0x2d>;
regulator-min-microvolt = <0x124f80>;
reg = <0x0>;
regulator-max-microvolt = <0x124f80>;
regulator-always-on;
regulator-name = "1P2V";
linux,phandle = <0x2d>;
};
regulator at 7 {
compatible = "regulator-fixed";
phandle = <0xe>;
regulator-min-microvolt = <0x4c4b40>;
reg = <0x7>;
regulator-max-microvolt = <0x4c4b40>;
regulator-always-on;
regulator-name = "5P0V";
linux,phandle = <0xe>;
};
regulator at 5 {
compatible = "regulator-fixed";
enable-active-low;
gpio = <0x26 0x1f 0x1>;
phandle = <0x21>;
regulator-min-microvolt = <0x4c4b40>;
reg = <0x5>;
regulator-max-microvolt = <0x4c4b40>;
regulator-always-on;
regulator-name = "usb_h1_vbus";
linux,phandle = <0x21>;
};
};
sound {
compatible = "fsl,imx6-ek360-sgtl5000", "fsl,imx-audio-sgtl5000";
ssi-controller = <0x4a>;
model = "imx6-ek360-sgtl5000";
micbias-voltage-m-volts = <0xbb8>;
mux-int-port = <0x1>;
status = "okay";
mux-ext-port = <0x3>;
micbias-resistor-k-ohms = <0x2>;
audio-routing = "MIC_IN", "Mic Jack", "Mic Jack", "Mic Bias", "Headphone Jack", "HP_OUT";
audio-codec = <0x4b>;
};
memory {
device_type = "memory";
reg = <0x10000000 0x40000000>;
};
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
cpu at 1 {
compatible = "arm,cortex-a9";
device_type = "cpu";
next-level-cache = <0x3f>;
reg = <0x1>;
};
cpu at 0 {
compatible = "arm,cortex-a9";
clocks = <0x2 0x68 0x2 0x6 0x2 0x10 0x2 0x11 0x2 0xaa>;
device_type = "cpu";
soc-supply = <0x41>;
arm-supply = <0x40>;
clock-names = "arm", "pll2_pfd2_396m", "step", "pll1_sw", "pll1_sys";
fsl,soc-operating-points = <0xf32a0 0x11edd8 0xc15c0 0x11edd8 0x60ae0 0x11edd8>;
next-level-cache = <0x3f>;
reg = <0x0>;
operating-points = <0xf32a0 0x1312d0 0xc15c0 0x11edd8 0x60ae0 0x118c30>;
pu-supply = <0x13>;
clock-latency = <0xee6c>;
};
};
panel {
compatible = "innolux,g101ice_l01", "simple-panel";
status = "okay";
phandle = <0x14>;
linux,phandle = <0x14>;
backlight = <0x4c>;
port {
endpoint {
remote-endpoint = <0x4d>;
phandle = <0x18>;
linux,phandle = <0x18>;
};
};
};
};
More information about the barebox
mailing list