Skip to content

Commit

Permalink
Merge tag 'imx-dt64-4.7' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/shawnguo/linux into next/dt64

Merge "The Freescale/NXP arm64 device tree updates for 4.7" from Shawn Guo:

 - New board support of LS1043a-QDS from Freescale/NXP
 - Add new compatible for LS1043A and LS2080A GPIO devices
 - Update device tree bindings and sources for LS2080A fsl-mc device
 - Update QSPI and DSPI support on LS1043A and LS2080A

* tag 'imx-dt64-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: ls2080a: fsl-mc dt node updates
  Documentation: fsl-mc: binding updates for MSIs, ranges, PHYs
  arm64: dts: ls1043a: add the DTS node for QSPI support
  Documentation: fsl-quadspi: Add fsl,ls1043a-qspi compatible string
  arm64: dts: ls2080a: Add compatible "fsl,ls2080a-gpio" for ls2080a gpio nodes
  arm64: dts: ls1043a: Add compatible "fsl,qoriq-gpio" for ls1043a gpio nodes
  arm64: dts: ls2080a: update the DTS for QSPI and DSPI support
  Documentation: fsl: dspi: Add fsl,ls2080a-dspi compatible string
  arm64: dts: ls1043a-rdb: add the DTS for DSPI support
  arm64: dts: add LS1043a-QDS board support
  Documentation: DT: Add entry for Freescale LS1043a-QDS board
  • Loading branch information
Arnd Bergmann committed May 10, 2016
2 parents 19d91c0 + bb4b4e9 commit 9910f5b
Show file tree
Hide file tree
Showing 10 changed files with 416 additions and 15 deletions.
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/arm/fsl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,10 @@ LS1043A ARMv8 based RDB Board
Required root node properties:
- compatible = "fsl,ls1043a-rdb", "fsl,ls1043a";

LS1043A ARMv8 based QDS Board
Required root node properties:
- compatible = "fsl,ls1043a-qds", "fsl,ls1043a";

LS2080A ARMv8 based Simulator model
Required root node properties:
- compatible = "fsl,ls2080a-simu", "fsl,ls2080a";
Expand Down
81 changes: 80 additions & 1 deletion Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,90 @@ Required properties:
region may not be present in some scenarios, such
as in the device tree presented to a virtual machine.

- msi-parent
Value type: <phandle>
Definition: Must be present and point to the MSI controller node
handling message interrupts for the MC.

- ranges
Value type: <prop-encoded-array>
Definition: A standard property. Defines the mapping between the child
MC address space and the parent system address space.

The MC address space is defined by 3 components:
<region type> <offset hi> <offset lo>

Valid values for region type are
0x0 - MC portals
0x1 - QBMAN portals

- #address-cells
Value type: <u32>
Definition: Must be 3. (see definition in 'ranges' property)

- #size-cells
Value type: <u32>
Definition: Must be 1.

Sub-nodes:

The fsl-mc node may optionally have dpmac sub-nodes that describe
the relationship between the Ethernet MACs which belong to the MC
and the Ethernet PHYs on the system board.

The dpmac nodes must be under a node named "dpmacs" which contains
the following properties:

- #address-cells
Value type: <u32>
Definition: Must be present if dpmac sub-nodes are defined and must
have a value of 1.

- #size-cells
Value type: <u32>
Definition: Must be present if dpmac sub-nodes are defined and must
have a value of 0.

These nodes must have the following properties:

- compatible
Value type: <string>
Definition: Must be "fsl,qoriq-mc-dpmac".

- reg
Value type: <prop-encoded-array>
Definition: Specifies the id of the dpmac.

- phy-handle
Value type: <phandle>
Definition: Specifies the phandle to the PHY device node associated
with the this dpmac.

Example:

fsl_mc: fsl-mc@80c000000 {
compatible = "fsl,qoriq-mc";
reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
};
msi-parent = <&its>;
#address-cells = <3>;
#size-cells = <1>;

/*
* Region type 0x0 - MC portals
* Region type 0x1 - QBMAN portals
*/
ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
0x1 0x0 0x0 0x8 0x18000000 0x8000000>;

dpmacs {
#address-cells = <1>;
#size-cells = <0>;

dpmac@1 {
compatible = "fsl,qoriq-mc-dpmac";
reg = <1>;
phy-handle = <&mdio0_phy0>;
}
}
};
3 changes: 2 additions & 1 deletion Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ Required properties:
"fsl,imx7d-qspi", "fsl,imx6ul-qspi",
"fsl,ls1021a-qspi"
or
"fsl,ls2080a-qspi" followed by "fsl,ls1021a-qspi"
"fsl,ls2080a-qspi" followed by "fsl,ls1021a-qspi",
"fsl,ls1043a-qspi" followed by "fsl,ls1021a-qspi"
- reg : the first contains the register location and length,
the second contains the memory mapping address and length
- reg-names: Should contain the reg names "QuadSPI" and "QuadSPI-memory"
Expand Down
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
ARM Freescale DSPI controller

Required properties:
- compatible : "fsl,vf610-dspi", "fsl,ls1021a-v1.0-dspi", "fsl,ls2085a-dspi"
- compatible : "fsl,vf610-dspi", "fsl,ls1021a-v1.0-dspi",
"fsl,ls2085a-dspi"
or
"fsl,ls2080a-dspi" followed by "fsl,ls2085a-dspi"
- reg : Offset and length of the register set for the device
- interrupts : Should contain SPI controller interrupt
- clocks: from common clock binding: handle to dspi clock.
Expand Down
3 changes: 2 additions & 1 deletion arch/arm64/boot/dts/freescale/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-qds.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb

