Commit d4e1f5a1 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'dt-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC device-tree changes from Olof Johansson:
 "Unlike the board branch, this keeps having large sets of changes for
  every release, but that's quite expected and is so far working well.

  Most of this is plumbing for various device bindings and new
  platforms, but there's also a bit of cleanup and code removal for
  things that are moved from platform code to DT contents (some OMAP
  clock code in particular).

  There's also a pinctrl driver for tegra here (appropriately acked),
  that's introduced this way to make it more bisectable.

  I'm happy to say that there were no conflicts at all with this branch
  this release, which means that changes are flowing through our tree as
  expected instead of merged through driver maintainers (or at least not
  done with conflicts).

  There are several new boards added, and a couple of SoCs.  In no
  particular order:

   - Rockchip RK3288 SoC support, including DTS for a dev board that
     they have seeded with some community developers.
   - Better support for Hardkernel Exynos4-based ODROID boards.
   - CCF conversions (and dtsi contents) for several Renesas platforms.
   - Gumstix Pepper (TI AM335x) board support
   - TI eval board support for AM437x
   - Allwinner A23 SoC, very similar to existing ones which mostly has
     resulted in DT changes for support.  Also includes support for an
     Ippo tablet with the chipset.
   - Allwinner A31 Hummingbird board support, not to be confused with
     the SolidRun i.MX-based Hummingboard.
   - Tegra30 Apalis board support"

* tag 'dt-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (334 commits)
  ARM: dts: Enable USB host0 (EHCI) on rk3288-evb
  ARM: dts: add rk3288 ehci usb devices
  ARM: dts: Turn on USB host vbus on rk3288-evb
  ARM: tegra: apalis t30: fix device tree compatible node
  ARM: tegra: paz00: Fix some indentation inconsistencies
  ARM: zynq: DT: Clarify Xilinx Zynq platform
  ARM: dts: rockchip: add watchdog node
  ARM: dts: rockchip: remove pinctrl setting from radxarock uart2
  ARM: dts: Add missing pinctrl for uart0/1 for exynos3250
  ARM: dts: Remove duplicate 'interrput-parent' property for exynos3250
  ARM: dts: Add TMU dt node to monitor the temperature for exynos3250
  ARM: dts: Specify MAX77686 pmic interrupt for exynos5250-smdk5250
  ARM: dts: cypress,cyapa trackpad is exynos5250-Snow only
  ARM: dts: max77686 is exynos5250-snow only
  ARM: zynq: DT: Remove DMA from board DTs
  ARM: zynq: DT: Add CAN node
  ARM: EXYNOS: Add exynos5260 PMU compatible string to DT match table
  ARM: dts: Add PMU DT node for exynos5260 SoC
  ARM: EXYNOS: Add support for Exynos5410 PMU
  ARM: dts: Add PMU to exynos5410
  ...