always := $(dtb-y)
subdir-y := $(dts-dirs)
Expand Down
181 changes: 181 additions & 0 deletions arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
/*
* Device Tree Include file for Freescale Layerscape-1043A family SoC.
*
* Copyright 2014-2015, Freescale Semiconductor
*
* Mingkai Hu <Mingkai.hu@freescale.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPLv2 or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/

/dts-v1/;
/include/ "fsl-ls1043a.dtsi"

/ {
model = "LS1043A QDS Board";
compatible = "fsl,ls1043a-qds", "fsl,ls1043a";

aliases {
gpio0 = &gpio1;
gpio1 = &gpio2;
gpio2 = &gpio3;
gpio3 = &gpio4;
serial0 = &lpuart0;
serial1 = &lpuart1;
serial2 = &lpuart2;
serial3 = &lpuart3;
serial4 = &lpuart4;
serial5 = &lpuart5;
};
};

&duart0 {
status = "okay";
};

&duart1 {
status = "okay";
};

&ifc {
#address-cells = <2>;
#size-cells = <1>;
/* NOR, NAND Flashes and FPGA on board */
ranges = <0x0 0x0 0x0 0x60000000 0x08000000
0x1 0x0 0x0 0x7e800000 0x00010000
0x2 0x0 0x0 0x7fb00000 0x00000100>;
status = "okay";

nor@0,0 {
compatible = "cfi-flash";
reg = <0x0 0x0 0x8000000>;
bank-width = <2>;
device-width = <1>;
};

nand@1,0 {
compatible = "fsl,ifc-nand";
reg = <0x1 0x0 0x10000>;
};

fpga: board-control@2,0 {
compatible = "fsl,ls1043aqds-fpga", "fsl,fpga-qixis";
reg = <0x2 0x0 0x0000100>;
};
};

&i2c0 {
status = "okay";

pca9547@77 {
compatible = "nxp,pca9547";
reg = <0x77>;
#address-cells = <1>;
#size-cells = <0>;

i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x0>;

rtc@68 {
compatible = "dallas,ds3232";
reg = <0x68>;
/* IRQ10_B */
interrupts = <0 150 0x4>;
};
};

i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x2>;

ina220@40 {
compatible = "ti,ina220";
reg = <0x40>;
shunt-resistor = <1000>;
};

ina220@41 {
compatible = "ti,ina220";
reg = <0x41>;
shunt-resistor = <1000>;
};
};

i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x3>;

eeprom@56 {
compatible = "atmel,24c512";
reg = <0x56>;
};

eeprom@57 {
compatible = "atmel,24c512";
reg = <0x57>;
};

temp-sensor@4c {
compatible = "adi,adt7461a";
reg = <0x4c>;
};
};
};
};

&lpuart0 {
status = "okay";
};

&qspi {
bus-num = <0>;
status = "okay";

qflash0: s25fl128s@0 {
compatible = "spansion,m25p80";
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <20000000>;
reg = <0>;
};
};
13 changes: 13 additions & 0 deletions arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,19 @@
};
};

&dspi0 {
bus-num = <0>;
status = "okay";

flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "n25q128a13", "jedec,spi-nor"; /* 16MB */
reg = <0>;
spi-max-frequency = <1000000>; /* input clock */
};
};

&duart0 {
status = "okay";
};
Expand Down
22 changes: 18 additions & 4 deletions arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,20 @@
interrupts = <0 43 0x4>;
};

qspi: quadspi@1550000 {
compatible = "fsl,ls1043a-qspi", "fsl,ls1021a-qspi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x0 0x1550000 0x0 0x10000>,
<0x0 0x40000000 0x0 0x4000000>;
reg-names = "QuadSPI", "QuadSPI-memory";
interrupts = <0 99 0x4>;
clock-names = "qspi_en", "qspi";
clocks = <&clockgen 4 0>, <&clockgen 4 0>;
big-endian;
status = "disabled";
};

esdhc: esdhc@1560000 {
compatible = "fsl,ls1043a-esdhc", "fsl,esdhc";
reg = <0x0 0x1560000 0x0 0x10000>;
Expand Down Expand Up @@ -284,7 +298,7 @@
};

gpio1: gpio@2300000 {
compatible = "fsl,ls1043a-gpio";
compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
reg = <0x0 0x2300000 0x0 0x10000>;
interrupts = <0 66 0x4>;
gpio-controller;
Expand All @@ -294,7 +308,7 @@
};

gpio2: gpio@2310000 {
compatible = "fsl,ls1043a-gpio";
compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
reg = <0x0 0x2310000 0x0 0x10000>;
interrupts = <0 67 0x4>;
gpio-controller;
Expand All @@ -304,7 +318,7 @@
};

gpio3: gpio@2320000 {
compatible = "fsl,ls1043a-gpio";
compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
reg = <0x0 0x2320000 0x0 0x10000>;
interrupts = <0 68 0x4>;
gpio-controller;
Expand All @@ -314,7 +328,7 @@
};

gpio4: gpio@2330000 {
compatible = "fsl,ls1043a-gpio";
compatible = "fsl,ls1043a-gpio", "fsl,qoriq-gpio";
reg = <0x0 0x2330000 0x0 0x10000>;
interrupts = <0 134 0x4>;
gpio-controller;
Expand Down
Loading

0 comments on commit 9910f5b

Please sign in to comment.