parents 231bf80f 8850e0ba
Adapteva Platforms Device Tree Bindings
---------------------------------------
Parallella board
Required root node properties:
- compatible = "adapteva,parallella";
Marvell Armada 38x CA9 MPcore SoC Controller
============================================
Required properties:
- compatible: Should be "marvell,armada-380-mpcore-soc-ctrl".
- reg: should be the register base and length as documented in the
datasheet for the CA9 MPcore SoC Control registers
mpcore-soc-ctrl@20d20 {
compatible = "marvell,armada-380-mpcore-soc-ctrl";
reg = <0x20d20 0x6c>;
};
* Power Management Controller (PMC) * Power Management Controller (PMC)
Required properties: Required properties:
- compatible: Should be "atmel,at91rm9200-pmc" - compatible: Should be "atmel,<chip>-pmc".
<chip> can be: at91rm9200, at91sam9260, at91sam9g45, at91sam9n12,
at91sam9x5, sama5d3
- reg: Should contain PMC registers location and length - reg: Should contain PMC registers location and length
Examples: Examples:
......
Broadcom Kona Family CPU Enable Method
--------------------------------------
This binding defines the enable method used for starting secondary
CPUs in the following Broadcom SoCs:
BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664
The enable method is specified by defining the following required
properties in the "cpus" device tree node:
- enable-method = "brcm,bcm11351-cpu-method";
- secondary-boot-reg = <...>;
The secondary-boot-reg property is a u32 value that specifies the
physical address of the register used to request the ROM holding pen
code release a secondary CPU. The value written to the register is
formed by encoding the target CPU id into the low bits of the
physical start address it should jump to.
Example:
cpus {
#address-cells = <1>;
#size-cells = <0>;
enable-method = "brcm,bcm11351-cpu-method";
secondary-boot-reg = <0x3500417c>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0>;
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <1>;
};
};
ARM Broadcom STB platforms Device Tree Bindings
-----------------------------------------------
Boards with Broadcom Brahma15 ARM-based BCMxxxx (generally BCM7xxx variants)
SoC shall have the following DT organization:
Required root node properties:
- compatible: "brcm,bcm<chip_id>", "brcm,brcmstb"
example:
/ {
#address-cells = <2>;
#size-cells = <2>;
model = "Broadcom STB (bcm7445)";
compatible = "brcm,bcm7445", "brcm,brcmstb";
Further, syscon nodes that map platform-specific registers used for general
system control is required:
- compatible: "brcm,bcm<chip_id>-sun-top-ctrl", "syscon"
- compatible: "brcm,bcm<chip_id>-hif-cpubiuctrl", "syscon"
- compatible: "brcm,bcm<chip_id>-hif-continuation", "syscon"
example:
rdb {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
ranges = <0 0x00 0xf0000000 0x1000000>;
sun_top_ctrl: syscon@404000 {
compatible = "brcm,bcm7445-sun-top-ctrl", "syscon";
reg = <0x404000 0x51c>;
};
hif_cpubiuctrl: syscon@3e2400 {
compatible = "brcm,bcm7445-hif-cpubiuctrl", "syscon";
reg = <0x3e2400 0x5b4>;
};
hif_continuation: syscon@452000 {
compatible = "brcm,bcm7445-hif-continuation", "syscon";
reg = <0x452000 0x100>;
};
};
Lastly, nodes that allow for support of SMP initialization and reboot are
required:
smpboot
-------
Required properties:
- compatible
The string "brcm,brcmstb-smpboot".
- syscon-cpu
A phandle / integer array property which lets the BSP know the location
of certain CPU power-on registers.
The layout of the property is as follows:
o a phandle to the "hif_cpubiuctrl" syscon node
o offset to the base CPU power zone register
o offset to the base CPU reset register
- syscon-cont
A phandle pointing to the syscon node which describes the CPU boot
continuation registers.
o a phandle to the "hif_continuation" syscon node
example:
smpboot {
compatible = "brcm,brcmstb-smpboot";
syscon-cpu = <&hif_cpubiuctrl 0x88 0x178>;
syscon-cont = <&hif_continuation>;
};
reboot
-------
Required properties
- compatible
The string property "brcm,brcmstb-reboot".
- syscon
A phandle / integer array that points to the syscon node which describes
the general system reset registers.
o a phandle to "sun_top_ctrl"
o offset to the "reset source enable" register
o offset to the "software master reset" register
example:
reboot {
compatible = "brcm,brcmstb-reboot";
syscon = <&sun_top_ctrl 0x304 0x308>;
};
========================================================
Secondary CPU enable-method "marvell,berlin-smp" binding
========================================================
This document describes the "marvell,berlin-smp" method for enabling secondary
CPUs. To apply to all CPUs, a single "marvell,berlin-smp" enable method should
be defined in the "cpus" node.
Enable method name: "marvell,berlin-smp"
Compatible machines: "marvell,berlin2" and "marvell,berlin2q"
Compatible CPUs: "marvell,pj4b" and "arm,cortex-a9"
Related properties: (none)
Note:
This enable method needs valid nodes compatible with "arm,cortex-a9-scu" and
"marvell,berlin-cpu-ctrl"[1].
Example:
cpus {
#address-cells = <1>;
#size-cells = <0>;
enable-method = "marvell,berlin-smp";
cpu@0 {
compatible = "marvell,pj4b";
device_type = "cpu";
next-level-cache = <&l2>;
reg = <0>;
};
cpu@1 {
compatible = "marvell,pj4b";
device_type = "cpu";
next-level-cache = <&l2>;
reg = <1>;
};
};
--
[1] arm/marvell,berlin.txt
...@@ -152,7 +152,9 @@ nodes to be present and contain the properties described below. ...@@ -152,7 +152,9 @@ nodes to be present and contain the properties described below.
"arm,cortex-a7" "arm,cortex-a7"
"arm,cortex-a8" "arm,cortex-a8"
"arm,cortex-a9" "arm,cortex-a9"
"arm,cortex-a12"
"arm,cortex-a15" "arm,cortex-a15"
"arm,cortex-a17"
"arm,cortex-a53" "arm,cortex-a53"
"arm,cortex-a57" "arm,cortex-a57"
"arm,cortex-m0" "arm,cortex-m0"
...@@ -163,6 +165,7 @@ nodes to be present and contain the properties described below. ...@@ -163,6 +165,7 @@ nodes to be present and contain the properties described below.
"arm,cortex-r4" "arm,cortex-r4"
"arm,cortex-r5" "arm,cortex-r5"
"arm,cortex-r7" "arm,cortex-r7"
"brcm,brahma-b15"
"faraday,fa526" "faraday,fa526"
"intel,sa110" "intel,sa110"
"intel,sa1100" "intel,sa1100"
...@@ -184,6 +187,7 @@ nodes to be present and contain the properties described below. ...@@ -184,6 +187,7 @@ nodes to be present and contain the properties described below.
can be one of: can be one of:
"allwinner,sun6i-a31" "allwinner,sun6i-a31"
"arm,psci" "arm,psci"
"brcm,brahma-b15"
"marvell,armada-375-smp" "marvell,armada-375-smp"
"marvell,armada-380-smp" "marvell,armada-380-smp"
"marvell,armada-xp-smp" "marvell,armada-xp-smp"
......
...@@ -16,6 +16,7 @@ Main node required properties: ...@@ -16,6 +16,7 @@ Main node required properties:
"arm,cortex-a9-gic" "arm,cortex-a9-gic"
"arm,cortex-a7-gic" "arm,cortex-a7-gic"
"arm,arm11mp-gic" "arm,arm11mp-gic"
"brcm,brahma-b15-gic"
- interrupt-controller : Identifies the node as an interrupt controller - interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode an - #interrupt-cells : Specifies the number of cells needed to encode an
interrupt source. The type shall be a <u32> and the value shall be 3. interrupt source. The type shall be a <u32> and the value shall be 3.
......
...@@ -24,6 +24,22 @@ SoC and board used. Currently known SoC compatibles are: ...@@ -24,6 +24,22 @@ SoC and board used. Currently known SoC compatibles are:
... ...
} }
* Marvell Berlin CPU control bindings
CPU control register allows various operations on CPUs, like resetting them
independently.
Required properties:
- compatible: should be "marvell,berlin-cpu-ctrl"
- reg: address and length of the register set
Example:
cpu-ctrl@f7dd0000 {
compatible = "marvell,berlin-cpu-ctrl";
reg = <0xf7dd0000 0x10000>;
};
* Marvell Berlin2 chip control binding * Marvell Berlin2 chip control binding
Marvell Berlin SoCs have a chip control register set providing several Marvell Berlin SoCs have a chip control register set providing several
......
...@@ -129,6 +129,9 @@ Boards: ...@@ -129,6 +129,9 @@ Boards:
- AM437x GP EVM - AM437x GP EVM
compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43" compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"
- AM437x SK EVM: AM437x StarterKit Evaluation Module
compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43"
- DRA742 EVM: Software Development Board for DRA742 - DRA742 EVM: Software Development Board for DRA742
compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
......
OMAP PRCM bindings
Power Reset and Clock Manager lists the device clocks and clockdomains under
a DT hierarchy. Each TI SoC can have multiple PRCM entities listed for it,
each describing one module and the clock hierarchy under it. see [1] for
documentation about the individual clock/clockdomain nodes.
[1] Documentation/devicetree/bindings/clock/ti/*
Required properties:
- compatible: Must be one of:
"ti,am3-prcm"
"ti,am3-scrm"
"ti,am4-prcm"
"ti,am4-scrm"
"ti,omap2-prcm"
"ti,omap2-scrm"
"ti,omap3-prm"
"ti,omap3-cm"
"ti,omap3-scrm"
"ti,omap4-cm1"
"ti,omap4-prm"
"ti,omap4-cm2"
"ti,omap4-scrm"
"ti,omap5-prm"
"ti,omap5-cm-core-aon"
"ti,omap5-scrm"
"ti,omap5-cm-core"
"ti,dra7-prm"
"ti,dra7-cm-core-aon"
"ti,dra7-cm-core"
- reg: Contains PRCM module register address range
(base address and length)
- clocks: clocks for this module
- clockdomains: clockdomains for this module
Example:
cm: cm@48004000 {
compatible = "ti,omap3-cm";
reg = <0x48004000 0x4000>;
cm_clocks: clocks {
#address-cells = <1>;
#size-cells = <0>;
};
cm_clockdomains: clockdomains {
};
}
&cm_clocks {
omap2_32k_fck: omap_32k_fck {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <32768>;
};
};
&cm_clockdomains {
core_l3_clkdm: core_l3_clkdm {
compatible = "ti,clockdomain";
clocks = <&sdrc_ick>;
};
};
...@@ -7,6 +7,8 @@ Properties: ...@@ -7,6 +7,8 @@ Properties:
- "samsung,exynos4212-pmu" - for Exynos4212 SoC, - "samsung,exynos4212-pmu" - for Exynos4212 SoC,
- "samsung,exynos4412-pmu" - for Exynos4412 SoC, - "samsung,exynos4412-pmu" - for Exynos4412 SoC,
- "samsung,exynos5250-pmu" - for Exynos5250 SoC, - "samsung,exynos5250-pmu" - for Exynos5250 SoC,
- "samsung,exynos5260-pmu" - for Exynos5260 SoC.
- "samsung,exynos5410-pmu" - for Exynos5410 SoC,
- "samsung,exynos5420-pmu" - for Exynos5420 SoC. - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
second value must be always "syscon". second value must be always "syscon".
......
...@@ -30,6 +30,8 @@ board-specific compatible values: ...@@ -30,6 +30,8 @@ board-specific compatible values:
nvidia,seaboard nvidia,seaboard
nvidia,ventana nvidia,ventana
nvidia,whistler nvidia,whistler
toradex,apalis_t30
toradex,apalis_t30-eval
toradex,colibri_t20-512 toradex,colibri_t20-512
toradex,iris toradex,iris
......
Xilinx Zynq EP107 Emulation Platform board Xilinx Zynq Platforms Device Tree Bindings
This board is an emulation platform for the Zynq product which is Boards with Zynq-7000 SOC based on an ARM Cortex A9 processor
based on an ARM Cortex A9 processor. shall have the following properties.
Required root node properties: Required root node properties:
- compatible = "xlnx,zynq-ep107"; - compatible = "xlnx,zynq-7000";
NVIDIA GK20A Graphics Processing Unit
Required properties:
- compatible: "nvidia,<chip>-<gpu>"
Currently recognized values:
- nvidia,tegra124-gk20a
- reg: Physical base address and length of the controller's registers.
Must contain two entries:
- first entry for bar0
- second entry for bar1
- interrupts: Must contain an entry for each entry in interrupt-names.
See ../interrupt-controller/interrupts.txt for details.
- interrupt-names: Must include the following entries:
- stall
- nonstall
- vdd-supply: regulator for supply voltage.
- clocks: Must contain an entry for each entry in clock-names.
See ../clocks/clock-bindings.txt for details.
- clock-names: Must include the following entries:
- gpu
- pwr
- resets: Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
- gpu
Example:
gpu@0,57000000 {
compatible = "nvidia,gk20a";
reg = <0x0 0x57000000 0x0 0x01000000>,
<0x0 0x58000000 0x0 0x01000000>;
interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "stall", "nonstall";
vdd-supply = <&vdd_gpu>;
clocks = <&tegra_car TEGRA124_CLK_GPU>,
<&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
clock-names = "gpu", "pwr";
resets = <&tegra_car 184>;
reset-names = "gpu";
status = "disabled";
};
Device tree binding for NVIDIA Tegra XUSB pad controller
========================================================
The Tegra XUSB pad controller manages a set of lanes, each of which can be
assigned to one out of a set of different pads. Some of these pads have an
associated PHY that must be powered up before the pad can be used.
This document defines the device-specific binding for the XUSB pad controller.
Refer to pinctrl-bindings.txt in this directory for generic information about
pin controller device tree bindings and ../phy/phy-bindings.txt for details on
how to describe and reference PHYs in device trees.
Required properties:
--------------------
- compatible: should be "nvidia,tegra124-xusb-padctl"
- reg: Physical base address and length of the controller's registers.
- resets: Must contain an entry for each entry in reset-names.
See ../reset/reset.txt for details.
- reset-names: Must include the following entries:
- padctl
- #phy-cells: Should be 1. The specifier is the index of the PHY to reference.
See <dt-bindings/pinctrl/pinctrl-tegra-xusb.h> for the list of valid values.
Lane muxing:
------------
Child nodes contain the pinmux configurations following the conventions from
the pinctrl-bindings.txt document. Typically a single, static configuration is
given and applied at boot time.
Each subnode describes groups of lanes along with parameters and pads that
they should be assigned to. The name of these subnodes is not important. All
subnodes should be parsed solely based on their content.
Each subnode only applies the parameters that are explicitly listed. In other
words, if a subnode that lists a function but no pin configuration parameters
implies no information about any pin configuration parameters. Similarly, a
subnode that describes only an IDDQ parameter implies no information about
what function the pins are assigned to. For this reason even seemingly boolean
values are actually tristates in this binding: unspecified, off or on.
Unspecified is represented as an absent property, and off/on are represented
as integer values 0 and 1.
Required properties:
- nvidia,lanes: An array of strings. Each string is the name of a lane.
Optional properties:
- nvidia,function: A string that is the name of the function (pad) that the
pin or group should be assigned to. Valid values for function names are
listed below.
- nvidia,iddq: Enables IDDQ mode of the lane. (0: no, 1: yes)
Note that not all of these properties are valid for all lanes. Lanes can be
divided into three groups:
- otg-0, otg-1, otg-2:
Valid functions for this group are: "snps", "xusb", "uart", "rsvd".
The nvidia,iddq property does not apply to this group.
- ulpi-0, hsic-0, hsic-1:
Valid functions for this group are: "snps", "xusb".
The nvidia,iddq property does not apply to this group.
- pcie-0, pcie-1, pcie-2, pcie-3, pcie-4, sata-0:
Valid functions for this group are: "pcie", "usb3", "sata", "rsvd".
Example:
========
SoC file extract:
-----------------
padctl@0,7009f000 {
compatible = "nvidia,tegra124-xusb-padctl";
reg = <0x0 0x7009f000 0x0 0x1000>;
resets = <&tegra_car 142>;
reset-names = "padctl";
#phy-cells = <1>;
};
Board file extract:
-------------------
pcie-controller@0,01003000 {
...
phys = <&padctl 0>;
phy-names = "pcie";
...
};
...
padctl: padctl@0,7009f000 {
pinctrl-0 = <&padctl_default>;
pinctrl-names = "default";
padctl_default: pinmux {
usb3 {
nvidia,lanes = "pcie-0", "pcie-1";
nvidia,function = "usb3";
nvidia,iddq = <0>;
};
pcie {
nvidia,lanes = "pcie-2", "pcie-3",
"pcie-4";
nvidia,function = "pcie";
nvidia,iddq = <0>;
};
sata {
nvidia,lanes = "sata-0";
nvidia,function = "sata";
nvidia,iddq = <0>;
};
};
};
Binding for Cadence UART Controller
Required properties:
- compatible : should be "cdns,uart-r1p8", or "xlnx,xuartps"
- reg: Should contain UART controller registers location and length.
- interrupts: Should contain UART controller interrupts.
- clocks: Must contain phandles to the UART clocks
See ../clocks/clock-bindings.txt for details.
- clock-names: Tuple to identify input clocks, must contain "uart_clk" and "pclk"
See ../clocks/clock-bindings.txt for details.
Example:
uart@e0000000 {
compatible = "cdns,uart-r1p8";
clocks = <&clkc 23>, <&clkc 40>;
clock-names = "uart_clk", "pclk";
reg = <0xE0000000 0x1000>;
interrupts = <0 27 4>;
};
...@@ -6,6 +6,7 @@ using them to avoid name-space collisions. ...@@ -6,6 +6,7 @@ using them to avoid name-space collisions.
abilis Abilis Systems abilis Abilis Systems
active-semi Active-Semi International Inc active-semi Active-Semi International Inc
ad Avionic Design GmbH ad Avionic Design GmbH
adapteva Adapteva, Inc.
adi Analog Devices, Inc. adi Analog Devices, Inc.
aeroflexgaisler Aeroflex Gaisler AB aeroflexgaisler Aeroflex Gaisler AB
ak Asahi Kasei Corp. ak Asahi Kasei Corp.
...@@ -72,6 +73,7 @@ karo Ka-Ro electronics GmbH ...@@ -72,6 +73,7 @@ karo Ka-Ro electronics GmbH
keymile Keymile GmbH keymile Keymile GmbH
lacie LaCie lacie LaCie
lantiq Lantiq Semiconductor lantiq Lantiq Semiconductor
lenovo Lenovo Group Ltd.
lg LG Corporation lg LG Corporation
linux Linux-specific binding linux Linux-specific binding
lsi LSI Corp. (LSI Logic) lsi LSI Corp. (LSI Logic)
...@@ -124,6 +126,7 @@ sii Seiko Instruments, Inc. ...@@ -124,6 +126,7 @@ sii Seiko Instruments, Inc.
sirf SiRF Technology, Inc. sirf SiRF Technology, Inc.
smsc Standard Microsystems Corporation smsc Standard Microsystems Corporation
snps Synopsys, Inc. snps Synopsys, Inc.
solidrun SolidRun
spansion Spansion Inc. spansion Spansion Inc.
st STMicroelectronics st STMicroelectronics
ste ST-Ericsson ste ST-Ericsson
......
...@@ -1489,6 +1489,7 @@ config ARCH_NR_GPIO ...@@ -1489,6 +1489,7 @@ config ARCH_NR_GPIO
default 416 if ARCH_SUNXI default 416 if ARCH_SUNXI
default 392 if ARCH_U8500 default 392 if ARCH_U8500
default 352 if ARCH_VT8500 default 352 if ARCH_VT8500
default 288 if ARCH_ROCKCHIP
default 264 if MACH_H4700 default 264 if MACH_H4700
default 0 default 0
help help
......
...@@ -590,7 +590,7 @@ choice ...@@ -590,7 +590,7 @@ choice
on Rockchip based platforms. on Rockchip based platforms.
config DEBUG_RK3X_UART0 config DEBUG_RK3X_UART0
bool "Kernel low-level debugging messages via Rockchip RK3X UART0" bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
depends on ARCH_ROCKCHIP depends on ARCH_ROCKCHIP
select DEBUG_UART_8250 select DEBUG_UART_8250
help help
...@@ -598,7 +598,7 @@ choice ...@@ -598,7 +598,7 @@ choice
on Rockchip based platforms. on Rockchip based platforms.
config DEBUG_RK3X_UART1 config DEBUG_RK3X_UART1
bool "Kernel low-level debugging messages via Rockchip RK3X UART1" bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
depends on ARCH_ROCKCHIP depends on ARCH_ROCKCHIP
select DEBUG_UART_8250 select DEBUG_UART_8250
help help
...@@ -606,7 +606,7 @@ choice ...@@ -606,7 +606,7 @@ choice
on Rockchip based platforms. on Rockchip based platforms.
config DEBUG_RK3X_UART2 config DEBUG_RK3X_UART2
bool "Kernel low-level debugging messages via Rockchip RK3X UART2" bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
depends on ARCH_ROCKCHIP depends on ARCH_ROCKCHIP
select DEBUG_UART_8250 select DEBUG_UART_8250
help help
...@@ -614,13 +614,21 @@ choice ...@@ -614,13 +614,21 @@ choice
on Rockchip based platforms. on Rockchip based platforms.
config DEBUG_RK3X_UART3 config DEBUG_RK3X_UART3
bool "Kernel low-level debugging messages via Rockchip RK3X UART3" bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
depends on ARCH_ROCKCHIP depends on ARCH_ROCKCHIP
select DEBUG_UART_8250 select DEBUG_UART_8250
help help
Say Y here if you want kernel low-level debugging support Say Y here if you want kernel low-level debugging support
on Rockchip based platforms. on Rockchip based platforms.
config DEBUG_RK32_UART2
bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
depends on ARCH_ROCKCHIP
select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip RK32xx based platforms.
config DEBUG_S3C_UART0 config DEBUG_S3C_UART0
depends on PLAT_SAMSUNG depends on PLAT_SAMSUNG
select DEBUG_EXYNOS_UART if ARCH_EXYNOS select DEBUG_EXYNOS_UART if ARCH_EXYNOS
...@@ -1110,6 +1118,7 @@ config DEBUG_UART_PHYS ...@@ -1110,6 +1118,7 @@ config DEBUG_UART_PHYS
default 0xf991e000 if DEBUG_QCOM_UARTDM default 0xf991e000 if DEBUG_QCOM_UARTDM
default 0xfcb00000 if DEBUG_HI3620_UART default 0xfcb00000 if DEBUG_HI3620_UART
default 0xfe800000 if ARCH_IOP32X default 0xfe800000 if ARCH_IOP32X
default 0xff690000 if DEBUG_RK32_UART2
default 0xffc02000 if DEBUG_SOCFPGA_UART default 0xffc02000 if DEBUG_SOCFPGA_UART
default 0xffd82340 if ARCH_IOP13XX default 0xffd82340 if ARCH_IOP13XX
default 0xfff36000 if DEBUG_HIGHBANK_UART default 0xfff36000 if DEBUG_HIGHBANK_UART
...@@ -1167,6 +1176,7 @@ config DEBUG_UART_VIRT ...@@ -1167,6 +1176,7 @@ config DEBUG_UART_VIRT
default 0xfec02000 if DEBUG_SOCFPGA_UART default 0xfec02000 if DEBUG_SOCFPGA_UART
default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
default 0xfec90000 if DEBUG_RK32_UART2
default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
default 0xfed60000 if DEBUG_RK29_UART0 default 0xfed60000 if DEBUG_RK29_UART0
...@@ -1200,7 +1210,7 @@ config DEBUG_UART_8250_WORD ...@@ -1200,7 +1210,7 @@ config DEBUG_UART_8250_WORD
ARCH_KEYSTONE || \ ARCH_KEYSTONE || \
DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \ DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
DEBUG_DAVINCI_DA8XX_UART2 || \ DEBUG_DAVINCI_DA8XX_UART2 || \
DEBUG_BCM_KONA_UART DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
config DEBUG_UART_8250_FLOW_CONTROL config DEBUG_UART_8250_FLOW_CONTROL
bool "Enable flow control for 8250 UART" bool "Enable flow control for 8250 UART"
......
...@@ -59,6 +59,8 @@ dtb-$(CONFIG_ARCH_BERLIN) += \ ...@@ -59,6 +59,8 @@ dtb-$(CONFIG_ARCH_BERLIN) += \
berlin2-sony-nsz-gs7.dtb \ berlin2-sony-nsz-gs7.dtb \
berlin2cd-google-chromecast.dtb \ berlin2cd-google-chromecast.dtb \
berlin2q-marvell-dmp.dtb berlin2q-marvell-dmp.dtb
dtb-$(CONFIG_ARCH_BRCMSTB) += \
bcm7445-bcm97445svmb.dtb
dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
da850-evm.dtb da850-evm.dtb
dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
...@@ -66,7 +68,9 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ ...@@ -66,7 +68,9 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \ exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \ exynos4210-trats.dtb \
exynos4210-universal_c210.dtb \ exynos4210-universal_c210.dtb \
exynos4412-odroidu3.dtb \
exynos4412-odroidx.dtb \ exynos4412-odroidx.dtb \
exynos4412-odroidx2.dtb \
exynos4412-origen.dtb \ exynos4412-origen.dtb \
exynos4412-smdk4412.dtb \ exynos4412-smdk4412.dtb \
exynos4412-tiny4412.dtb \ exynos4412-tiny4412.dtb \
...@@ -93,6 +97,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += k2hk-evm.dtb \ ...@@ -93,6 +97,7 @@ dtb-$(CONFIG_ARCH_KEYSTONE) += k2hk-evm.dtb \
k2e-evm.dtb k2e-evm.dtb
dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
kirkwood-cloudbox.dtb \ kirkwood-cloudbox.dtb \
kirkwood-d2net.dtb \
kirkwood-db-88f6281.dtb \ kirkwood-db-88f6281.dtb \
kirkwood-db-88f6282.dtb \ kirkwood-db-88f6282.dtb \
kirkwood-dns320.dtb \ kirkwood-dns320.dtb \
...@@ -123,6 +128,8 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ ...@@ -123,6 +128,8 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
kirkwood-lsxhl.dtb \ kirkwood-lsxhl.dtb \
kirkwood-mplcec4.dtb \ kirkwood-mplcec4.dtb \
kirkwood-mv88f6281gtw-ge.dtb \ kirkwood-mv88f6281gtw-ge.dtb \
kirkwood-net2big.dtb \
kirkwood-net5big.dtb \
kirkwood-netgear_readynas_duo_v2.dtb \ kirkwood-netgear_readynas_duo_v2.dtb \
kirkwood-netgear_readynas_nv+_v2.dtb \ kirkwood-netgear_readynas_nv+_v2.dtb \
kirkwood-ns2.dtb \ kirkwood-ns2.dtb \
...@@ -155,10 +162,14 @@ dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb ...@@ -155,10 +162,14 @@ dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb
dtb-$(CONFIG_ARCH_MXC) += \ dtb-$(CONFIG_ARCH_MXC) += \
imx25-eukrea-mbimxsd25-baseboard.dtb \ imx25-eukrea-mbimxsd25-baseboard.dtb \
imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtb \
imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtb \
imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dtb \
imx25-karo-tx25.dtb \ imx25-karo-tx25.dtb \
imx25-pdk.dtb \ imx25-pdk.dtb \
imx27-apf27.dtb \ imx27-apf27.dtb \
imx27-apf27dev.dtb \ imx27-apf27dev.dtb \
imx27-eukrea-mbimxsd27-baseboard.dtb \
imx27-pdk.dtb \ imx27-pdk.dtb \
imx27-phytec-phycore-rdk.dtb \ imx27-phytec-phycore-rdk.dtb \
imx27-phytec-phycard-s-rdk.dtb \ imx27-phytec-phycard-s-rdk.dtb \
...@@ -180,6 +191,8 @@ dtb-$(CONFIG_ARCH_MXC) += \ ...@@ -180,6 +191,8 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx53-tx53-x03x.dtb \ imx53-tx53-x03x.dtb \
imx53-tx53-x13x.dtb \ imx53-tx53-x13x.dtb \
imx53-voipac-bsb.dtb \ imx53-voipac-bsb.dtb \
imx6dl-aristainetos_4.dtb \
imx6dl-aristainetos_7.dtb \
imx6dl-cubox-i.dtb \ imx6dl-cubox-i.dtb \
imx6dl-dfi-fs700-m60.dtb \ imx6dl-dfi-fs700-m60.dtb \
imx6dl-gw51xx.dtb \ imx6dl-gw51xx.dtb \
...@@ -189,11 +202,16 @@ dtb-$(CONFIG_ARCH_MXC) += \ ...@@ -189,11 +202,16 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx6dl-hummingboard.dtb \ imx6dl-hummingboard.dtb \
imx6dl-nitrogen6x.dtb \ imx6dl-nitrogen6x.dtb \
imx6dl-phytec-pbab01.dtb \ imx6dl-phytec-pbab01.dtb \
imx6dl-rex-basic.dtb \
imx6dl-riotboard.dtb \ imx6dl-riotboard.dtb \
imx6dl-sabreauto.dtb \ imx6dl-sabreauto.dtb \
imx6dl-sabrelite.dtb \ imx6dl-sabrelite.dtb \
imx6dl-sabresd.dtb \ imx6dl-sabresd.dtb \
imx6dl-tx6dl-comtft.dtb \
imx6dl-tx6u-801x.dtb \
imx6dl-tx6u-811x.dtb \
imx6dl-wandboard.dtb \ imx6dl-wandboard.dtb \
imx6dl-wandboard-revb1.dtb \
imx6q-arm2.dtb \ imx6q-arm2.dtb \
imx6q-cm-fx6.dtb \ imx6q-cm-fx6.dtb \
imx6q-cubox-i.dtb \ imx6q-cubox-i.dtb \
...@@ -207,13 +225,21 @@ dtb-$(CONFIG_ARCH_MXC) += \ ...@@ -207,13 +225,21 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx6q-gw54xx.dtb \ imx6q-gw54xx.dtb \
imx6q-nitrogen6x.dtb \ imx6q-nitrogen6x.dtb \
imx6q-phytec-pbab01.dtb \ imx6q-phytec-pbab01.dtb \
imx6q-rex-pro.dtb \
imx6q-sabreauto.dtb \ imx6q-sabreauto.dtb \
imx6q-sabrelite.dtb \ imx6q-sabrelite.dtb \
imx6q-sabresd.dtb \ imx6q-sabresd.dtb \
imx6q-sbc6x.dtb \ imx6q-sbc6x.dtb \
imx6q-udoo.dtb \ imx6q-udoo.dtb \
imx6q-wandboard.dtb \ imx6q-wandboard.dtb \
imx6q-wandboard-revb1.dtb \
imx6q-tx6q-1010.dtb \
imx6q-tx6q-1010-comtft.dtb \
imx6q-tx6q-1020.dtb \
imx6q-tx6q-1020-comtft.dtb \
imx6q-tx6q-1110.dtb \
imx6sl-evk.dtb \ imx6sl-evk.dtb \
imx6sx-sdb.dtb \
vf610-colibri.dtb \ vf610-colibri.dtb \
vf610-cosmic.dtb \ vf610-cosmic.dtb \
vf610-twr.dtb vf610-twr.dtb
...@@ -289,7 +315,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \ ...@@ -289,7 +315,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \
am335x-boneblack.dtb \ am335x-boneblack.dtb \
am335x-evm.dtb \ am335x-evm.dtb \
am335x-evmsk.dtb \ am335x-evmsk.dtb \
am335x-nano.dtb am335x-nano.dtb \
am335x-pepper.dtb
dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
omap4-panda.dtb \ omap4-panda.dtb \
omap4-panda-a4.dtb \ omap4-panda-a4.dtb \
...@@ -299,6 +326,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ ...@@ -299,6 +326,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
omap4-var-dvk-om44.dtb \ omap4-var-dvk-om44.dtb \
omap4-var-stk-om44.dtb omap4-var-stk-om44.dtb
dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \ dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
am437x-sk-evm.dtb \
am437x-gp-evm.dtb am437x-gp-evm.dtb
dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \ dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
omap5-sbc-t54.dtb \ omap5-sbc-t54.dtb \
...@@ -316,6 +344,11 @@ dtb-$(CONFIG_ARCH_QCOM) += \ ...@@ -316,6 +344,11 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8084-mtp.dtb \ qcom-apq8084-mtp.dtb \
qcom-msm8660-surf.dtb \ qcom-msm8660-surf.dtb \
qcom-msm8960-cdp.dtb qcom-msm8960-cdp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += \
rk3066a-bqcurie2.dtb \
rk3188-radxarock.dtb \
rk3288-evb-act8846.dtb \
rk3288-evb-rk808.dtb
dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \ dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
s3c6410-smdk6410.dtb s3c6410-smdk6410.dtb
...@@ -363,6 +396,7 @@ dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \ ...@@ -363,6 +396,7 @@ dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \
stih416-b2020e.dtb stih416-b2020e.dtb
dtb-$(CONFIG_MACH_SUN4I) += \ dtb-$(CONFIG_MACH_SUN4I) += \
sun4i-a10-a1000.dtb \ sun4i-a10-a1000.dtb \
sun4i-a10-ba10-tvbox.dtb \
sun4i-a10-cubieboard.dtb \ sun4i-a10-cubieboard.dtb \
sun4i-a10-mini-xplus.dtb \ sun4i-a10-mini-xplus.dtb \
sun4i-a10-hackberry.dtb \ sun4i-a10-hackberry.dtb \
...@@ -377,12 +411,16 @@ dtb-$(CONFIG_MACH_SUN5I) += \ ...@@ -377,12 +411,16 @@ dtb-$(CONFIG_MACH_SUN5I) += \
dtb-$(CONFIG_MACH_SUN6I) += \ dtb-$(CONFIG_MACH_SUN6I) += \
sun6i-a31-app4-evb1.dtb \ sun6i-a31-app4-evb1.dtb \
sun6i-a31-colombus.dtb \ sun6i-a31-colombus.dtb \
sun6i-a31-hummingbird.dtb \
sun6i-a31-m9.dtb sun6i-a31-m9.dtb
dtb-$(CONFIG_MACH_SUN7I) += \ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-cubieboard2.dtb \ sun7i-a20-cubieboard2.dtb \
sun7i-a20-cubietruck.dtb \ sun7i-a20-cubietruck.dtb \
sun7i-a20-i12-tvbox.dtb \ sun7i-a20-i12-tvbox.dtb \
sun7i-a20-olinuxino-micro.dtb sun7i-a20-olinuxino-micro.dtb \
sun7i-a20-pcduino3.dtb
dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-a23-ippo-q8h-v5.dtb
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
tegra20-iris-512.dtb \ tegra20-iris-512.dtb \
tegra20-medcom-wide.dtb \ tegra20-medcom-wide.dtb \
...@@ -393,6 +431,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ ...@@ -393,6 +431,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
tegra20-trimslice.dtb \ tegra20-trimslice.dtb \
tegra20-ventana.dtb \ tegra20-ventana.dtb \
tegra20-whistler.dtb \ tegra20-whistler.dtb \
tegra30-apalis-eval.dtb \
tegra30-beaver.dtb \ tegra30-beaver.dtb \
tegra30-cardhu-a02.dtb \ tegra30-cardhu-a02.dtb \
tegra30-cardhu-a04.dtb \ tegra30-cardhu-a04.dtb \
...@@ -422,7 +461,9 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ ...@@ -422,7 +461,9 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
wm8650-mid.dtb \ wm8650-mid.dtb \
wm8750-apc8750.dtb \ wm8750-apc8750.dtb \
wm8850-w70v2.dtb wm8850-w70v2.dtb
dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \ dtb-$(CONFIG_ARCH_ZYNQ) += \
zynq-parallella.dtb \
zynq-zc702.dtb \
zynq-zc706.dtb \ zynq-zc706.dtb \
zynq-zed.dtb zynq-zed.dtb
dtb-$(CONFIG_MACH_ARMADA_370) += \ dtb-$(CONFIG_MACH_ARMADA_370) += \
...@@ -440,11 +481,13 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \ ...@@ -440,11 +481,13 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
armada-xp-axpwifiap.dtb \ armada-xp-axpwifiap.dtb \
armada-xp-db.dtb \ armada-xp-db.dtb \
armada-xp-gp.dtb \ armada-xp-gp.dtb \
armada-xp-netgear-rn2120.dtb \ armada-xp-lenovo-ix4-300d.dtb \
armada-xp-matrix.dtb \ armada-xp-matrix.dtb \
armada-xp-netgear-rn2120.dtb \
armada-xp-openblocks-ax3-4.dtb armada-xp-openblocks-ax3-4.dtb
dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \ dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
dove-cubox.dtb \ dove-cubox.dtb \
dove-cubox-es.dtb \
dove-d2plug.dtb \ dove-d2plug.dtb \
dove-d3plug.dtb \ dove-d3plug.dtb \
dove-dove-db.dtb dove-dove-db.dtb
......
...@@ -16,6 +16,12 @@ chosen { ...@@ -16,6 +16,12 @@ chosen {
bootargs = "console=ttyS0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs"; bootargs = "console=ttyS0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs";
}; };
clocks {
slow_xtal {
clock-frequency = <32768>;
};
};
ahb { ahb {
apb { apb {
usart0: serial@fffb0000 { usart0: serial@fffb0000 {
......
...@@ -149,12 +149,113 @@ sound { ...@@ -149,12 +149,113 @@ sound {
"Headphone Jack", "HPLOUT", "Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT"; "Headphone Jack", "HPROUT";
}; };
panel {
compatible = "ti,tilcdc,panel";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&lcd_pins_default>;
pinctrl-1 = <&lcd_pins_sleep>;
status = "okay";
panel-info {
ac-bias = <255>;
ac-bias-intrpt = <0>;
dma-burst-sz = <16>;
bpp = <32>;
fdd = <0x80>;
sync-edge = <0>;
sync-ctrl = <1>;
raster-order = <0>;
fifo-th = <0>;
};
display-timings {
480x272 {
hactive = <480>;
vactive = <272>;
hback-porch = <43>;
hfront-porch = <8>;
hsync-len = <4>;
vback-porch = <12>;
vfront-porch = <4>;
vsync-len = <10>;
clock-frequency = <9000000>;
hsync-active = <0>;
vsync-active = <0>;
};
};
};
}; };
&am33xx_pinmux { &am33xx_pinmux {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>; pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>;
lcd_pins_default: lcd_pins_default {
pinctrl-single,pins = <
0x20 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */
0x24 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad9.lcd_data22 */
0x28 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad10.lcd_data21 */
0x2c (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad11.lcd_data20 */
0x30 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad12.lcd_data19 */
0x34 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad13.lcd_data18 */
0x38 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */
0x3c (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */
0xa0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
0xa4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
0xa8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
0xac (PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
0xb0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
0xb4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
0xb8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
0xbc (PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
0xc0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
0xc4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
0xc8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
0xcc (PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
0xd0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
0xd4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
0xd8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
0xdc (PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
0xe0 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
0xe4 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
0xe8 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
0xec (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
>;
};
lcd_pins_sleep: lcd_pins_sleep {
pinctrl-single,pins = <
0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad8.lcd_data23 */
0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad9.lcd_data22 */
0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.lcd_data21 */
0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.lcd_data20 */
0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad12.lcd_data19 */
0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad13.lcd_data18 */
0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad14.lcd_data17 */
0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad15.lcd_data16 */
0xa0 (PULL_DISABLE | MUX_MODE7) /* lcd_data0.lcd_data0 */
0xa4 (PULL_DISABLE | MUX_MODE7) /* lcd_data1.lcd_data1 */
0xa8 (PULL_DISABLE | MUX_MODE7) /* lcd_data2.lcd_data2 */
0xac (PULL_DISABLE | MUX_MODE7) /* lcd_data3.lcd_data3 */
0xb0 (PULL_DISABLE | MUX_MODE7) /* lcd_data4.lcd_data4 */
0xb4 (PULL_DISABLE | MUX_MODE7) /* lcd_data5.lcd_data5 */
0xb8 (PULL_DISABLE | MUX_MODE7) /* lcd_data6.lcd_data6 */
0xbc (PULL_DISABLE | MUX_MODE7) /* lcd_data7.lcd_data7 */
0xc0 (PULL_DISABLE | MUX_MODE7) /* lcd_data8.lcd_data8 */
0xc4 (PULL_DISABLE | MUX_MODE7) /* lcd_data9.lcd_data9 */
0xc8 (PULL_DISABLE | MUX_MODE7) /* lcd_data10.lcd_data10 */
0xcc (PULL_DISABLE | MUX_MODE7) /* lcd_data11.lcd_data11 */
0xd0 (PULL_DISABLE | MUX_MODE7) /* lcd_data12.lcd_data12 */
0xd4 (PULL_DISABLE | MUX_MODE7) /* lcd_data13.lcd_data13 */
0xd8 (PULL_DISABLE | MUX_MODE7) /* lcd_data14.lcd_data14 */
0xdc (PULL_DISABLE | MUX_MODE7) /* lcd_data15.lcd_data15 */
0xe0 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_vsync.lcd_vsync */
0xe4 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_hsync.lcd_hsync */
0xe8 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_pclk.lcd_pclk */
0xec (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_ac_bias_en.lcd_ac_bias_en */
>;
};
user_leds_s0: user_leds_s0 { user_leds_s0: user_leds_s0 {
pinctrl-single,pins = < pinctrl-single,pins = <
0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad4.gpio1_4 */ 0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad4.gpio1_4 */
...@@ -573,3 +674,7 @@ tsc { ...@@ -573,3 +674,7 @@ tsc {
ti,wire-config = <0x00 0x11 0x22 0x33>; ti,wire-config = <0x00 0x11 0x22 0x33>;
}; };
}; };
&lcdc {
status = "okay";
};
This diff is collapsed.
...@@ -30,7 +30,7 @@ aliases { ...@@ -30,7 +30,7 @@ aliases {
cpus { cpus {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
cpu@0 { cpu: cpu@0 {
compatible = "arm,cortex-a9"; compatible = "arm,cortex-a9";
device_type = "cpu"; device_type = "cpu";
reg = <0>; reg = <0>;
...@@ -267,7 +267,7 @@ counter32k: counter@44e86000 { ...@@ -267,7 +267,7 @@ counter32k: counter@44e86000 {
ti,hwmods = "counter_32k"; ti,hwmods = "counter_32k";
}; };
rtc@44e3e000 { rtc: rtc@44e3e000 {
compatible = "ti,am4372-rtc","ti,da830-rtc"; compatible = "ti,am4372-rtc","ti,da830-rtc";
reg = <0x44e3e000 0x1000>; reg = <0x44e3e000 0x1000>;
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH
...@@ -276,7 +276,7 @@ rtc@44e3e000 { ...@@ -276,7 +276,7 @@ rtc@44e3e000 {
status = "disabled"; status = "disabled";
}; };
wdt@44e35000 { wdt: wdt@44e35000 {
compatible = "ti,am4372-wdt","ti,omap3-wdt"; compatible = "ti,am4372-wdt","ti,omap3-wdt";
reg = <0x44e35000 0x1000>; reg = <0x44e35000 0x1000>;
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
...@@ -868,7 +868,7 @@ dss: dss@4832a000 { ...@@ -868,7 +868,7 @@ dss: dss@4832a000 {
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
dispc@4832a400 { dispc: dispc@4832a400 {
compatible = "ti,omap3-dispc"; compatible = "ti,omap3-dispc";
reg = <0x4832a400 0x400>; reg = <0x4832a400 0x400>;
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -257,16 +257,73 @@ lcd_pins: lcd_pins { ...@@ -257,16 +257,73 @@ lcd_pins: lcd_pins {
}; };
&i2c0 { &i2c0 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>; pinctrl-0 = <&i2c0_pins>;
clock-frequency = <400000>;
tps65218: tps65218@24 {
reg = <0x24>;
compatible = "ti,tps65218";
interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
interrupt-parent = <&gic>;
interrupt-controller;
#interrupt-cells = <2>;
dcdc1: regulator-dcdc1 {
compatible = "ti,tps65218-dcdc1";
regulator-name = "vdd_core";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <1144000>;
regulator-boot-on;
regulator-always-on;
};
dcdc2: regulator-dcdc2 {
compatible = "ti,tps65218-dcdc2";
regulator-name = "vdd_mpu";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <1378000>;
regulator-boot-on;
regulator-always-on;
};
dcdc3: regulator-dcdc3 {
compatible = "ti,tps65218-dcdc3";
regulator-name = "vdcdc3";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-boot-on;
regulator-always-on;
};
dcdc5: regulator-dcdc5 {
compatible = "ti,tps65218-dcdc5";
regulator-name = "v1_0bat";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
dcdc6: regulator-dcdc6 {
compatible = "ti,tps65218-dcdc6";
regulator-name = "v1_8bat";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo1: regulator-ldo1 {
compatible = "ti,tps65218-ldo1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
};
}; };
&i2c1 { &i2c1 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>; pinctrl-0 = <&i2c1_pins>;
pixcir_ts@5c { pixcir_ts@5c {
compatible = "pixcir,pixcir_tangoc"; compatible = "pixcir,pixcir_tangoc";
pinctrl-names = "default"; pinctrl-names = "default";
......
This diff is collapsed.
...@@ -327,6 +327,65 @@ &i2c0 { ...@@ -327,6 +327,65 @@ &i2c0 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>; pinctrl-0 = <&i2c0_pins>;
clock-frequency = <400000>;
tps65218: tps65218@24 {
reg = <0x24>;
compatible = "ti,tps65218";
interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
interrupt-parent = <&gic>;
interrupt-controller;
#interrupt-cells = <2>;
dcdc1: regulator-dcdc1 {
compatible = "ti,tps65218-dcdc1";
regulator-name = "vdd_core";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <1144000>;
regulator-boot-on;
regulator-always-on;
};
dcdc2: regulator-dcdc2 {
compatible = "ti,tps65218-dcdc2";
regulator-name = "vdd_mpu";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <1378000>;
regulator-boot-on;
regulator-always-on;
};
dcdc3: regulator-dcdc3 {
compatible = "ti,tps65218-dcdc3";
regulator-name = "vdcdc3";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-boot-on;
regulator-always-on;
};
dcdc5: regulator-dcdc5 {
compatible = "ti,tps65218-dcdc5";
regulator-name = "v1_0bat";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
dcdc6: regulator-dcdc6 {
compatible = "ti,tps65218-dcdc6";
regulator-name = "v1_8bat";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo1: regulator-ldo1 {
compatible = "ti,tps65218-ldo1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
};
at24@50 { at24@50 {
compatible = "at24,24c256"; compatible = "at24,24c256";
......
...@@ -40,6 +40,14 @@ main_clock: clock@0 { ...@@ -40,6 +40,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <18432000>; clock-frequency = <18432000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <18432000>;
};
}; };
ahb { ahb {
......
...@@ -123,6 +123,32 @@ mvsdio@d4000 { ...@@ -123,6 +123,32 @@ mvsdio@d4000 {
cd-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; cd-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
wp-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; wp-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
}; };
mdio {
phy0: ethernet-phy@0 {
reg = <0>;
};
phy3: ethernet-phy@3 {
reg = <3>;
};
};
ethernet@f0000 {
status = "okay";
eth0@c4000 {
status = "okay";
phy = <&phy0>;
phy-mode = "rgmii-id";
};
eth1@c5000 {
status = "okay";
phy = <&phy3>;
phy-mode = "gmii";
};
};
}; };
pcie-controller { pcie-controller {
......
...@@ -25,6 +25,8 @@ aliases { ...@@ -25,6 +25,8 @@ aliases {
gpio0 = &gpio0; gpio0 = &gpio0;
gpio1 = &gpio1; gpio1 = &gpio1;
gpio2 = &gpio2; gpio2 = &gpio2;
ethernet0 = &eth0;
ethernet1 = &eth1;
}; };
clocks { clocks {
...@@ -151,6 +153,38 @@ gic: interrupt-controller@d000 { ...@@ -151,6 +153,38 @@ gic: interrupt-controller@d000 {
<0xc100 0x100>; <0xc100 0x100>;
}; };
mdio {
#address-cells = <1>;
#size-cells = <0>;
compatible = "marvell,orion-mdio";
reg = <0xc0054 0x4>;
clocks = <&gateclk 19>;
};
/* Network controller */
ethernet@f0000 {
compatible = "marvell,armada-375-pp2";
reg = <0xf0000 0xa000>, /* Packet Processor regs */
<0xc0000 0x3060>, /* LMS regs */
<0xc4000 0x100>, /* eth0 regs */
<0xc5000 0x100>; /* eth1 regs */
clocks = <&gateclk 3>, <&gateclk 19>;
clock-names = "pp_clk", "gop_clk";
status = "disabled";
eth0: eth0@c4000 {
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
port-id = <0>;
status = "disabled";
};
eth1: eth1@c5000 {
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
port-id = <1>;
status = "disabled";
};
};
spi0: spi@10600 { spi0: spi@10600 {
compatible = "marvell,orion-spi"; compatible = "marvell,orion-spi";
reg = <0x10600 0x50>; reg = <0x10600 0x50>;
......
...@@ -286,6 +286,11 @@ cpurst@20800 { ...@@ -286,6 +286,11 @@ cpurst@20800 {
reg = <0x20800 0x10>; reg = <0x20800 0x10>;
}; };
mpcore-soc-ctrl@20d20 {
compatible = "marvell,armada-380-mpcore-soc-ctrl";
reg = <0x20d20 0x6c>;
};
coherency-fabric@21010 { coherency-fabric@21010 {
compatible = "marvell,armada-380-coherency-fabric"; compatible = "marvell,armada-380-coherency-fabric";
reg = <0x21010 0x1c>; reg = <0x21010 0x1c>;
......
/*
* Device Tree file for Lenovo Iomega ix4-300d
*
* Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
*
* This program 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.
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "armada-xp-mv78230.dtsi"
/ {
model = "Lenovo Iomega ix4-300d";
compatible = "lenovo,ix4-300d", "marvell,armadaxp-mv78230",
"marvell,armadaxp", "marvell,armada-370-xp";
chosen {
bootargs = "console=ttyS0,115200 earlyprintk";
stdout-path = "/soc/internal-regs/serial@12000";
};
memory {
device_type = "memory";
reg = <0 0x00000000 0 0x20000000>; /* 512MB */
};
soc {
ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
pcie-controller {
status = "okay";
/* Quad port sata: Marvell 88SX7042 */
pcie@1,0 {
/* Port 0, Lane 0 */
status = "okay";
};
/* USB 3.0 xHCI controller: NEC D720200F1 */
pcie@5,0 {
/* Port 1, Lane 0 */
status = "okay";
};
};
internal-regs {
pinctrl {
poweroff_pin: poweroff-pin {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
power_button_pin: power-button-pin {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
reset_button_pin: reset-button-pin {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
select_button_pin: select-button-pin {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
scroll_button_pin: scroll-button-pin {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
hdd_led_pin: hdd-led-pin {
marvell,pins = "mpp26";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
mdio {
phy0: ethernet-phy@0 { /* Marvell 88E1318 */
reg = <0>;
};
phy1: ethernet-phy@1 { /* Marvell 88E1318 */
reg = <1>;
};
};
ethernet@70000 {
status = "okay";
phy = <&phy0>;
phy-mode = "rgmii-id";
};
ethernet@74000 {
status = "okay";
phy = <&phy1>;
phy-mode = "rgmii-id";
};
usb@50000 {
status = "okay";
};
usb@51000 {
status = "okay";
};
i2c@11000 {
clock-frequency = <400000>;
status = "okay";
adt7473@2e {
compatible = "adi,adt7473";
reg = <0x2e>;
};
pcf8563@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
};
nand@d0000 {
status = "okay";
num-cs = <1>;
marvell,nand-keep-config;
marvell,nand-enable-arbiter;
nand-on-flash-bbt;
partition@0 {
label = "u-boot";
reg = <0x0000000 0xe0000>;
read-only;
};
partition@e0000 {
label = "u-boot-env";
reg = <0xe0000 0x20000>;
read-only;
};
partition@100000 {
label = "u-boot-env2";
reg = <0x100000 0x20000>;
read-only;
};
partition@120000 {
label = "zImage";
reg = <0x120000 0x400000>;
};
partition@520000 {
label = "initrd";
reg = <0x520000 0x400000>;
};
partition@xE00000 {
label = "boot";
reg = <0xE00000 0x3F200000>;
};
partition@flash {
label = "flash";
reg = <0x0 0x40000000>;
};
};
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&power_button_pin &reset_button_pin
&select_button_pin &scroll_button_pin>;
pinctrl-names = "default";
power-button {
label = "Power Button";
linux,code = <KEY_POWER>;
gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
};
reset-button {
label = "Reset Button";
linux,code = <KEY_RESTART>;
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
};
select-button {
label = "Select Button";
linux,code = <BTN_SELECT>;
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
scroll-button {
label = "Scroll Button";
linux,code = <KEY_SCROLLDOWN>;
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
};
spi3 {
compatible = "spi-gpio";
status = "okay";
gpio-sck = <&gpio0 25 GPIO_ACTIVE_LOW>;
gpio-mosi = <&gpio1 15 GPIO_ACTIVE_LOW>; /*gpio 47*/
cs-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
num-chipselects = <1>;
#address-cells = <1>;
#size-cells = <0>;
gpio_spi: gpio_spi@0 {
compatible = "fairchild,74hc595";
gpio-controller;
#gpio-cells = <2>;
reg = <0>;
registers-number = <2>;
spi-max-frequency = <100000>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = <&hdd_led_pin>;
pinctrl-names = "default";
hdd-led {
label = "ix4-300d:hdd:blue";
gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
power-led {
label = "ix4-300d:power:white";
gpios = <&gpio_spi 1 GPIO_ACTIVE_LOW>;
/* init blinking while booting */
linux,default-trigger = "timer";
default-state = "on";
};
sysfail-led {
label = "ix4-300d:sysfail:red";
gpios = <&gpio_spi 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
sys-led {
label = "ix4-300d:sys:blue";
gpios = <&gpio_spi 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
hddfail-led {
label = "ix4-300d:hddfail:red";
gpios = <&gpio_spi 4 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
/*
* Warning: you need both eth1 & 0 PHY initialized (i.e having
* them up does the tweak) for poweroff to shutdown otherwise it
* reboots
*/
gpio-poweroff {
compatible = "gpio-poweroff";
pinctrl-0 = <&poweroff_pin>;
pinctrl-names = "default";
gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
};
};
...@@ -34,6 +34,7 @@ cpu@0 { ...@@ -34,6 +34,7 @@ cpu@0 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <0>; reg = <0>;
clocks = <&cpuclk 0>; clocks = <&cpuclk 0>;
clock-latency = <1000000>;
}; };
cpu@1 { cpu@1 {
...@@ -41,6 +42,7 @@ cpu@1 { ...@@ -41,6 +42,7 @@ cpu@1 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <1>; reg = <1>;
clocks = <&cpuclk 1>; clocks = <&cpuclk 1>;
clock-latency = <1000000>;
}; };
}; };
......
...@@ -36,6 +36,7 @@ cpu@0 { ...@@ -36,6 +36,7 @@ cpu@0 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <0>; reg = <0>;
clocks = <&cpuclk 0>; clocks = <&cpuclk 0>;
clock-latency = <1000000>;
}; };
cpu@1 { cpu@1 {
...@@ -43,6 +44,7 @@ cpu@1 { ...@@ -43,6 +44,7 @@ cpu@1 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <1>; reg = <1>;
clocks = <&cpuclk 1>; clocks = <&cpuclk 1>;
clock-latency = <1000000>;
}; };
}; };
......
...@@ -37,6 +37,7 @@ cpu@0 { ...@@ -37,6 +37,7 @@ cpu@0 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <0>; reg = <0>;
clocks = <&cpuclk 0>; clocks = <&cpuclk 0>;
clock-latency = <1000000>;
}; };
cpu@1 { cpu@1 {
...@@ -44,6 +45,7 @@ cpu@1 { ...@@ -44,6 +45,7 @@ cpu@1 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <1>; reg = <1>;
clocks = <&cpuclk 1>; clocks = <&cpuclk 1>;
clock-latency = <1000000>;
}; };
cpu@2 { cpu@2 {
...@@ -51,6 +53,7 @@ cpu@2 { ...@@ -51,6 +53,7 @@ cpu@2 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <2>; reg = <2>;
clocks = <&cpuclk 2>; clocks = <&cpuclk 2>;
clock-latency = <1000000>;
}; };
cpu@3 { cpu@3 {
...@@ -58,6 +61,7 @@ cpu@3 { ...@@ -58,6 +61,7 @@ cpu@3 {
compatible = "marvell,sheeva-v7"; compatible = "marvell,sheeva-v7";
reg = <3>; reg = <3>;
clocks = <&cpuclk 3>; clocks = <&cpuclk 3>;
clock-latency = <1000000>;
}; };
}; };
......
...@@ -99,7 +99,7 @@ thermal@182b0 { ...@@ -99,7 +99,7 @@ thermal@182b0 {
cpuclk: clock-complex@18700 { cpuclk: clock-complex@18700 {
#clock-cells = <1>; #clock-cells = <1>;
compatible = "marvell,armada-xp-cpu-clock"; compatible = "marvell,armada-xp-cpu-clock";
reg = <0x18700 0xA0>; reg = <0x18700 0xA0>, <0x1c054 0x10>;
clocks = <&coreclk 1>; clocks = <&coreclk 1>;
}; };
......
...@@ -42,6 +42,14 @@ main_clock: clock@0 { ...@@ -42,6 +42,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <12000000>; clock-frequency = <12000000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <12000000>;
};
}; };
ahb { ahb {
......
...@@ -34,6 +34,14 @@ main_clock: clock@0 { ...@@ -34,6 +34,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <12000000>; clock-frequency = <12000000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <12000000>;
};
}; };
ahb { ahb {
......
...@@ -31,6 +31,14 @@ main_clock: clock@0 { ...@@ -31,6 +31,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <18432000>; clock-frequency = <18432000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <18432000>;
};
}; };
ahb { ahb {
......
...@@ -28,6 +28,14 @@ main_clock: clock@0 { ...@@ -28,6 +28,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <12000000>; clock-frequency = <12000000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <12000000>;
};
}; };
ahb { ahb {
......
...@@ -21,12 +21,14 @@ memory { ...@@ -21,12 +21,14 @@ memory {
reg = <0x20000000 0x10000000>; reg = <0x20000000 0x10000000>;
}; };
slow_xtal { clocks {
clock-frequency = <32768>; slow_xtal {
}; clock-frequency = <32768>;
};
main_xtal { main_xtal {
clock-frequency = <12000000>; clock-frequency = <12000000>;
};
}; };
ahb { ahb {
......
This diff is collapsed.
...@@ -25,6 +25,14 @@ main_clock: clock@0 { ...@@ -25,6 +25,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <18432000>; clock-frequency = <18432000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <18432000>;
};
}; };
ahb { ahb {
......
This diff is collapsed.
...@@ -46,16 +46,18 @@ memory { ...@@ -46,16 +46,18 @@ memory {
reg = <0x20000000 0x08000000>; reg = <0x20000000 0x08000000>;
}; };
main_xtal: main_xtal { clocks {
compatible = "fixed-clock"; main_xtal: main_xtal {
#clock-cells = <0>; compatible = "fixed-clock";
clock-frequency = <0>; #clock-cells = <0>;
}; clock-frequency = <0>;
};
slow_xtal: slow_xtal { slow_xtal: slow_xtal {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>; #clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
};
}; };
ahb { ahb {
......
...@@ -20,14 +20,6 @@ memory { ...@@ -20,14 +20,6 @@ memory {
reg = <0x20000000 0x4000000>; reg = <0x20000000 0x4000000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <18432000>;
};
clocks { clocks {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -37,6 +29,14 @@ main_clock: clock@0 { ...@@ -37,6 +29,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <18432000>; clock-frequency = <18432000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <18432000>;
};
}; };
ahb { ahb {
......
This diff is collapsed.
...@@ -29,6 +29,14 @@ main_clock: clock@0 { ...@@ -29,6 +29,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <16367660>; clock-frequency = <16367660>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <16367660>;
};
}; };
ahb { ahb {
......
...@@ -25,6 +25,30 @@ i2c0: i2c@fffac000 { ...@@ -25,6 +25,30 @@ i2c0: i2c@fffac000 {
adc0: adc@fffe0000 { adc0: adc@fffe0000 {
atmel,adc-startup-time = <40>; atmel,adc-startup-time = <40>;
}; };
pmc: pmc@fffffc00 {
plla: pllack {
atmel,clk-input-range = <2000000 32000000>;
atmel,pll-clk-output-ranges = <745000000 800000000 0 0>,
<695000000 750000000 1 0>,
<645000000 700000000 2 0>,
<595000000 650000000 3 0>,
<545000000 600000000 0 1>,
<495000000 550000000 1 1>,
<445000000 500000000 2 1>,
<400000000 450000000 3 1>;
};
pllb: pllbck {
atmel,clk-input-range = <2000000 32000000>;
atmel,pll-clk-output-ranges = <30000000 100000000 0 0>;
};
mck: masterck {
atmel,clk-output-range = <0 133000000>;
atmel,clk-divisors = <1 2 4 6>;
};
};
}; };
}; };
}; };
...@@ -26,6 +26,14 @@ main_clock: clock@0 { ...@@ -26,6 +26,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <18432000>; clock-frequency = <18432000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <18432000>;
};
}; };
ahb { ahb {
......
This diff is collapsed.
...@@ -31,6 +31,14 @@ main_clock: clock@0 { ...@@ -31,6 +31,14 @@ main_clock: clock@0 {
compatible = "atmel,osc", "fixed-clock"; compatible = "atmel,osc", "fixed-clock";
clock-frequency = <12000000>; clock-frequency = <12000000>;
}; };
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <12000000>;
};
}; };
ahb { ahb {
......
...@@ -50,16 +50,18 @@ memory { ...@@ -50,16 +50,18 @@ memory {
reg = <0x20000000 0x10000000>; reg = <0x20000000 0x10000000>;
}; };
slow_xtal: slow_xtal { clocks {
compatible = "fixed-clock"; slow_xtal: slow_xtal {
#clock-cells = <0>; compatible = "fixed-clock";
clock-frequency = <0>; #clock-cells = <0>;
}; clock-frequency = <0>;
};
main_xtal: main_xtal { main_xtal: main_xtal {
compatible = "fixed-clock"; compatible = "fixed-clock";
#clock-cells = <0>; #clock-cells = <0>;
clock-frequency = <0>; clock-frequency = <0>;
};
}; };
ahb { ahb {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment