Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM 64-bit DT updates from Arnd Bergmann: "ARM64 DT updates are fairly small this time, only two new SoCs and a handful of new machines get added, all of them similar to other hardware we already support. New SoC: - HiSilicon Kirin960/Hi3660 and HiKey960 development board - NXP LS1012a with three reference boards: http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-layerscape-arm-processors/qoriq-layerscape-1012a-low-power-communication-processor:LS1012A New development board: - Banana Pi M64, based on Allwinner A64: http://www.banana-pi.org/m64.html - SolidRun MACCHIATOBin based on Marvell Armada 8K: https://www.solid-run.com/marvell-armada-family/armada-8040-community-board/ - Broadcom BCM958712DxXMC NorthStar2 reference board (another one) A lot of platforms improve support for existing machines by adding extra devices for which a binding and driver is availabe: Allwinner: - MMC, USB ARM Juno: - Coresight, STM Broadcom: - NS2 GICv2m irqchip and PCIe Marvell: - Armada 3700 SPI, I2C, ethernet switch Mediatek: - MT8173 thermal NXP i.MX: - LS1046A thermal Qualcomm: - coresight on MSM8916, HDMI, WCNSS, SCM Renesas: - r8a779[56] thermal, powerdomain, ethernet, sound, pwm, can, can fd Rockchip: - thermal, eDP, pinctrl enhancements Samsung: - TM2 touchkey, Exynos5433 HDMI and power management improvements UniPhier: - SD reset, eMMC controller ZTE: - oppv2 cpufreq" * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (110 commits) arm64: dts: qcom: Add msm8916 CoreSight components arm64: dts: marvell: adjust name of sd-mmc-gop clock in syscon arm64: allwinner: add BananaPi-M64 support arm64: allwinner: a64: add UART1 pin nodes arm64: allwinner: pine64: add MMC support arm64: allwinner: a64: Increase the MMC max frequency arm64: allwinner: a64: Add MMC pinctrl nodes arm64: allwinner: a64: Add MMC nodes dt-bindings: clockgen: Add compatible string for LS1012A Documentation: DT: add LS1012A compatible for SCFG and DCFG Documentation: DT: Add entry for FSL LS1012A RDB, FRDM, QDS boards arm64: dts: marvell: add generic-ahci compatibles for CP110 ahci arm64: tegra: Use symbolic reset identifiers arm64: dts: r8a7796: Mark EthernetAVB device node disabled arm64: dts: r8a7795: Mark EthernetAVB device node disabled arm64: dts: r8a7795: tidyup audma definition order arm64: dts: r8a7796: Link ARM GIC to clock and clock domain arm64: dts: r8a7795: Link ARM GIC to clock and clock domain arm64: dts: r8a7796: Add R-Car Gen3 thermal support arm64: dts: r8a7795: Add R-Car Gen3 thermal support ...
This commit is contained in:
@@ -158,6 +158,7 @@ nodes to be present and contain the properties described below.
|
|||||||
"arm,cortex-a53"
|
"arm,cortex-a53"
|
||||||
"arm,cortex-a57"
|
"arm,cortex-a57"
|
||||||
"arm,cortex-a72"
|
"arm,cortex-a72"
|
||||||
|
"arm,cortex-a73"
|
||||||
"arm,cortex-m0"
|
"arm,cortex-m0"
|
||||||
"arm,cortex-m0+"
|
"arm,cortex-m0+"
|
||||||
"arm,cortex-m1"
|
"arm,cortex-m1"
|
||||||
|
@@ -108,7 +108,7 @@ status.
|
|||||||
- compatible: Should contain a chip-specific compatible string,
|
- compatible: Should contain a chip-specific compatible string,
|
||||||
Chip-specific strings are of the form "fsl,<chip>-scfg",
|
Chip-specific strings are of the form "fsl,<chip>-scfg",
|
||||||
The following <chip>s are known to be supported:
|
The following <chip>s are known to be supported:
|
||||||
ls1021a, ls1043a, ls1046a, ls2080a.
|
ls1012a, ls1021a, ls1043a, ls1046a, ls2080a.
|
||||||
|
|
||||||
- reg: should contain base address and length of SCFG memory-mapped registers
|
- reg: should contain base address and length of SCFG memory-mapped registers
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ core start address and release the secondary core from holdoff and startup.
|
|||||||
- compatible: Should contain a chip-specific compatible string,
|
- compatible: Should contain a chip-specific compatible string,
|
||||||
Chip-specific strings are of the form "fsl,<chip>-dcfg",
|
Chip-specific strings are of the form "fsl,<chip>-dcfg",
|
||||||
The following <chip>s are known to be supported:
|
The following <chip>s are known to be supported:
|
||||||
ls1021a, ls1043a, ls1046a, ls2080a.
|
ls1012a, ls1021a, ls1043a, ls1046a, ls2080a.
|
||||||
|
|
||||||
- reg : should contain base address and length of DCFG memory-mapped registers
|
- reg : should contain base address and length of DCFG memory-mapped registers
|
||||||
|
|
||||||
@@ -139,6 +139,22 @@ Example:
|
|||||||
Freescale ARMv8 based Layerscape SoC family Device Tree Bindings
|
Freescale ARMv8 based Layerscape SoC family Device Tree Bindings
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
LS1012A SoC
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,ls1012a";
|
||||||
|
|
||||||
|
LS1012A ARMv8 based RDB Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
|
||||||
|
|
||||||
|
LS1012A ARMv8 based FRDM Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";
|
||||||
|
|
||||||
|
LS1012A ARMv8 based QDS Board
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
|
||||||
|
|
||||||
LS1043A SoC
|
LS1043A SoC
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "fsl,ls1043a";
|
- compatible = "fsl,ls1043a";
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
Hisilicon Platforms Device Tree Bindings
|
Hisilicon Platforms Device Tree Bindings
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
|
Hi3660 SoC
|
||||||
|
Required root node properties:
|
||||||
|
- compatible = "hisilicon,hi3660";
|
||||||
|
|
||||||
Hi4511 Board
|
Hi4511 Board
|
||||||
Required root node properties:
|
Required root node properties:
|
||||||
- compatible = "hisilicon,hi3620-hi4511";
|
- compatible = "hisilicon,hi3620-hi4511";
|
||||||
|
@@ -75,7 +75,7 @@ Boards:
|
|||||||
compatible = "renesas,rskrza1", "renesas,r7s72100"
|
compatible = "renesas,rskrza1", "renesas,r7s72100"
|
||||||
- Salvator-X (RTP0RC7795SIPB0010S)
|
- Salvator-X (RTP0RC7795SIPB0010S)
|
||||||
compatible = "renesas,salvator-x", "renesas,r8a7795";
|
compatible = "renesas,salvator-x", "renesas,r8a7795";
|
||||||
- Salvator-X
|
- Salvator-X (RTP0RC7796SIPB0011S)
|
||||||
compatible = "renesas,salvator-x", "renesas,r8a7796";
|
compatible = "renesas,salvator-x", "renesas,r8a7796";
|
||||||
- SILK (RTP0RC7794LCB00011S)
|
- SILK (RTP0RC7794LCB00011S)
|
||||||
compatible = "renesas,silk", "renesas,r8a7794"
|
compatible = "renesas,silk", "renesas,r8a7794"
|
||||||
|
@@ -31,6 +31,7 @@ Required properties:
|
|||||||
* "fsl,t4240-clockgen"
|
* "fsl,t4240-clockgen"
|
||||||
* "fsl,b4420-clockgen"
|
* "fsl,b4420-clockgen"
|
||||||
* "fsl,b4860-clockgen"
|
* "fsl,b4860-clockgen"
|
||||||
|
* "fsl,ls1012a-clockgen"
|
||||||
* "fsl,ls1021a-clockgen"
|
* "fsl,ls1021a-clockgen"
|
||||||
* "fsl,ls1043a-clockgen"
|
* "fsl,ls1043a-clockgen"
|
||||||
* "fsl,ls1046a-clockgen"
|
* "fsl,ls1046a-clockgen"
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-bananapi-m64.dtb
|
||||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||||
|
|
||||||
always := $(dtb-y)
|
always := $(dtb-y)
|
||||||
|
120
arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
Normal file
120
arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2016 ARM Ltd.
|
||||||
|
*
|
||||||
|
* This file is dual-licensed: you can use it either under the terms
|
||||||
|
* of the GPL 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 "sun50i-a64.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "BananaPi-M64";
|
||||||
|
compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart0;
|
||||||
|
serial1 = &uart1;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_vcc3v3: vcc3v3 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc3v3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&i2c1_pins>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1_pins {
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
cd-inverted;
|
||||||
|
disable-wp;
|
||||||
|
bus-width = <4>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc1_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
bus-width = <4>;
|
||||||
|
non-removable;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mmc2 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc2_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
bus-width = <8>;
|
||||||
|
non-removable;
|
||||||
|
cap-mmc-hw-reset;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart0_pins_a>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
@@ -44,6 +44,8 @@
|
|||||||
|
|
||||||
#include "sun50i-a64.dtsi"
|
#include "sun50i-a64.dtsi"
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Pine64";
|
model = "Pine64";
|
||||||
compatible = "pine64,pine64", "allwinner,sun50i-a64";
|
compatible = "pine64,pine64", "allwinner,sun50i-a64";
|
||||||
@@ -55,11 +57,16 @@
|
|||||||
chosen {
|
chosen {
|
||||||
stdout-path = "serial0:115200n8";
|
stdout-path = "serial0:115200n8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
reg_vcc3v3: vcc3v3 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc3v3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&uart0 {
|
&ehci1 {
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&uart0_pins_a>;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -72,3 +79,33 @@
|
|||||||
&i2c1_pins {
|
&i2c1_pins {
|
||||||
bias-pull-up;
|
bias-pull-up;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&mmc0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&mmc0_pins>;
|
||||||
|
vmmc-supply = <®_vcc3v3>;
|
||||||
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
cd-inverted;
|
||||||
|
disable-wp;
|
||||||
|
bus-width = <4>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ohci1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&uart0_pins_a>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb_otg {
|
||||||
|
dr_mode = "host";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usbphy {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
@@ -42,8 +42,9 @@
|
|||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/clock/sun50i-a64-ccu.h>
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
#include <dt-bindings/pinctrl/sun4i-a10.h>
|
#include <dt-bindings/reset/sun50i-a64-ccu.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
@@ -120,6 +121,105 @@
|
|||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
ranges;
|
ranges;
|
||||||
|
|
||||||
|
mmc0: mmc@1c0f000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-mmc";
|
||||||
|
reg = <0x01c0f000 0x1000>;
|
||||||
|
clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
||||||
|
clock-names = "ahb", "mmc";
|
||||||
|
resets = <&ccu RST_BUS_MMC0>;
|
||||||
|
reset-names = "ahb";
|
||||||
|
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
max-frequency = <150000000>;
|
||||||
|
status = "disabled";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc1: mmc@1c10000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-mmc";
|
||||||
|
reg = <0x01c10000 0x1000>;
|
||||||
|
clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
||||||
|
clock-names = "ahb", "mmc";
|
||||||
|
resets = <&ccu RST_BUS_MMC1>;
|
||||||
|
reset-names = "ahb";
|
||||||
|
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
max-frequency = <150000000>;
|
||||||
|
status = "disabled";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc2: mmc@1c11000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-emmc";
|
||||||
|
reg = <0x01c11000 0x1000>;
|
||||||
|
clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
||||||
|
clock-names = "ahb", "mmc";
|
||||||
|
resets = <&ccu RST_BUS_MMC2>;
|
||||||
|
reset-names = "ahb";
|
||||||
|
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
max-frequency = <200000000>;
|
||||||
|
status = "disabled";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
usb_otg: usb@01c19000 {
|
||||||
|
compatible = "allwinner,sun8i-a33-musb";
|
||||||
|
reg = <0x01c19000 0x0400>;
|
||||||
|
clocks = <&ccu CLK_BUS_OTG>;
|
||||||
|
resets = <&ccu RST_BUS_OTG>;
|
||||||
|
interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "mc";
|
||||||
|
phys = <&usbphy 0>;
|
||||||
|
phy-names = "usb";
|
||||||
|
extcon = <&usbphy 0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
usbphy: phy@01c19400 {
|
||||||
|
compatible = "allwinner,sun50i-a64-usb-phy";
|
||||||
|
reg = <0x01c19400 0x14>,
|
||||||
|
<0x01c1b800 0x4>;
|
||||||
|
reg-names = "phy_ctrl",
|
||||||
|
"pmu1";
|
||||||
|
clocks = <&ccu CLK_USB_PHY0>,
|
||||||
|
<&ccu CLK_USB_PHY1>;
|
||||||
|
clock-names = "usb0_phy",
|
||||||
|
"usb1_phy";
|
||||||
|
resets = <&ccu RST_USB_PHY0>,
|
||||||
|
<&ccu RST_USB_PHY1>;
|
||||||
|
reset-names = "usb0_reset",
|
||||||
|
"usb1_reset";
|
||||||
|
status = "disabled";
|
||||||
|
#phy-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
ehci1: usb@01c1b000 {
|
||||||
|
compatible = "allwinner,sun50i-a64-ehci", "generic-ehci";
|
||||||
|
reg = <0x01c1b000 0x100>;
|
||||||
|
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&ccu CLK_BUS_OHCI1>,
|
||||||
|
<&ccu CLK_BUS_EHCI1>,
|
||||||
|
<&ccu CLK_USB_OHCI1>;
|
||||||
|
resets = <&ccu RST_BUS_OHCI1>,
|
||||||
|
<&ccu RST_BUS_EHCI1>;
|
||||||
|
phys = <&usbphy 1>;
|
||||||
|
phy-names = "usb";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
ohci1: usb@01c1b400 {
|
||||||
|
compatible = "allwinner,sun50i-a64-ohci", "generic-ohci";
|
||||||
|
reg = <0x01c1b400 0x100>;
|
||||||
|
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&ccu CLK_BUS_OHCI1>,
|
||||||
|
<&ccu CLK_USB_OHCI1>;
|
||||||
|
resets = <&ccu RST_BUS_OHCI1>;
|
||||||
|
phys = <&usbphy 1>;
|
||||||
|
phy-names = "usb";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
ccu: clock@01c20000 {
|
ccu: clock@01c20000 {
|
||||||
compatible = "allwinner,sun50i-a64-ccu";
|
compatible = "allwinner,sun50i-a64-ccu";
|
||||||
reg = <0x01c20000 0x400>;
|
reg = <0x01c20000 0x400>;
|
||||||
@@ -146,10 +246,45 @@
|
|||||||
function = "i2c1";
|
function = "i2c1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mmc0_pins: mmc0-pins {
|
||||||
|
pins = "PF0", "PF1", "PF2", "PF3",
|
||||||
|
"PF4", "PF5";
|
||||||
|
function = "mmc0";
|
||||||
|
drive-strength = <30>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc1_pins: mmc1-pins {
|
||||||
|
pins = "PG0", "PG1", "PG2", "PG3",
|
||||||
|
"PG4", "PG5";
|
||||||
|
function = "mmc1";
|
||||||
|
drive-strength = <30>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
|
||||||
|
mmc2_pins: mmc2-pins {
|
||||||
|
pins = "PC1", "PC5", "PC6", "PC8", "PC9",
|
||||||
|
"PC10","PC11", "PC12", "PC13",
|
||||||
|
"PC14", "PC15", "PC16";
|
||||||
|
function = "mmc2";
|
||||||
|
drive-strength = <30>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
|
||||||
uart0_pins_a: uart0@0 {
|
uart0_pins_a: uart0@0 {
|
||||||
pins = "PB8", "PB9";
|
pins = "PB8", "PB9";
|
||||||
function = "uart0";
|
function = "uart0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uart1_pins: uart1_pins {
|
||||||
|
pins = "PG6", "PG7";
|
||||||
|
function = "uart1";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1_rts_cts_pins: uart1_rts_cts_pins {
|
||||||
|
pins = "PG8", "PG9";
|
||||||
|
function = "uart1";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
uart0: serial@1c28000 {
|
uart0: serial@1c28000 {
|
||||||
|
@@ -1,6 +1,10 @@
|
|||||||
|
#include "juno-clocks.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
/*
|
/*
|
||||||
* Devices shared by all Juno boards
|
* Devices shared by all Juno boards
|
||||||
*/
|
*/
|
||||||
|
dma-ranges = <0 0 0 0 0x100 0>;
|
||||||
|
|
||||||
memtimer: timer@2a810000 {
|
memtimer: timer@2a810000 {
|
||||||
compatible = "arm,armv7-timer-mem";
|
compatible = "arm,armv7-timer-mem";
|
||||||
@@ -48,6 +52,7 @@
|
|||||||
#iommu-cells = <1>;
|
#iommu-cells = <1>;
|
||||||
#global-interrupts = <1>;
|
#global-interrupts = <1>;
|
||||||
dma-coherent;
|
dma-coherent;
|
||||||
|
power-domains = <&scpi_devpd 0>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -83,7 +88,7 @@
|
|||||||
* The actual size is just 4K though 64K is reserved. Access to the
|
* The actual size is just 4K though 64K is reserved. Access to the
|
||||||
* unmapped reserved region results in a DECERR response.
|
* unmapped reserved region results in a DECERR response.
|
||||||
*/
|
*/
|
||||||
etf@20010000 {
|
etf@20010000 { /* etf0 */
|
||||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||||
reg = <0 0x20010000 0 0x1000>;
|
reg = <0 0x20010000 0 0x1000>;
|
||||||
|
|
||||||
@@ -97,7 +102,7 @@
|
|||||||
/* input port */
|
/* input port */
|
||||||
port@0 {
|
port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
etf_in_port: endpoint {
|
etf0_in_port: endpoint {
|
||||||
slave-mode;
|
slave-mode;
|
||||||
remote-endpoint = <&main_funnel_out_port>;
|
remote-endpoint = <&main_funnel_out_port>;
|
||||||
};
|
};
|
||||||
@@ -106,8 +111,7 @@
|
|||||||
/* output port */
|
/* output port */
|
||||||
port@1 {
|
port@1 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
etf_out_port: endpoint {
|
etf0_out_port: endpoint {
|
||||||
remote-endpoint = <&replicator_in_port0>;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -128,7 +132,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
main-funnel@20040000 {
|
/* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/
|
||||||
|
main_funnel: funnel@20040000 {
|
||||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
reg = <0 0x20040000 0 0x1000>;
|
reg = <0 0x20040000 0 0x1000>;
|
||||||
|
|
||||||
@@ -139,13 +144,15 @@
|
|||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
/* output port */
|
||||||
port@0 {
|
port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
main_funnel_out_port: endpoint {
|
main_funnel_out_port: endpoint {
|
||||||
remote-endpoint = <&etf_in_port>;
|
remote-endpoint = <&etf0_in_port>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* input ports */
|
||||||
port@1 {
|
port@1 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
main_funnel_in_port0: endpoint {
|
main_funnel_in_port0: endpoint {
|
||||||
@@ -161,7 +168,6 @@
|
|||||||
remote-endpoint = <&cluster1_funnel_out_port>;
|
remote-endpoint = <&cluster1_funnel_out_port>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -181,6 +187,21 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stm@20100000 {
|
||||||
|
compatible = "arm,coresight-stm", "arm,primecell";
|
||||||
|
reg = <0 0x20100000 0 0x1000>,
|
||||||
|
<0 0x28000000 0 0x1000000>;
|
||||||
|
reg-names = "stm-base", "stm-stimulus-base";
|
||||||
|
|
||||||
|
clocks = <&soc_smc50mhz>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
power-domains = <&scpi_devpd 0>;
|
||||||
|
port {
|
||||||
|
stm_out_port: endpoint {
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
etm0: etm@22040000 {
|
etm0: etm@22040000 {
|
||||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||||
reg = <0 0x22040000 0 0x1000>;
|
reg = <0 0x22040000 0 0x1000>;
|
||||||
@@ -195,7 +216,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cluster0-funnel@220c0000 {
|
funnel@220c0000 { /* cluster0 funnel */
|
||||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
reg = <0 0x220c0000 0 0x1000>;
|
reg = <0 0x220c0000 0 0x1000>;
|
||||||
|
|
||||||
@@ -259,7 +280,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cluster1-funnel@230c0000 {
|
funnel@230c0000 { /* cluster1 funnel */
|
||||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
reg = <0 0x230c0000 0 0x1000>;
|
reg = <0 0x230c0000 0 0x1000>;
|
||||||
|
|
||||||
@@ -382,7 +403,6 @@
|
|||||||
reg = <0>;
|
reg = <0>;
|
||||||
replicator_in_port0: endpoint {
|
replicator_in_port0: endpoint {
|
||||||
slave-mode;
|
slave-mode;
|
||||||
remote-endpoint = <&etf_out_port>;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -507,8 +527,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/include/ "juno-clocks.dtsi"
|
|
||||||
|
|
||||||
smmu_dma: iommu@7fb00000 {
|
smmu_dma: iommu@7fb00000 {
|
||||||
compatible = "arm,mmu-401", "arm,smmu-v1";
|
compatible = "arm,mmu-401", "arm,smmu-v1";
|
||||||
reg = <0x0 0x7fb00000 0x0 0x10000>;
|
reg = <0x0 0x7fb00000 0x0 0x10000>;
|
||||||
@@ -719,3 +737,4 @@
|
|||||||
interrupt-map-mask = <0 0>;
|
interrupt-map-mask = <0 0>;
|
||||||
interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>;
|
interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
* This file is licensed under a dual GPLv2 or BSD license.
|
* This file is licensed under a dual GPLv2 or BSD license.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
/ {
|
||||||
/* SoC fixed clocks */
|
/* SoC fixed clocks */
|
||||||
soc_uartclk: refclk7273800hz {
|
soc_uartclk: refclk7273800hz {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
@@ -42,3 +42,4 @@
|
|||||||
clock-frequency = <400000000>;
|
clock-frequency = <400000000>;
|
||||||
clock-output-names = "faxi_clk";
|
clock-output-names = "faxi_clk";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
100
arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
Normal file
100
arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
/ {
|
||||||
|
funnel@20130000 { /* cssys1 */
|
||||||
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
|
reg = <0 0x20130000 0 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&soc_smc50mhz>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
power-domains = <&scpi_devpd 0>;
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
/* output port */
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
csys1_funnel_out_port: endpoint {
|
||||||
|
remote-endpoint = <&etf1_in_port>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* input port */
|
||||||
|
port@1 {
|
||||||
|
reg = <0>;
|
||||||
|
csys1_funnel_in_port0: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etf@20140000 { /* etf1 */
|
||||||
|
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||||
|
reg = <0 0x20140000 0 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&soc_smc50mhz>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
power-domains = <&scpi_devpd 0>;
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
/* input port */
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
etf1_in_port: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&csys1_funnel_out_port>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* output port */
|
||||||
|
port@1 {
|
||||||
|
reg = <0>;
|
||||||
|
etf1_out_port: endpoint {
|
||||||
|
remote-endpoint = <&csys2_funnel_in_port1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
funnel@20150000 { /* cssys2 */
|
||||||
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
|
reg = <0 0x20150000 0 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&soc_smc50mhz>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
power-domains = <&scpi_devpd 0>;
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
/* output port */
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
csys2_funnel_out_port: endpoint {
|
||||||
|
remote-endpoint = <&replicator_in_port0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* input ports */
|
||||||
|
port@1 {
|
||||||
|
reg = <0>;
|
||||||
|
csys2_funnel_in_port0: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etf0_out_port>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <1>;
|
||||||
|
csys2_funnel_in_port1: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etf1_out_port>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@@ -131,13 +131,6 @@
|
|||||||
vddvario-supply = <&mb_fixed_3v3>;
|
vddvario-supply = <&mb_fixed_3v3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb@5,00000000 {
|
|
||||||
compatible = "nxp,usb-isp1763";
|
|
||||||
reg = <5 0x00000000 0x20000>;
|
|
||||||
bus-width = <16>;
|
|
||||||
interrupts = <4>;
|
|
||||||
};
|
|
||||||
|
|
||||||
iofpga@3,00000000 {
|
iofpga@3,00000000 {
|
||||||
compatible = "simple-bus";
|
compatible = "simple-bus";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@@ -9,6 +9,8 @@
|
|||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include "juno-base.dtsi"
|
||||||
|
#include "juno-cs-r1r2.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "ARM Juno development board (r1)";
|
model = "ARM Juno development board (r1)";
|
||||||
@@ -176,8 +178,6 @@
|
|||||||
<&A53_2>,
|
<&A53_2>,
|
||||||
<&A53_3>;
|
<&A53_3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "juno-base.dtsi"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&memtimer {
|
&memtimer {
|
||||||
@@ -227,3 +227,15 @@
|
|||||||
&gpu1_thermal_zone {
|
&gpu1_thermal_zone {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&etf0_out_port {
|
||||||
|
remote-endpoint = <&csys2_funnel_in_port0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&replicator_in_port0 {
|
||||||
|
remote-endpoint = <&csys2_funnel_out_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&stm_out_port {
|
||||||
|
remote-endpoint = <&csys1_funnel_in_port0>;
|
||||||
|
};
|
||||||
|
@@ -9,6 +9,8 @@
|
|||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include "juno-base.dtsi"
|
||||||
|
#include "juno-cs-r1r2.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "ARM Juno development board (r2)";
|
model = "ARM Juno development board (r2)";
|
||||||
@@ -176,8 +178,6 @@
|
|||||||
<&A53_2>,
|
<&A53_2>,
|
||||||
<&A53_3>;
|
<&A53_3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "juno-base.dtsi"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&memtimer {
|
&memtimer {
|
||||||
@@ -227,3 +227,15 @@
|
|||||||
&gpu1_thermal_zone {
|
&gpu1_thermal_zone {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&etf0_out_port {
|
||||||
|
remote-endpoint = <&csys2_funnel_in_port0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&replicator_in_port0 {
|
||||||
|
remote-endpoint = <&csys2_funnel_out_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&stm_out_port {
|
||||||
|
remote-endpoint = <&csys1_funnel_in_port0>;
|
||||||
|
};
|
||||||
|
@@ -9,6 +9,7 @@
|
|||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include "juno-base.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "ARM Juno development board (r0)";
|
model = "ARM Juno development board (r0)";
|
||||||
@@ -176,8 +177,6 @@
|
|||||||
<&A53_2>,
|
<&A53_2>,
|
||||||
<&A53_3>;
|
<&A53_3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "juno-base.dtsi"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&etm0 {
|
&etm0 {
|
||||||
@@ -203,3 +202,27 @@
|
|||||||
&etm5 {
|
&etm5 {
|
||||||
cpu = <&A53_3>;
|
cpu = <&A53_3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&etf0_out_port {
|
||||||
|
remote-endpoint = <&replicator_in_port0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&replicator_in_port0 {
|
||||||
|
remote-endpoint = <&etf0_out_port>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&stm_out_port {
|
||||||
|
remote-endpoint = <&main_funnel_in_port2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&main_funnel {
|
||||||
|
ports {
|
||||||
|
port@3 {
|
||||||
|
reg = <2>;
|
||||||
|
main_funnel_in_port2: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&stm_out_port>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
|
dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb
|
dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb ns2-xmc.dtb
|
||||||
dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb
|
dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb
|
||||||
|
|
||||||
always := $(dtb-y)
|
always := $(dtb-y)
|
||||||
|
@@ -76,6 +76,10 @@
|
|||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&pcie8 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
&i2c0 {
|
&i2c0 {
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
|
191
arch/arm64/boot/dts/broadcom/ns2-xmc.dts
Normal file
191
arch/arm64/boot/dts/broadcom/ns2-xmc.dts
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
/*
|
||||||
|
* BSD LICENSE
|
||||||
|
*
|
||||||
|
* Copyright(c) 2016 Broadcom. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* * Neither the name of Broadcom Corporation nor the names of its
|
||||||
|
* contributors may be used to endorse or promote products derived
|
||||||
|
* from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "ns2.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Broadcom NS2 XMC";
|
||||||
|
compatible = "brcm,ns2-xmc", "brcm,ns2";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial0 = &uart3;
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial0:115200n8";
|
||||||
|
bootargs = "earlycon=uart8250,mmio32,0x66130000";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory {
|
||||||
|
device_type = "memory";
|
||||||
|
reg = <0x000000000 0x80000000 0x00000001 0x00000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&enet {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&mdio_mux_iproc {
|
||||||
|
mdio@10 {
|
||||||
|
gphy0: eth-phy@10 {
|
||||||
|
reg = <0x10>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&nand {
|
||||||
|
nandcs@0 {
|
||||||
|
compatible = "brcm,nandcs";
|
||||||
|
reg = <0>;
|
||||||
|
nand-ecc-mode = "hw";
|
||||||
|
nand-ecc-strength = <8>;
|
||||||
|
nand-ecc-step-size = <512>;
|
||||||
|
nand-bus-width = <16>;
|
||||||
|
brcm,nand-oob-sector-size = <16>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "nboot";
|
||||||
|
reg = <0x00000000 0x00280000>; /* 2.5MB */
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@280000 {
|
||||||
|
label = "nenv";
|
||||||
|
reg = <0x00280000 0x00040000>; /* 0.25MB */
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@2c0000 {
|
||||||
|
label = "ndtb";
|
||||||
|
reg = <0x002c0000 0x00040000>; /* 0.25MB */
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@300000 {
|
||||||
|
label = "nsystem";
|
||||||
|
reg = <0x00300000 0x03d00000>; /* 61MB */
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@4000000 {
|
||||||
|
label = "nrootfs";
|
||||||
|
reg = <0x04000000 0x06400000>; /* 100MB */
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@0a400000{
|
||||||
|
label = "ncustfs";
|
||||||
|
reg = <0x0a400000 0x35c00000>; /* 860MB */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pci_phy0 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie0 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pcie8 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sata_phy0 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sata_phy1 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sata {
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
||||||
|
&qspi {
|
||||||
|
flash: m25p80@0 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
compatible = "m25p80";
|
||||||
|
spi-max-frequency = <62500000>;
|
||||||
|
m25p,default-addr-width = <3>;
|
||||||
|
reg = <0x0 0x0>;
|
||||||
|
|
||||||
|
partition@0 {
|
||||||
|
label = "bl0";
|
||||||
|
reg = <0x00000000 0x00080000>; /* 512KB */
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@80000 {
|
||||||
|
label = "fip";
|
||||||
|
reg = <0x00080000 0x00150000>; /* 1344KB */
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@1e0000 {
|
||||||
|
label = "env";
|
||||||
|
reg = <0x001e0000 0x00010000>;/* 64KB */
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@1f0000 {
|
||||||
|
label = "dtb";
|
||||||
|
reg = <0x001f0000 0x00010000>; /* 64KB */
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@200000 {
|
||||||
|
label = "kernel";
|
||||||
|
reg = <0x00200000 0x00e00000>; /* 14MB */
|
||||||
|
};
|
||||||
|
|
||||||
|
partition@1000000 {
|
||||||
|
label = "rootfs";
|
||||||
|
reg = <0x01000000 0x01000000>; /* 16MB */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart3 {
|
||||||
|
status = "ok";
|
||||||
|
};
|
@@ -30,6 +30,8 @@
|
|||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/memreserve/ 0x81000000 0x00200000;
|
||||||
|
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
#include <dt-bindings/clock/bcm-ns2.h>
|
#include <dt-bindings/clock/bcm-ns2.h>
|
||||||
|
|
||||||
@@ -115,7 +117,7 @@
|
|||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 281 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 281 IRQ_TYPE_NONE>;
|
||||||
|
|
||||||
linux,pci-domain = <0>;
|
linux,pci-domain = <0>;
|
||||||
|
|
||||||
@@ -136,18 +138,7 @@
|
|||||||
phys = <&pci_phy0>;
|
phys = <&pci_phy0>;
|
||||||
phy-names = "pcie-phy";
|
phy-names = "pcie-phy";
|
||||||
|
|
||||||
msi-parent = <&msi0>;
|
msi-parent = <&v2m0>;
|
||||||
msi0: msi@20020000 {
|
|
||||||
compatible = "brcm,iproc-msi";
|
|
||||||
msi-controller;
|
|
||||||
interrupt-parent = <&gic>;
|
|
||||||
interrupts = <GIC_SPI 277 IRQ_TYPE_NONE>,
|
|
||||||
<GIC_SPI 278 IRQ_TYPE_NONE>,
|
|
||||||
<GIC_SPI 279 IRQ_TYPE_NONE>,
|
|
||||||
<GIC_SPI 280 IRQ_TYPE_NONE>;
|
|
||||||
brcm,num-eq-region = <1>;
|
|
||||||
brcm,num-msi-msg-region = <1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pcie4: pcie@50020000 {
|
pcie4: pcie@50020000 {
|
||||||
@@ -156,7 +147,7 @@
|
|||||||
|
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 305 IRQ_TYPE_NONE>;
|
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 305 IRQ_TYPE_NONE>;
|
||||||
|
|
||||||
linux,pci-domain = <4>;
|
linux,pci-domain = <4>;
|
||||||
|
|
||||||
@@ -177,16 +168,24 @@
|
|||||||
phys = <&pci_phy1>;
|
phys = <&pci_phy1>;
|
||||||
phy-names = "pcie-phy";
|
phy-names = "pcie-phy";
|
||||||
|
|
||||||
msi-parent = <&msi4>;
|
msi-parent = <&v2m0>;
|
||||||
msi4: msi@50020000 {
|
|
||||||
compatible = "brcm,iproc-msi";
|
|
||||||
msi-controller;
|
|
||||||
interrupt-parent = <&gic>;
|
|
||||||
interrupts = <GIC_SPI 301 IRQ_TYPE_NONE>,
|
|
||||||
<GIC_SPI 302 IRQ_TYPE_NONE>,
|
|
||||||
<GIC_SPI 303 IRQ_TYPE_NONE>,
|
|
||||||
<GIC_SPI 304 IRQ_TYPE_NONE>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pcie8: pcie@60c00000 {
|
||||||
|
compatible = "brcm,iproc-pcie-paxc";
|
||||||
|
reg = <0 0x60c00000 0 0x1000>;
|
||||||
|
linux,pci-domain = <8>;
|
||||||
|
|
||||||
|
bus-range = <0x0 0x1>;
|
||||||
|
|
||||||
|
#address-cells = <3>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
device_type = "pci";
|
||||||
|
ranges = <0x83000000 0 0x00000000 0 0x60000000 0 0x00c00000>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
msi-parent = <&v2m0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
soc: soc {
|
soc: soc {
|
||||||
@@ -331,6 +330,82 @@
|
|||||||
<0x65260000 0x1000>;
|
<0x65260000 0x1000>;
|
||||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
|
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
|
||||||
IRQ_TYPE_LEVEL_HIGH)>;
|
IRQ_TYPE_LEVEL_HIGH)>;
|
||||||
|
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges = <0 0x652e0000 0x80000>;
|
||||||
|
|
||||||
|
v2m0: v2m@00000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x00000 0x1000>;
|
||||||
|
arm,msi-base-spi = <72>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m1: v2m@10000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x10000 0x1000>;
|
||||||
|
arm,msi-base-spi = <88>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m2: v2m@20000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x20000 0x1000>;
|
||||||
|
arm,msi-base-spi = <104>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m3: v2m@30000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x30000 0x1000>;
|
||||||
|
arm,msi-base-spi = <120>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m4: v2m@40000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x40000 0x1000>;
|
||||||
|
arm,msi-base-spi = <136>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m5: v2m@50000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x50000 0x1000>;
|
||||||
|
arm,msi-base-spi = <152>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m6: v2m@60000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x60000 0x1000>;
|
||||||
|
arm,msi-base-spi = <168>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
v2m7: v2m@70000 {
|
||||||
|
compatible = "arm,gic-v2m-frame";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
msi-controller;
|
||||||
|
reg = <0x70000 0x1000>;
|
||||||
|
arm,msi-base-spi = <184>;
|
||||||
|
arm,msi-num-spis = <16>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cci@65590000 {
|
cci@65590000 {
|
||||||
|
197
arch/arm64/boot/dts/exynos/exynos5433-bus.dtsi
Normal file
197
arch/arm64/boot/dts/exynos/exynos5433-bus.dtsi
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
/*
|
||||||
|
* Samsung's Exynos5433 SoC Memory interface and AMBA bus device tree source
|
||||||
|
*
|
||||||
|
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
||||||
|
* Chanwoo Choi <cw00.choi@samsung.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
&soc {
|
||||||
|
bus_g2d_400: bus0 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_G2D_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_g2d_400_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_g2d_266: bus1 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_G2D_266>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_g2d_266_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_gscl: bus2 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_GSCL_333>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_gscl_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_hevc: bus3 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_HEVC_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_hevc_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_jpeg: bus4 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_SCLK_JPEG_MSCL>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_g2d_400_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_mfc: bus5 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_MFC_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_g2d_400_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_mscl: bus6 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_MSCL_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_g2d_400_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_noc0: bus7 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_BUS0_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_hevc_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_noc1: bus8 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_top CLK_ACLK_BUS1_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_hevc_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_noc2: bus9 {
|
||||||
|
compatible = "samsung,exynos-bus";
|
||||||
|
clocks = <&cmu_mif CLK_ACLK_BUS2_400>;
|
||||||
|
clock-names = "bus";
|
||||||
|
operating-points-v2 = <&bus_noc2_opp_table>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_g2d_400_opp_table: opp_table2 {
|
||||||
|
compatible = "operating-points-v2";
|
||||||
|
opp-shared;
|
||||||
|
|
||||||
|
opp@400000000 {
|
||||||
|
opp-hz = /bits/ 64 <400000000>;
|
||||||
|
opp-microvolt = <1075000>;
|
||||||
|
};
|
||||||
|
opp@267000000 {
|
||||||
|
opp-hz = /bits/ 64 <267000000>;
|
||||||
|
opp-microvolt = <1000000>;
|
||||||
|
};
|
||||||
|
opp@200000000 {
|
||||||
|
opp-hz = /bits/ 64 <200000000>;
|
||||||
|
opp-microvolt = <975000>;
|
||||||
|
};
|
||||||
|
opp@160000000 {
|
||||||
|
opp-hz = /bits/ 64 <160000000>;
|
||||||
|
opp-microvolt = <962500>;
|
||||||
|
};
|
||||||
|
opp@134000000 {
|
||||||
|
opp-hz = /bits/ 64 <134000000>;
|
||||||
|
opp-microvolt = <950000>;
|
||||||
|
};
|
||||||
|
opp@100000000 {
|
||||||
|
opp-hz = /bits/ 64 <100000000>;
|
||||||
|
opp-microvolt = <937500>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_g2d_266_opp_table: opp_table3 {
|
||||||
|
compatible = "operating-points-v2";
|
||||||
|
|
||||||
|
opp@267000000 {
|
||||||
|
opp-hz = /bits/ 64 <267000000>;
|
||||||
|
};
|
||||||
|
opp@200000000 {
|
||||||
|
opp-hz = /bits/ 64 <200000000>;
|
||||||
|
};
|
||||||
|
opp@160000000 {
|
||||||
|
opp-hz = /bits/ 64 <160000000>;
|
||||||
|
};
|
||||||
|
opp@134000000 {
|
||||||
|
opp-hz = /bits/ 64 <134000000>;
|
||||||
|
};
|
||||||
|
opp@100000000 {
|
||||||
|
opp-hz = /bits/ 64 <100000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_gscl_opp_table: opp_table4 {
|
||||||
|
compatible = "operating-points-v2";
|
||||||
|
|
||||||
|
opp@333000000 {
|
||||||
|
opp-hz = /bits/ 64 <333000000>;
|
||||||
|
};
|
||||||
|
opp@222000000 {
|
||||||
|
opp-hz = /bits/ 64 <222000000>;
|
||||||
|
};
|
||||||
|
opp@166500000 {
|
||||||
|
opp-hz = /bits/ 64 <166500000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_hevc_opp_table: opp_table5 {
|
||||||
|
compatible = "operating-points-v2";
|
||||||
|
opp-shared;
|
||||||
|
|
||||||
|
opp@400000000 {
|
||||||
|
opp-hz = /bits/ 64 <400000000>;
|
||||||
|
};
|
||||||
|
opp@267000000 {
|
||||||
|
opp-hz = /bits/ 64 <267000000>;
|
||||||
|
};
|
||||||
|
opp@200000000 {
|
||||||
|
opp-hz = /bits/ 64 <200000000>;
|
||||||
|
};
|
||||||
|
opp@160000000 {
|
||||||
|
opp-hz = /bits/ 64 <160000000>;
|
||||||
|
};
|
||||||
|
opp@134000000 {
|
||||||
|
opp-hz = /bits/ 64 <134000000>;
|
||||||
|
};
|
||||||
|
opp@100000000 {
|
||||||
|
opp-hz = /bits/ 64 <100000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bus_noc2_opp_table: opp_table6 {
|
||||||
|
compatible = "operating-points-v2";
|
||||||
|
|
||||||
|
opp@400000000 {
|
||||||
|
opp-hz = /bits/ 64 <400000000>;
|
||||||
|
};
|
||||||
|
opp@200000000 {
|
||||||
|
opp-hz = /bits/ 64 <200000000>;
|
||||||
|
};
|
||||||
|
opp@134000000 {
|
||||||
|
opp-hz = /bits/ 64 <134000000>;
|
||||||
|
};
|
||||||
|
opp@100000000 {
|
||||||
|
opp-hz = /bits/ 64 <100000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@@ -12,25 +12,14 @@
|
|||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PIN_PULL_NONE 0
|
#include <dt-bindings/pinctrl/samsung.h>
|
||||||
#define PIN_PULL_DOWN 1
|
|
||||||
#define PIN_PULL_UP 3
|
|
||||||
|
|
||||||
#define PIN_DRV_LV1 0
|
|
||||||
#define PIN_DRV_LV2 2
|
|
||||||
#define PIN_DRV_LV3 1
|
|
||||||
#define PIN_DRV_LV4 3
|
|
||||||
|
|
||||||
#define PIN_IN 0
|
|
||||||
#define PIN_OUT 1
|
|
||||||
#define PIN_FUNC1 2
|
|
||||||
|
|
||||||
#define PIN(_func, _pin, _pull, _drv) \
|
#define PIN(_func, _pin, _pull, _drv) \
|
||||||
_pin { \
|
_pin { \
|
||||||
samsung,pins = #_pin; \
|
samsung,pins = #_pin; \
|
||||||
samsung,pin-function = <PIN_ ##_func>; \
|
samsung,pin-function = <EXYNOS_PIN_FUNC_ ##_func>; \
|
||||||
samsung,pin-pud = <PIN_PULL_ ##_pull>; \
|
samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \
|
||||||
samsung,pin-drv = <PIN_DRV_ ##_drv>; \
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_ ##_drv>; \
|
||||||
}
|
}
|
||||||
|
|
||||||
&pinctrl_alive {
|
&pinctrl_alive {
|
||||||
@@ -145,23 +134,23 @@
|
|||||||
i2s0_bus: i2s0-bus {
|
i2s0_bus: i2s0-bus {
|
||||||
samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
|
samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
|
||||||
"gpz0-4", "gpz0-5", "gpz0-6";
|
"gpz0-4", "gpz0-5", "gpz0-6";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pcm0_bus: pcm0-bus {
|
pcm0_bus: pcm0-bus {
|
||||||
samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3";
|
samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_aud_bus: uart-aud-bus {
|
uart_aud_bus: uart-aud-bus {
|
||||||
samsung,pins = "gpz1-3", "gpz1-2", "gpz1-1", "gpz1-0";
|
samsung,pins = "gpz1-3", "gpz1-2", "gpz1-1", "gpz1-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -196,16 +185,16 @@
|
|||||||
|
|
||||||
spi2_bus: spi2-bus {
|
spi2_bus: spi2-bus {
|
||||||
samsung,pins = "gpd5-0", "gpd5-2", "gpd5-3";
|
samsung,pins = "gpd5-0", "gpd5-2", "gpd5-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c6_bus: hs-i2c6-bus {
|
hs_i2c6_bus: hs-i2c6-bus {
|
||||||
samsung,pins = "gpd5-3", "gpd5-2";
|
samsung,pins = "gpd5-3", "gpd5-2";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -260,141 +249,141 @@
|
|||||||
|
|
||||||
sd0_clk: sd0-clk {
|
sd0_clk: sd0-clk {
|
||||||
samsung,pins = "gpr0-0";
|
samsung,pins = "gpr0-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_cmd: sd0-cmd {
|
sd0_cmd: sd0-cmd {
|
||||||
samsung,pins = "gpr0-1";
|
samsung,pins = "gpr0-1";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_rdqs: sd0-rdqs {
|
sd0_rdqs: sd0-rdqs {
|
||||||
samsung,pins = "gpr0-2";
|
samsung,pins = "gpr0-2";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_qrdy: sd0-qrdy {
|
sd0_qrdy: sd0-qrdy {
|
||||||
samsung,pins = "gpr0-3";
|
samsung,pins = "gpr0-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_bus1: sd0-bus-width1 {
|
sd0_bus1: sd0-bus-width1 {
|
||||||
samsung,pins = "gpr1-0";
|
samsung,pins = "gpr1-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_bus4: sd0-bus-width4 {
|
sd0_bus4: sd0-bus-width4 {
|
||||||
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
|
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_bus8: sd0-bus-width8 {
|
sd0_bus8: sd0-bus-width8 {
|
||||||
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
|
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd1_clk: sd1-clk {
|
sd1_clk: sd1-clk {
|
||||||
samsung,pins = "gpr2-0";
|
samsung,pins = "gpr2-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd1_cmd: sd1-cmd {
|
sd1_cmd: sd1-cmd {
|
||||||
samsung,pins = "gpr2-1";
|
samsung,pins = "gpr2-1";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd1_bus1: sd1-bus-width1 {
|
sd1_bus1: sd1-bus-width1 {
|
||||||
samsung,pins = "gpr3-0";
|
samsung,pins = "gpr3-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd1_bus4: sd1-bus-width4 {
|
sd1_bus4: sd1-bus-width4 {
|
||||||
samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
|
samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd1_bus8: sd1-bus-width8 {
|
sd1_bus8: sd1-bus-width8 {
|
||||||
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
|
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pcie_bus: pcie_bus {
|
pcie_bus: pcie_bus {
|
||||||
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
|
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_clk: sd2-clk {
|
sd2_clk: sd2-clk {
|
||||||
samsung,pins = "gpr4-0";
|
samsung,pins = "gpr4-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_cmd: sd2-cmd {
|
sd2_cmd: sd2-cmd {
|
||||||
samsung,pins = "gpr4-1";
|
samsung,pins = "gpr4-1";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_cd: sd2-cd {
|
sd2_cd: sd2-cd {
|
||||||
samsung,pins = "gpr4-2";
|
samsung,pins = "gpr4-2";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_bus1: sd2-bus-width1 {
|
sd2_bus1: sd2-bus-width1 {
|
||||||
samsung,pins = "gpr4-3";
|
samsung,pins = "gpr4-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_bus4: sd2-bus-width4 {
|
sd2_bus4: sd2-bus-width4 {
|
||||||
samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
|
samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_clk_output: sd2-clk-output {
|
sd2_clk_output: sd2-clk-output {
|
||||||
samsung,pins = "gpr4-0";
|
samsung,pins = "gpr4-0";
|
||||||
samsung,pin-function = <1>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <2>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd2_cmd_output: sd2-cmd-output {
|
sd2_cmd_output: sd2-cmd-output {
|
||||||
samsung,pins = "gpr4-1";
|
samsung,pins = "gpr4-1";
|
||||||
samsung,pin-function = <1>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <2>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -419,9 +408,9 @@
|
|||||||
|
|
||||||
hs_i2c4_bus: hs-i2c4-bus {
|
hs_i2c4_bus: hs-i2c4-bus {
|
||||||
samsung,pins = "gpj0-1", "gpj0-0";
|
samsung,pins = "gpj0-1", "gpj0-0";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -564,225 +553,225 @@
|
|||||||
|
|
||||||
hs_i2c8_bus: hs-i2c8-bus {
|
hs_i2c8_bus: hs-i2c8-bus {
|
||||||
samsung,pins = "gpb0-1", "gpb0-0";
|
samsung,pins = "gpb0-1", "gpb0-0";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c9_bus: hs-i2c9-bus {
|
hs_i2c9_bus: hs-i2c9-bus {
|
||||||
samsung,pins = "gpb0-3", "gpb0-2";
|
samsung,pins = "gpb0-3", "gpb0-2";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
i2s1_bus: i2s1-bus {
|
i2s1_bus: i2s1-bus {
|
||||||
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
|
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
|
||||||
"gpd4-3", "gpd4-4";
|
"gpd4-3", "gpd4-4";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pcm1_bus: pcm1-bus {
|
pcm1_bus: pcm1-bus {
|
||||||
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
|
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
|
||||||
"gpd4-3", "gpd4-4";
|
"gpd4-3", "gpd4-4";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spdif_bus: spdif-bus {
|
spdif_bus: spdif-bus {
|
||||||
samsung,pins = "gpd4-3", "gpd4-4";
|
samsung,pins = "gpd4-3", "gpd4-4";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_spi_pin0: fimc-is-spi-pin0 {
|
fimc_is_spi_pin0: fimc-is-spi-pin0 {
|
||||||
samsung,pins = "gpc3-3", "gpc3-2", "gpc3-1", "gpc3-0";
|
samsung,pins = "gpc3-3", "gpc3-2", "gpc3-1", "gpc3-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_spi_pin1: fimc-is-spi-pin1 {
|
fimc_is_spi_pin1: fimc-is-spi-pin1 {
|
||||||
samsung,pins = "gpc3-7", "gpc3-6", "gpc3-5", "gpc3-4";
|
samsung,pins = "gpc3-7", "gpc3-6", "gpc3-5", "gpc3-4";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart0_bus: uart0-bus {
|
uart0_bus: uart0-bus {
|
||||||
samsung,pins = "gpd0-3", "gpd0-2", "gpd0-1", "gpd0-0";
|
samsung,pins = "gpd0-3", "gpd0-2", "gpd0-1", "gpd0-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c2_bus: hs-i2c2-bus {
|
hs_i2c2_bus: hs-i2c2-bus {
|
||||||
samsung,pins = "gpd0-3", "gpd0-2";
|
samsung,pins = "gpd0-3", "gpd0-2";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart2_bus: uart2-bus {
|
uart2_bus: uart2-bus {
|
||||||
samsung,pins = "gpd1-5", "gpd1-4";
|
samsung,pins = "gpd1-5", "gpd1-4";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
};
|
};
|
||||||
|
|
||||||
uart1_bus: uart1-bus {
|
uart1_bus: uart1-bus {
|
||||||
samsung,pins = "gpd1-3", "gpd1-2", "gpd1-1", "gpd1-0";
|
samsung,pins = "gpd1-3", "gpd1-2", "gpd1-1", "gpd1-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c3_bus: hs-i2c3-bus {
|
hs_i2c3_bus: hs-i2c3-bus {
|
||||||
samsung,pins = "gpd1-3", "gpd1-2";
|
samsung,pins = "gpd1-3", "gpd1-2";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c0_bus: hs-i2c0-bus {
|
hs_i2c0_bus: hs-i2c0-bus {
|
||||||
samsung,pins = "gpd2-1", "gpd2-0";
|
samsung,pins = "gpd2-1", "gpd2-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c1_bus: hs-i2c1-bus {
|
hs_i2c1_bus: hs-i2c1-bus {
|
||||||
samsung,pins = "gpd2-3", "gpd2-2";
|
samsung,pins = "gpd2-3", "gpd2-2";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pwm0_out: pwm0-out {
|
pwm0_out: pwm0-out {
|
||||||
samsung,pins = "gpd2-4";
|
samsung,pins = "gpd2-4";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pwm1_out: pwm1-out {
|
pwm1_out: pwm1-out {
|
||||||
samsung,pins = "gpd2-5";
|
samsung,pins = "gpd2-5";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pwm2_out: pwm2-out {
|
pwm2_out: pwm2-out {
|
||||||
samsung,pins = "gpd2-6";
|
samsung,pins = "gpd2-6";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pwm3_out: pwm3-out {
|
pwm3_out: pwm3-out {
|
||||||
samsung,pins = "gpd2-7";
|
samsung,pins = "gpd2-7";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spi1_bus: spi1-bus {
|
spi1_bus: spi1-bus {
|
||||||
samsung,pins = "gpd6-2", "gpd6-4", "gpd6-5";
|
samsung,pins = "gpd6-2", "gpd6-4", "gpd6-5";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c7_bus: hs-i2c7-bus {
|
hs_i2c7_bus: hs-i2c7-bus {
|
||||||
samsung,pins = "gpd2-7", "gpd2-6";
|
samsung,pins = "gpd2-7", "gpd2-6";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spi0_bus: spi0-bus {
|
spi0_bus: spi0-bus {
|
||||||
samsung,pins = "gpd8-0", "gpd6-0", "gpd6-1";
|
samsung,pins = "gpd8-0", "gpd6-0", "gpd6-1";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c10_bus: hs-i2c10-bus {
|
hs_i2c10_bus: hs-i2c10-bus {
|
||||||
samsung,pins = "gpg3-1", "gpg3-0";
|
samsung,pins = "gpg3-1", "gpg3-0";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
hs_i2c11_bus: hs-i2c11-bus {
|
hs_i2c11_bus: hs-i2c11-bus {
|
||||||
samsung,pins = "gpg3-3", "gpg3-2";
|
samsung,pins = "gpg3-3", "gpg3-2";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spi3_bus: spi3-bus {
|
spi3_bus: spi3-bus {
|
||||||
samsung,pins = "gpg3-4", "gpg3-6", "gpg3-7";
|
samsung,pins = "gpg3-4", "gpg3-6", "gpg3-7";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spi4_bus: spi4-bus {
|
spi4_bus: spi4-bus {
|
||||||
samsung,pins = "gpv7-1", "gpv7-3", "gpv7-4";
|
samsung,pins = "gpv7-1", "gpv7-3", "gpv7-4";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_uart: fimc-is-uart {
|
fimc_is_uart: fimc-is-uart {
|
||||||
samsung,pins = "gpc1-1", "gpc0-7";
|
samsung,pins = "gpc1-1", "gpc0-7";
|
||||||
samsung,pin-function = <3>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_ch0_i2c: fimc-is-ch0_i2c {
|
fimc_is_ch0_i2c: fimc-is-ch0_i2c {
|
||||||
samsung,pins = "gpc2-1", "gpc2-0";
|
samsung,pins = "gpc2-1", "gpc2-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_ch0_mclk: fimc-is-ch0_mclk {
|
fimc_is_ch0_mclk: fimc-is-ch0_mclk {
|
||||||
samsung,pins = "gpd7-0";
|
samsung,pins = "gpd7-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_ch1_i2c: fimc-is-ch1-i2c {
|
fimc_is_ch1_i2c: fimc-is-ch1-i2c {
|
||||||
samsung,pins = "gpc2-3", "gpc2-2";
|
samsung,pins = "gpc2-3", "gpc2-2";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_ch1_mclk: fimc-is-ch1-mclk {
|
fimc_is_ch1_mclk: fimc-is-ch1-mclk {
|
||||||
samsung,pins = "gpd7-1";
|
samsung,pins = "gpd7-1";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_ch2_i2c: fimc-is-ch2-i2c {
|
fimc_is_ch2_i2c: fimc-is-ch2-i2c {
|
||||||
samsung,pins = "gpc2-5", "gpc2-4";
|
samsung,pins = "gpc2-5", "gpc2-4";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
fimc_is_ch2_mclk: fimc-is-ch2-mclk {
|
fimc_is_ch2_mclk: fimc-is-ch2-mclk {
|
||||||
samsung,pins = "gpd7-2";
|
samsung,pins = "gpd7-2";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -797,8 +786,8 @@
|
|||||||
|
|
||||||
hs_i2c5_bus: hs-i2c5-bus {
|
hs_i2c5_bus: hs-i2c5-bus {
|
||||||
samsung,pins = "gpj1-1", "gpj1-0";
|
samsung,pins = "gpj1-1", "gpj1-0";
|
||||||
samsung,pin-function = <4>;
|
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||||
samsung,pin-drv = <0>;
|
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
1203
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
Normal file
1203
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -11,23 +11,13 @@
|
|||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "exynos5433-tm2.dts"
|
#include "exynos5433-tm2-common.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Samsung TM2E board";
|
model = "Samsung TM2E board";
|
||||||
compatible = "samsung,tm2e", "samsung,exynos5433";
|
compatible = "samsung,tm2e", "samsung,exynos5433";
|
||||||
};
|
};
|
||||||
|
|
||||||
&ldo23_reg {
|
|
||||||
regulator-name = "CAM_SEN_CORE_1.025V_AP";
|
|
||||||
regulator-max-microvolt = <1050000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&ldo25_reg {
|
|
||||||
regulator-name = "UNUSED_LDO25";
|
|
||||||
regulator-always-off;
|
|
||||||
};
|
|
||||||
|
|
||||||
&ldo31_reg {
|
&ldo31_reg {
|
||||||
regulator-name = "TSP_VDD_1.8V_AP";
|
regulator-name = "TSP_VDD_1.8V_AP";
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
|
@@ -299,7 +299,7 @@
|
|||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cmu_peris: clock-controller@0x10040000 {
|
cmu_peris: clock-controller@10040000 {
|
||||||
compatible = "samsung,exynos5433-cmu-peris";
|
compatible = "samsung,exynos5433-cmu-peris";
|
||||||
reg = <0x10040000 0x1000>;
|
reg = <0x10040000 0x1000>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
@@ -599,6 +599,30 @@
|
|||||||
clock-names = "fin_pll", "mct";
|
clock-names = "fin_pll", "mct";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ppmu_d0_cpu: ppmu@10480000 {
|
||||||
|
compatible = "samsung,exynos-ppmu-v2";
|
||||||
|
reg = <0x10480000 0x2000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
ppmu_d0_general: ppmu@10490000 {
|
||||||
|
compatible = "samsung,exynos-ppmu-v2";
|
||||||
|
reg = <0x10490000 0x2000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
ppmu_d1_cpu: ppmu@104b0000 {
|
||||||
|
compatible = "samsung,exynos-ppmu-v2";
|
||||||
|
reg = <0x104b0000 0x2000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
ppmu_d1_general: ppmu@104c0000 {
|
||||||
|
compatible = "samsung,exynos-ppmu-v2";
|
||||||
|
reg = <0x104c0000 0x2000>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
pinctrl_alive: pinctrl@10580000 {
|
pinctrl_alive: pinctrl@10580000 {
|
||||||
compatible = "samsung,exynos5433-pinctrl";
|
compatible = "samsung,exynos5433-pinctrl";
|
||||||
reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
|
reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
|
||||||
@@ -682,7 +706,7 @@
|
|||||||
interrupts = <GIC_PPI 9 0xf04>;
|
interrupts = <GIC_PPI 9 0xf04>;
|
||||||
};
|
};
|
||||||
|
|
||||||
mipi_phy: video-phy@105c0710 {
|
mipi_phy: video-phy {
|
||||||
compatible = "samsung,exynos5433-mipi-video-phy";
|
compatible = "samsung,exynos5433-mipi-video-phy";
|
||||||
#phy-cells = <1>;
|
#phy-cells = <1>;
|
||||||
samsung,pmu-syscon = <&pmu_system_controller>;
|
samsung,pmu-syscon = <&pmu_system_controller>;
|
||||||
@@ -727,6 +751,29 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
decon_tv: decon@13880000 {
|
||||||
|
compatible = "samsung,exynos5433-decon-tv";
|
||||||
|
reg = <0x13880000 0x20b8>;
|
||||||
|
clocks = <&cmu_disp CLK_PCLK_DECON_TV>,
|
||||||
|
<&cmu_disp CLK_ACLK_DECON_TV>,
|
||||||
|
<&cmu_disp CLK_ACLK_SMMU_TV0X>,
|
||||||
|
<&cmu_disp CLK_ACLK_XIU_TV0X>,
|
||||||
|
<&cmu_disp CLK_PCLK_SMMU_TV0X>,
|
||||||
|
<&cmu_disp CLK_SCLK_DECON_TV_VCLK>,
|
||||||
|
<&cmu_disp CLK_SCLK_DECON_TV_ECLK>;
|
||||||
|
clock-names = "pclk", "aclk_decon", "aclk_smmu_decon0x",
|
||||||
|
"aclk_xiu_decon0x", "pclk_smmu_decon0x",
|
||||||
|
"sclk_decon_vclk", "sclk_decon_eclk";
|
||||||
|
samsung,disp-sysreg = <&syscon_disp>;
|
||||||
|
interrupt-names = "fifo", "vsync", "lcd_sys";
|
||||||
|
interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
status = "disabled";
|
||||||
|
iommus = <&sysmmu_tv0x>, <&sysmmu_tv1x>;
|
||||||
|
iommu-names = "m0", "m1";
|
||||||
|
};
|
||||||
|
|
||||||
dsi: dsi@13900000 {
|
dsi: dsi@13900000 {
|
||||||
compatible = "samsung,exynos5433-mipi-dsi";
|
compatible = "samsung,exynos5433-mipi-dsi";
|
||||||
reg = <0x13900000 0xC0>;
|
reg = <0x13900000 0xC0>;
|
||||||
@@ -790,6 +837,35 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hdmi: hdmi@13970000 {
|
||||||
|
compatible = "samsung,exynos5433-hdmi";
|
||||||
|
reg = <0x13970000 0x70000>;
|
||||||
|
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cmu_disp CLK_PCLK_HDMI>,
|
||||||
|
<&cmu_disp CLK_PCLK_HDMIPHY>,
|
||||||
|
<&cmu_disp CLK_PHYCLK_HDMIPHY_TMDS_CLKO>,
|
||||||
|
<&cmu_disp CLK_PHYCLK_HDMI_PIXEL>,
|
||||||
|
<&cmu_disp CLK_PHYCLK_HDMIPHY_TMDS_CLKO_PHY>,
|
||||||
|
<&cmu_disp CLK_MOUT_PHYCLK_HDMIPHY_TMDS_CLKO_USER>,
|
||||||
|
<&cmu_disp CLK_PHYCLK_HDMIPHY_PIXEL_CLKO_PHY>,
|
||||||
|
<&cmu_disp CLK_MOUT_PHYCLK_HDMIPHY_PIXEL_CLKO_USER>,
|
||||||
|
<&xxti>, <&cmu_disp CLK_SCLK_HDMI_SPDIF>;
|
||||||
|
clock-names = "hdmi_pclk", "hdmi_i_pclk",
|
||||||
|
"i_tmds_clk", "i_pixel_clk",
|
||||||
|
"tmds_clko", "tmds_clko_user",
|
||||||
|
"pixel_clko", "pixel_clko_user",
|
||||||
|
"oscclk", "i_spdif_clk";
|
||||||
|
phy = <&hdmiphy>;
|
||||||
|
ddc = <&hsi2c_11>;
|
||||||
|
samsung,syscon-phandle = <&pmu_system_controller>;
|
||||||
|
samsung,sysreg-phandle = <&syscon_disp>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
hdmiphy: hdmiphy@13af0000 {
|
||||||
|
reg = <0x13af0000 0x80>;
|
||||||
|
};
|
||||||
|
|
||||||
syscon_disp: syscon@13b80000 {
|
syscon_disp: syscon@13b80000 {
|
||||||
compatible = "syscon";
|
compatible = "syscon";
|
||||||
reg = <0x13b80000 0x1010>;
|
reg = <0x13b80000 0x1010>;
|
||||||
@@ -868,7 +944,7 @@
|
|||||||
iommu-names = "left", "right";
|
iommu-names = "left", "right";
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_decon0x: sysmmu@0x13a00000 {
|
sysmmu_decon0x: sysmmu@13a00000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x13a00000 0x1000>;
|
reg = <0x13a00000 0x1000>;
|
||||||
interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -878,7 +954,7 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_decon1x: sysmmu@0x13a10000 {
|
sysmmu_decon1x: sysmmu@13a10000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x13a10000 0x1000>;
|
reg = <0x13a10000 0x1000>;
|
||||||
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -888,7 +964,27 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_gscl0: sysmmu@0x13C80000 {
|
sysmmu_tv0x: sysmmu@13a20000 {
|
||||||
|
compatible = "samsung,exynos-sysmmu";
|
||||||
|
reg = <0x13a20000 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clock-names = "pclk", "aclk";
|
||||||
|
clocks = <&cmu_disp CLK_PCLK_SMMU_TV0X>,
|
||||||
|
<&cmu_disp CLK_ACLK_SMMU_TV0X>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sysmmu_tv1x: sysmmu@13a30000 {
|
||||||
|
compatible = "samsung,exynos-sysmmu";
|
||||||
|
reg = <0x13a30000 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clock-names = "pclk", "aclk";
|
||||||
|
clocks = <&cmu_disp CLK_PCLK_SMMU_TV1X>,
|
||||||
|
<&cmu_disp CLK_ACLK_SMMU_TV1X>;
|
||||||
|
#iommu-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sysmmu_gscl0: sysmmu@13c80000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x13C80000 0x1000>;
|
reg = <0x13C80000 0x1000>;
|
||||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -898,7 +994,7 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_gscl1: sysmmu@0x13C90000 {
|
sysmmu_gscl1: sysmmu@13c90000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x13C90000 0x1000>;
|
reg = <0x13C90000 0x1000>;
|
||||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -908,7 +1004,7 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_gscl2: sysmmu@0x13CA0000 {
|
sysmmu_gscl2: sysmmu@13ca0000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x13CA0000 0x1000>;
|
reg = <0x13CA0000 0x1000>;
|
||||||
interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -918,7 +1014,7 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_jpeg: sysmmu@0x15060000 {
|
sysmmu_jpeg: sysmmu@15060000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x15060000 0x1000>;
|
reg = <0x15060000 0x1000>;
|
||||||
interrupts = <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -928,7 +1024,7 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_mfc_0: sysmmu@0x15200000 {
|
sysmmu_mfc_0: sysmmu@15200000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x15200000 0x1000>;
|
reg = <0x15200000 0x1000>;
|
||||||
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -938,7 +1034,7 @@
|
|||||||
#iommu-cells = <0>;
|
#iommu-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysmmu_mfc_1: sysmmu@0x15210000 {
|
sysmmu_mfc_1: sysmmu@15210000 {
|
||||||
compatible = "samsung,exynos-sysmmu";
|
compatible = "samsung,exynos-sysmmu";
|
||||||
reg = <0x15210000 0x1000>;
|
reg = <0x15210000 0x1000>;
|
||||||
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -1261,7 +1357,7 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
usbdrd30: usb@15400000 {
|
usbdrd30: usbdrd {
|
||||||
compatible = "samsung,exynos5250-dwusb3";
|
compatible = "samsung,exynos5250-dwusb3";
|
||||||
clocks = <&cmu_fsys CLK_ACLK_USBDRD30>,
|
clocks = <&cmu_fsys CLK_ACLK_USBDRD30>,
|
||||||
<&cmu_fsys CLK_SCLK_USBDRD30>;
|
<&cmu_fsys CLK_SCLK_USBDRD30>;
|
||||||
@@ -1308,7 +1404,7 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
usbhost30: usb@15a00000 {
|
usbhost30: usbhost {
|
||||||
compatible = "samsung,exynos5250-dwusb3";
|
compatible = "samsung,exynos5250-dwusb3";
|
||||||
clocks = <&cmu_fsys CLK_ACLK_USBHOST30>,
|
clocks = <&cmu_fsys CLK_ACLK_USBHOST30>,
|
||||||
<&cmu_fsys CLK_SCLK_USBHOST30>;
|
<&cmu_fsys CLK_SCLK_USBHOST30>;
|
||||||
@@ -1398,6 +1494,8 @@
|
|||||||
audio-subsystem@11400000 {
|
audio-subsystem@11400000 {
|
||||||
compatible = "samsung,exynos5433-lpass";
|
compatible = "samsung,exynos5433-lpass";
|
||||||
reg = <0x11400000 0x100>, <0x11500000 0x08>;
|
reg = <0x11400000 0x100>, <0x11500000 0x08>;
|
||||||
|
clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>;
|
||||||
|
clock-names = "sfr0_ctrl";
|
||||||
samsung,pmu-syscon = <&pmu_system_controller>;
|
samsung,pmu-syscon = <&pmu_system_controller>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
@@ -1458,5 +1556,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#include "exynos5433-bus.dtsi"
|
||||||
#include "exynos5433-pinctrl.dtsi"
|
#include "exynos5433-pinctrl.dtsi"
|
||||||
#include "exynos5433-tmu.dtsi"
|
#include "exynos5433-tmu.dtsi"
|
||||||
|
@@ -497,49 +497,49 @@
|
|||||||
samsung,pins = "gpr0-0";
|
samsung,pins = "gpr0-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <0>;
|
samsung,pin-pud = <0>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_cmd: sd0-cmd {
|
sd0_cmd: sd0-cmd {
|
||||||
samsung,pins = "gpr0-1";
|
samsung,pins = "gpr0-1";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <3>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_ds: sd0-ds {
|
sd0_ds: sd0-ds {
|
||||||
samsung,pins = "gpr0-2";
|
samsung,pins = "gpr0-2";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <1>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_qrdy: sd0-qrdy {
|
sd0_qrdy: sd0-qrdy {
|
||||||
samsung,pins = "gpr0-3";
|
samsung,pins = "gpr0-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <1>;
|
samsung,pin-pud = <1>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_bus1: sd0-bus-width1 {
|
sd0_bus1: sd0-bus-width1 {
|
||||||
samsung,pins = "gpr1-0";
|
samsung,pins = "gpr1-0";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <3>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_bus4: sd0-bus-width4 {
|
sd0_bus4: sd0-bus-width4 {
|
||||||
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
|
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <3>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd0_bus8: sd0-bus-width8 {
|
sd0_bus8: sd0-bus-width8 {
|
||||||
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
|
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
|
||||||
samsung,pin-function = <2>;
|
samsung,pin-function = <2>;
|
||||||
samsung,pin-pud = <3>;
|
samsung,pin-pud = <3>;
|
||||||
samsung,pin-drv = <3>;
|
samsung,pin-drv = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sd1_clk: sd1-clk {
|
sd1_clk: sd1-clk {
|
||||||
|
@@ -1,3 +1,6 @@
|
|||||||
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
|
||||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
|
||||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
|
||||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb
|
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1046a-qds.dtb
|
||||||
|
115
arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
Normal file
115
arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/*
|
||||||
|
* Device Tree file for Freescale LS1012A Freedom Board.
|
||||||
|
*
|
||||||
|
* Copyright 2016, Freescale Semiconductor
|
||||||
|
*
|
||||||
|
* 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-ls1012a.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "LS1012A Freedom Board";
|
||||||
|
compatible = "fsl,ls1012a-frdm", "fsl,ls1012a";
|
||||||
|
|
||||||
|
sys_mclk: clock-mclk {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <25000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_1p8v: regulator-1p8v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "1P8V";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
sound {
|
||||||
|
compatible = "simple-audio-card";
|
||||||
|
simple-audio-card,format = "i2s";
|
||||||
|
simple-audio-card,widgets =
|
||||||
|
"Microphone", "Microphone Jack",
|
||||||
|
"Headphone", "Headphone Jack",
|
||||||
|
"Speaker", "Speaker Ext",
|
||||||
|
"Line", "Line In Jack";
|
||||||
|
simple-audio-card,routing =
|
||||||
|
"MIC_IN", "Microphone Jack",
|
||||||
|
"Microphone Jack", "Mic Bias",
|
||||||
|
"LINE_IN", "Line In Jack",
|
||||||
|
"Headphone Jack", "HP_OUT",
|
||||||
|
"Speaker Ext", "LINE_OUT";
|
||||||
|
|
||||||
|
simple-audio-card,cpu {
|
||||||
|
sound-dai = <&sai2>;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
};
|
||||||
|
|
||||||
|
simple-audio-card,codec {
|
||||||
|
sound-dai = <&codec>;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
system-clock-frequency = <25000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
codec: sgtl5000@a {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "fsl,sgtl5000";
|
||||||
|
reg = <0xa>;
|
||||||
|
VDDA-supply = <®_1p8v>;
|
||||||
|
VDDIO-supply = <®_1p8v>;
|
||||||
|
clocks = <&sys_mclk>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sai2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
128
arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
Normal file
128
arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
/*
|
||||||
|
* Device Tree file for Freescale LS1012A QDS Board.
|
||||||
|
*
|
||||||
|
* Copyright 2016, Freescale Semiconductor
|
||||||
|
*
|
||||||
|
* 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-ls1012a.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "LS1012A QDS Board";
|
||||||
|
compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
|
||||||
|
|
||||||
|
sys_mclk: clock-mclk {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <24576000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reg_3p3v: regulator-3p3v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "3P3V";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-always-on;
|
||||||
|
};
|
||||||
|
|
||||||
|
sound {
|
||||||
|
compatible = "simple-audio-card";
|
||||||
|
simple-audio-card,format = "i2s";
|
||||||
|
simple-audio-card,widgets =
|
||||||
|
"Microphone", "Microphone Jack",
|
||||||
|
"Headphone", "Headphone Jack",
|
||||||
|
"Speaker", "Speaker Ext",
|
||||||
|
"Line", "Line In Jack";
|
||||||
|
simple-audio-card,routing =
|
||||||
|
"MIC_IN", "Microphone Jack",
|
||||||
|
"Microphone Jack", "Mic Bias",
|
||||||
|
"LINE_IN", "Line In Jack",
|
||||||
|
"Headphone Jack", "HP_OUT",
|
||||||
|
"Speaker Ext", "LINE_OUT";
|
||||||
|
|
||||||
|
simple-audio-card,cpu {
|
||||||
|
sound-dai = <&sai2>;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
};
|
||||||
|
|
||||||
|
simple-audio-card,codec {
|
||||||
|
sound-dai = <&codec>;
|
||||||
|
frame-master;
|
||||||
|
bitclock-master;
|
||||||
|
system-clock-frequency = <24576000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
pca9547@77 {
|
||||||
|
compatible = "nxp,pca9547";
|
||||||
|
reg = <0x77>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
i2c@4 {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x4>;
|
||||||
|
|
||||||
|
codec: sgtl5000@a {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "fsl,sgtl5000";
|
||||||
|
reg = <0xa>;
|
||||||
|
VDDA-supply = <®_3p3v>;
|
||||||
|
VDDIO-supply = <®_3p3v>;
|
||||||
|
clocks = <&sys_mclk>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sai2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
59
arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
Normal file
59
arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* Device Tree file for Freescale LS1012A RDB Board.
|
||||||
|
*
|
||||||
|
* Copyright 2016, Freescale Semiconductor
|
||||||
|
*
|
||||||
|
* 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-ls1012a.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "LS1012A RDB Board";
|
||||||
|
compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
|
||||||
|
};
|
||||||
|
|
||||||
|
&duart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
247
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
Normal file
247
arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
Normal file
@@ -0,0 +1,247 @@
|
|||||||
|
/*
|
||||||
|
* Device Tree Include file for Freescale Layerscape-1012A family SoC.
|
||||||
|
*
|
||||||
|
* Copyright 2016, Freescale Semiconductor
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "fsl,ls1012a";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
cpu0: cpu@0 {
|
||||||
|
device_type = "cpu";
|
||||||
|
compatible = "arm,cortex-a53";
|
||||||
|
reg = <0x0>;
|
||||||
|
clocks = <&clockgen 1 0>;
|
||||||
|
#cooling-cells = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sysclk: sysclk {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <100000000>;
|
||||||
|
clock-output-names = "sysclk";
|
||||||
|
};
|
||||||
|
|
||||||
|
timer {
|
||||||
|
compatible = "arm,armv8-timer";
|
||||||
|
interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
|
||||||
|
<1 14 IRQ_TYPE_LEVEL_LOW>,/* Physical Non-Secure PPI */
|
||||||
|
<1 11 IRQ_TYPE_LEVEL_LOW>,/* Virtual PPI */
|
||||||
|
<1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
|
||||||
|
};
|
||||||
|
|
||||||
|
pmu {
|
||||||
|
compatible = "arm,armv8-pmuv3";
|
||||||
|
interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gic: interrupt-controller@1400000 {
|
||||||
|
compatible = "arm,gic-400";
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-controller;
|
||||||
|
reg = <0x0 0x1401000 0 0x1000>, /* GICD */
|
||||||
|
<0x0 0x1402000 0 0x2000>, /* GICC */
|
||||||
|
<0x0 0x1404000 0 0x2000>, /* GICH */
|
||||||
|
<0x0 0x1406000 0 0x2000>; /* GICV */
|
||||||
|
interrupts = <1 9 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
};
|
||||||
|
|
||||||
|
reboot {
|
||||||
|
compatible = "syscon-reboot";
|
||||||
|
regmap = <&dcfg>;
|
||||||
|
offset = <0xb0>;
|
||||||
|
mask = <0x02>;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
compatible = "simple-bus";
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
scfg: scfg@1570000 {
|
||||||
|
compatible = "fsl,ls1012a-scfg", "syscon";
|
||||||
|
reg = <0x0 0x1570000 0x0 0x10000>;
|
||||||
|
big-endian;
|
||||||
|
};
|
||||||
|
|
||||||
|
dcfg: dcfg@1ee0000 {
|
||||||
|
compatible = "fsl,ls1012a-dcfg",
|
||||||
|
"syscon";
|
||||||
|
reg = <0x0 0x1ee0000 0x0 0x10000>;
|
||||||
|
big-endian;
|
||||||
|
};
|
||||||
|
|
||||||
|
clockgen: clocking@1ee1000 {
|
||||||
|
compatible = "fsl,ls1012a-clockgen";
|
||||||
|
reg = <0x0 0x1ee1000 0x0 0x1000>;
|
||||||
|
#clock-cells = <2>;
|
||||||
|
clocks = <&sysclk>;
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c0: i2c@2180000 {
|
||||||
|
compatible = "fsl,vf610-i2c";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||||
|
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c1: i2c@2190000 {
|
||||||
|
compatible = "fsl,vf610-i2c";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||||
|
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
duart0: serial@21c0500 {
|
||||||
|
compatible = "fsl,ns16550", "ns16550a";
|
||||||
|
reg = <0x00 0x21c0500 0x0 0x100>;
|
||||||
|
interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
duart1: serial@21c0600 {
|
||||||
|
compatible = "fsl,ns16550", "ns16550a";
|
||||||
|
reg = <0x00 0x21c0600 0x0 0x100>;
|
||||||
|
interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio0: gpio@2300000 {
|
||||||
|
compatible = "fsl,qoriq-gpio";
|
||||||
|
reg = <0x0 0x2300000 0x0 0x10000>;
|
||||||
|
interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio1: gpio@2310000 {
|
||||||
|
compatible = "fsl,qoriq-gpio";
|
||||||
|
reg = <0x0 0x2310000 0x0 0x10000>;
|
||||||
|
interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
wdog0: wdog@2ad0000 {
|
||||||
|
compatible = "fsl,ls1012a-wdt",
|
||||||
|
"fsl,imx21-wdt";
|
||||||
|
reg = <0x0 0x2ad0000 0x0 0x10000>;
|
||||||
|
interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 0>;
|
||||||
|
big-endian;
|
||||||
|
};
|
||||||
|
|
||||||
|
sai1: sai@2b50000 {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "fsl,vf610-sai";
|
||||||
|
reg = <0x0 0x2b50000 0x0 0x10000>;
|
||||||
|
interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 3>, <&clockgen 4 3>,
|
||||||
|
<&clockgen 4 3>, <&clockgen 4 3>;
|
||||||
|
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
dmas = <&edma0 1 47>,
|
||||||
|
<&edma0 1 46>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
sai2: sai@2b60000 {
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
compatible = "fsl,vf610-sai";
|
||||||
|
reg = <0x0 0x2b60000 0x0 0x10000>;
|
||||||
|
interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 3>, <&clockgen 4 3>,
|
||||||
|
<&clockgen 4 3>, <&clockgen 4 3>;
|
||||||
|
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
dmas = <&edma0 1 45>,
|
||||||
|
<&edma0 1 44>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
edma0: edma@2c00000 {
|
||||||
|
#dma-cells = <2>;
|
||||||
|
compatible = "fsl,vf610-edma";
|
||||||
|
reg = <0x0 0x2c00000 0x0 0x10000>,
|
||||||
|
<0x0 0x2c10000 0x0 0x10000>,
|
||||||
|
<0x0 0x2c20000 0x0 0x10000>;
|
||||||
|
interrupts = <0 103 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<0 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "edma-tx", "edma-err";
|
||||||
|
dma-channels = <32>;
|
||||||
|
big-endian;
|
||||||
|
clock-names = "dmamux0", "dmamux1";
|
||||||
|
clocks = <&clockgen 4 3>,
|
||||||
|
<&clockgen 4 3>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sata: sata@3200000 {
|
||||||
|
compatible = "fsl,ls1012a-ahci", "fsl,ls1043a-ahci";
|
||||||
|
reg = <0x0 0x3200000 0x0 0x10000>;
|
||||||
|
interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clockgen 4 0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@@ -45,6 +45,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/thermal/thermal.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "fsl,ls1046a";
|
compatible = "fsl,ls1046a";
|
||||||
@@ -67,6 +68,7 @@
|
|||||||
clocks = <&clockgen 1 0>;
|
clocks = <&clockgen 1 0>;
|
||||||
next-level-cache = <&l2>;
|
next-level-cache = <&l2>;
|
||||||
cpu-idle-states = <&CPU_PH20>;
|
cpu-idle-states = <&CPU_PH20>;
|
||||||
|
#cooling-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu1: cpu@1 {
|
cpu1: cpu@1 {
|
||||||
@@ -279,6 +281,84 @@
|
|||||||
clocks = <&sysclk>;
|
clocks = <&sysclk>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tmu: tmu@1f00000 {
|
||||||
|
compatible = "fsl,qoriq-tmu";
|
||||||
|
reg = <0x0 0x1f00000 0x0 0x10000>;
|
||||||
|
interrupts = <0 33 0x4>;
|
||||||
|
fsl,tmu-range = <0xb0000 0x9002a 0x6004c 0x30062>;
|
||||||
|
fsl,tmu-calibration =
|
||||||
|
/* Calibration data group 1 */
|
||||||
|
<0x00000000 0x00000026
|
||||||
|
0x00000001 0x0000002d
|
||||||
|
0x00000002 0x00000032
|
||||||
|
0x00000003 0x00000039
|
||||||
|
0x00000004 0x0000003f
|
||||||
|
0x00000005 0x00000046
|
||||||
|
0x00000006 0x0000004d
|
||||||
|
0x00000007 0x00000054
|
||||||
|
0x00000008 0x0000005a
|
||||||
|
0x00000009 0x00000061
|
||||||
|
0x0000000a 0x0000006a
|
||||||
|
0x0000000b 0x00000071
|
||||||
|
/* Calibration data group 2 */
|
||||||
|
0x00010000 0x00000025
|
||||||
|
0x00010001 0x0000002c
|
||||||
|
0x00010002 0x00000035
|
||||||
|
0x00010003 0x0000003d
|
||||||
|
0x00010004 0x00000045
|
||||||
|
0x00010005 0x0000004e
|
||||||
|
0x00010006 0x00000057
|
||||||
|
0x00010007 0x00000061
|
||||||
|
0x00010008 0x0000006b
|
||||||
|
0x00010009 0x00000076
|
||||||
|
/* Calibration data group 3 */
|
||||||
|
0x00020000 0x00000029
|
||||||
|
0x00020001 0x00000033
|
||||||
|
0x00020002 0x0000003d
|
||||||
|
0x00020003 0x00000049
|
||||||
|
0x00020004 0x00000056
|
||||||
|
0x00020005 0x00000061
|
||||||
|
0x00020006 0x0000006d
|
||||||
|
/* Calibration data group 4 */
|
||||||
|
0x00030000 0x00000021
|
||||||
|
0x00030001 0x0000002a
|
||||||
|
0x00030002 0x0000003c
|
||||||
|
0x00030003 0x0000004e>;
|
||||||
|
big-endian;
|
||||||
|
#thermal-sensor-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
thermal-zones {
|
||||||
|
cpu_thermal: cpu-thermal {
|
||||||
|
polling-delay-passive = <1000>;
|
||||||
|
polling-delay = <5000>;
|
||||||
|
thermal-sensors = <&tmu 3>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
cpu_alert: cpu-alert {
|
||||||
|
temperature = <85000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "passive";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu_crit: cpu-crit {
|
||||||
|
temperature = <95000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&cpu_alert>;
|
||||||
|
cooling-device =
|
||||||
|
<&cpu0 THERMAL_NO_LIMIT
|
||||||
|
THERMAL_NO_LIMIT>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
dspi: dspi@2100000 {
|
dspi: dspi@2100000 {
|
||||||
compatible = "fsl,ls1021a-v1.0-dspi";
|
compatible = "fsl,ls1021a-v1.0-dspi";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@@ -102,7 +102,6 @@
|
|||||||
reg = <0x75>;
|
reg = <0x75>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
status = "disabled";
|
|
||||||
i2c@1 {
|
i2c@1 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
dtb-$(CONFIG_ARCH_HISI) += hi3660-hikey960.dtb
|
||||||
dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb
|
dtb-$(CONFIG_ARCH_HISI) += hi6220-hikey.dtb
|
||||||
dtb-$(CONFIG_ARCH_HISI) += hip05-d02.dtb
|
dtb-$(CONFIG_ARCH_HISI) += hip05-d02.dtb
|
||||||
dtb-$(CONFIG_ARCH_HISI) += hip06-d03.dtb
|
dtb-$(CONFIG_ARCH_HISI) += hip06-d03.dtb
|
||||||
|
33
arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
Normal file
33
arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* dts file for Hisilicon HiKey960 Development Board
|
||||||
|
*
|
||||||
|
* Copyright (C) 2016, Hisilicon Ltd.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include "hi3660.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "HiKey960";
|
||||||
|
compatible = "hisilicon,hi3660";
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
serial5 = &uart5; /* console UART */
|
||||||
|
};
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial5:115200n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory@0 {
|
||||||
|
device_type = "memory";
|
||||||
|
/* rewrite this at bootloader */
|
||||||
|
reg = <0x0 0x0 0x0 0x0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart5 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
160
arch/arm64/boot/dts/hisilicon/hi3660.dtsi
Normal file
160
arch/arm64/boot/dts/hisilicon/hi3660.dtsi
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
/*
|
||||||
|
* dts file for Hisilicon Hi3660 SoC
|
||||||
|
*
|
||||||
|
* Copyright (C) 2016, Hisilicon Ltd.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "hisilicon,hi3660";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
|
||||||
|
psci {
|
||||||
|
compatible = "arm,psci-0.2";
|
||||||
|
method = "smc";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpus {
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
cpu-map {
|
||||||
|
cluster0 {
|
||||||
|
core0 {
|
||||||
|
cpu = <&cpu0>;
|
||||||
|
};
|
||||||
|
core1 {
|
||||||
|
cpu = <&cpu1>;
|
||||||
|
};
|
||||||
|
core2 {
|
||||||
|
cpu = <&cpu2>;
|
||||||
|
};
|
||||||
|
core3 {
|
||||||
|
cpu = <&cpu3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cluster1 {
|
||||||
|
core0 {
|
||||||
|
cpu = <&cpu4>;
|
||||||
|
};
|
||||||
|
core1 {
|
||||||
|
cpu = <&cpu5>;
|
||||||
|
};
|
||||||
|
core2 {
|
||||||
|
cpu = <&cpu6>;
|
||||||
|
};
|
||||||
|
core3 {
|
||||||
|
cpu = <&cpu7>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu0: cpu@0 {
|
||||||
|
compatible = "arm,cortex-a53", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x0>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu1: cpu@1 {
|
||||||
|
compatible = "arm,cortex-a53", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x1>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu2: cpu@2 {
|
||||||
|
compatible = "arm,cortex-a53", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x2>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu3: cpu@3 {
|
||||||
|
compatible = "arm,cortex-a53", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x3>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu4: cpu@100 {
|
||||||
|
compatible = "arm,cortex-a73", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x100>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu5: cpu@101 {
|
||||||
|
compatible = "arm,cortex-a73", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x101>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu6: cpu@102 {
|
||||||
|
compatible = "arm,cortex-a73", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x102>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu7: cpu@103 {
|
||||||
|
compatible = "arm,cortex-a73", "arm,armv8";
|
||||||
|
device_type = "cpu";
|
||||||
|
reg = <0x0 0x103>;
|
||||||
|
enable-method = "psci";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gic: interrupt-controller@e82b0000 {
|
||||||
|
compatible = "arm,gic-400";
|
||||||
|
reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
|
||||||
|
<0x0 0xe82b2000 0 0x2000>, /* GICC */
|
||||||
|
<0x0 0xe82b4000 0 0x2000>, /* GICH */
|
||||||
|
<0x0 0xe82b6000 0 0x2000>; /* GICV */
|
||||||
|
#address-cells = <0>;
|
||||||
|
#interrupt-cells = <3>;
|
||||||
|
interrupt-controller;
|
||||||
|
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
|
||||||
|
IRQ_TYPE_LEVEL_HIGH)>;
|
||||||
|
};
|
||||||
|
|
||||||
|
timer {
|
||||||
|
compatible = "arm,armv8-timer";
|
||||||
|
interrupt-parent = <&gic>;
|
||||||
|
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) |
|
||||||
|
IRQ_TYPE_LEVEL_LOW)>,
|
||||||
|
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) |
|
||||||
|
IRQ_TYPE_LEVEL_LOW)>,
|
||||||
|
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) |
|
||||||
|
IRQ_TYPE_LEVEL_LOW)>,
|
||||||
|
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) |
|
||||||
|
IRQ_TYPE_LEVEL_LOW)>;
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
compatible = "simple-bus";
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <2>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
fixed_uart5: fixed_19_2M {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <19200000>;
|
||||||
|
clock-output-names = "fixed:uart5";
|
||||||
|
};
|
||||||
|
|
||||||
|
uart5: uart@fdf05000 {
|
||||||
|
compatible = "arm,pl011", "arm,primecell";
|
||||||
|
reg = <0x0 0xfdf05000 0x0 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&fixed_uart5 &fixed_uart5>;
|
||||||
|
clock-names = "uartclk", "apb_pclk";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
|
|||||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
|
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
|
||||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
|
dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
|
||||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-db.dtb
|
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-db.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-mcbin.dtb
|
||||||
|
|
||||||
always := $(dtb-y)
|
always := $(dtb-y)
|
||||||
subdir-y := $(dts-dirs)
|
subdir-y := $(dts-dirs)
|
||||||
|
@@ -16,17 +16,17 @@
|
|||||||
* published by the Free Software Foundation; either version 2 of the
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
* License, or (at your option) any later version.
|
* License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This file is distributed in the hope that it will be useful
|
* This file is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* Or, alternatively
|
* Or, alternatively,
|
||||||
*
|
*
|
||||||
* b) Permission is hereby granted, free of charge, to any person
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
* obtaining a copy of this software and associated documentation
|
* obtaining a copy of this software and associated documentation
|
||||||
* files (the "Software"), to deal in the Software without
|
* files (the "Software"), to deal in the Software without
|
||||||
* restriction, including without limitation the rights to use
|
* restriction, including without limitation the rights to use,
|
||||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
* sell copies of the Software, and to permit persons to whom the
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
* Software is furnished to do so, subject to the following
|
* Software is furnished to do so, subject to the following
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
* The above copyright notice and this permission notice shall be
|
* The above copyright notice and this permission notice shall be
|
||||||
* included in all copies or substantial portions of the Software.
|
* included in all copies or substantial portions of the Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
@@ -15,17 +15,17 @@
|
|||||||
* published by the Free Software Foundation; either version 2 of the
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
* License, or (at your option) any later version.
|
* License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This file is distributed in the hope that it will be useful
|
* This file is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* Or, alternatively
|
* Or, alternatively,
|
||||||
*
|
*
|
||||||
* b) Permission is hereby granted, free of charge, to any person
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
* obtaining a copy of this software and associated documentation
|
* obtaining a copy of this software and associated documentation
|
||||||
* files (the "Software"), to deal in the Software without
|
* files (the "Software"), to deal in the Software without
|
||||||
* restriction, including without limitation the rights to use
|
* restriction, including without limitation the rights to use,
|
||||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
* sell copies of the Software, and to permit persons to whom the
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
* Software is furnished to do so, subject to the following
|
* Software is furnished to do so, subject to the following
|
||||||
@@ -34,11 +34,11 @@
|
|||||||
* The above copyright notice and this permission notice shall be
|
* The above copyright notice and this permission notice shall be
|
||||||
* included in all copies or substantial portions of the Software.
|
* included in all copies or substantial portions of the Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
@@ -62,11 +62,45 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
/* CON3 */
|
/* CON3 */
|
||||||
&sata {
|
&sata {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
m25p80@0 {
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <108000000>;
|
||||||
|
spi-rx-bus-width = <4>;
|
||||||
|
spi-tx-bus-width = <4>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
partition@0 {
|
||||||
|
label = "bootloader";
|
||||||
|
reg = <0x0 0x200000>;
|
||||||
|
};
|
||||||
|
partition@200000 {
|
||||||
|
label = "U-boot Env";
|
||||||
|
reg = <0x200000 0x10000>;
|
||||||
|
};
|
||||||
|
partition@210000 {
|
||||||
|
label = "Linux";
|
||||||
|
reg = <0x210000 0xDF0000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
/* Exported on the micro USB connector CON32 through an FTDI */
|
/* Exported on the micro USB connector CON32 through an FTDI */
|
||||||
&uart0 {
|
&uart0 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@@ -14,17 +14,17 @@
|
|||||||
* published by the Free Software Foundation; either version 2 of the
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
* License, or (at your option) any later version.
|
* License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This file is distributed in the hope that it will be useful
|
* This file is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* Or, alternatively
|
* Or, alternatively,
|
||||||
*
|
*
|
||||||
* b) Permission is hereby granted, free of charge, to any person
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
* obtaining a copy of this software and associated documentation
|
* obtaining a copy of this software and associated documentation
|
||||||
* files (the "Software"), to deal in the Software without
|
* files (the "Software"), to deal in the Software without
|
||||||
* restriction, including without limitation the rights to use
|
* restriction, including without limitation the rights to use,
|
||||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
* sell copies of the Software, and to permit persons to whom the
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
* Software is furnished to do so, subject to the following
|
* Software is furnished to do so, subject to the following
|
||||||
@@ -33,11 +33,11 @@
|
|||||||
* The above copyright notice and this permission notice shall be
|
* The above copyright notice and this permission notice shall be
|
||||||
* included in all copies or substantial portions of the Software.
|
* included in all copies or substantial portions of the Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
@@ -80,3 +80,69 @@
|
|||||||
&usb3 {
|
&usb3 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&mdio {
|
||||||
|
switch0: switch0@1 {
|
||||||
|
compatible = "marvell,mv88e6085";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <1>;
|
||||||
|
|
||||||
|
dsa,member = <0 0>;
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
label = "cpu";
|
||||||
|
ethernet = <ð0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "wan";
|
||||||
|
phy-handle = <&switch0phy0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "lan0";
|
||||||
|
phy-handle = <&switch0phy1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "lan1";
|
||||||
|
phy-handle = <&switch0phy2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
switch0phy0: switch0phy0@11 {
|
||||||
|
reg = <0x11>;
|
||||||
|
};
|
||||||
|
switch0phy1: switch0phy1@12 {
|
||||||
|
reg = <0x12>;
|
||||||
|
};
|
||||||
|
switch0phy2: switch0phy2@13 {
|
||||||
|
reg = <0x13>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ð0 {
|
||||||
|
phy-mode = "rgmii-id";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
fixed-link {
|
||||||
|
speed = <1000>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
@@ -16,17 +16,17 @@
|
|||||||
* published by the Free Software Foundation; either version 2 of the
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
* License, or (at your option) any later version.
|
* License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This file is distributed in the hope that it will be useful
|
* This file is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* Or, alternatively
|
* Or, alternatively,
|
||||||
*
|
*
|
||||||
* b) Permission is hereby granted, free of charge, to any person
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
* obtaining a copy of this software and associated documentation
|
* obtaining a copy of this software and associated documentation
|
||||||
* files (the "Software"), to deal in the Software without
|
* files (the "Software"), to deal in the Software without
|
||||||
* restriction, including without limitation the rights to use
|
* restriction, including without limitation the rights to use,
|
||||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
* sell copies of the Software, and to permit persons to whom the
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
* Software is furnished to do so, subject to the following
|
* Software is furnished to do so, subject to the following
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
* The above copyright notice and this permission notice shall be
|
* The above copyright notice and this permission notice shall be
|
||||||
* included in all copies or substantial portions of the Software.
|
* included in all copies or substantial portions of the Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
@@ -15,17 +15,17 @@
|
|||||||
* published by the Free Software Foundation; either version 2 of the
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
* License, or (at your option) any later version.
|
* License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This file is distributed in the hope that it will be useful
|
* This file is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* Or, alternatively
|
* Or, alternatively,
|
||||||
*
|
*
|
||||||
* b) Permission is hereby granted, free of charge, to any person
|
* b) Permission is hereby granted, free of charge, to any person
|
||||||
* obtaining a copy of this software and associated documentation
|
* obtaining a copy of this software and associated documentation
|
||||||
* files (the "Software"), to deal in the Software without
|
* files (the "Software"), to deal in the Software without
|
||||||
* restriction, including without limitation the rights to use
|
* restriction, including without limitation the rights to use,
|
||||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
* sell copies of the Software, and to permit persons to whom the
|
* sell copies of the Software, and to permit persons to whom the
|
||||||
* Software is furnished to do so, subject to the following
|
* Software is furnished to do so, subject to the following
|
||||||
@@ -34,11 +34,11 @@
|
|||||||
* The above copyright notice and this permission notice shall be
|
* The above copyright notice and this permission notice shall be
|
||||||
* included in all copies or substantial portions of the Software.
|
* included in all copies or substantial portions of the Software.
|
||||||
*
|
*
|
||||||
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
@@ -98,6 +98,35 @@
|
|||||||
/* 32M internal register @ 0xd000_0000 */
|
/* 32M internal register @ 0xd000_0000 */
|
||||||
ranges = <0x0 0x0 0xd0000000 0x2000000>;
|
ranges = <0x0 0x0 0xd0000000 0x2000000>;
|
||||||
|
|
||||||
|
spi0: spi@10600 {
|
||||||
|
compatible = "marvell,armada-3700-spi";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
reg = <0x10600 0xA00>;
|
||||||
|
clocks = <&nb_periph_clk 7>;
|
||||||
|
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
num-cs = <4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c0: i2c@11000 {
|
||||||
|
compatible = "marvell,armada-3700-i2c";
|
||||||
|
reg = <0x11000 0x24>;
|
||||||
|
clocks = <&nb_periph_clk 10>;
|
||||||
|
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
mrvl,i2c-fast-mode;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c1: i2c@11080 {
|
||||||
|
compatible = "marvell,armada-3700-i2c";
|
||||||
|
reg = <0x11080 0x24>;
|
||||||
|
clocks = <&nb_periph_clk 9>;
|
||||||
|
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
mrvl,i2c-fast-mode;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
uart0: serial@12000 {
|
uart0: serial@12000 {
|
||||||
compatible = "marvell,armada-3700-uart";
|
compatible = "marvell,armada-3700-uart";
|
||||||
reg = <0x12000 0x400>;
|
reg = <0x12000 0x400>;
|
||||||
|
138
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
Normal file
138
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2016 Marvell Technology Group Ltd.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Device Tree file for MACCHIATOBin Armada 8040 community board platform
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "armada-8040.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Marvell 8040 MACHIATOBin";
|
||||||
|
compatible = "marvell,armada8040-mcbin", "marvell,armada8040",
|
||||||
|
"marvell,armada-ap806-quad", "marvell,armada-ap806";
|
||||||
|
|
||||||
|
memory@00000000 {
|
||||||
|
device_type = "memory";
|
||||||
|
reg = <0x0 0x0 0x0 0x80000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Regulator labels correspond with schematics */
|
||||||
|
v_3_3: regulator-3-3v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "v_3_3";
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
v_vddo_h: regulator-1-8v {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "v_vddo_h";
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "v_5v0_usb3_hst_vbus";
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
/* actually GPIO controlled, but 8k has no GPIO support yet */
|
||||||
|
regulator-always-on;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
usb3h0_phy: usb3_phy0 {
|
||||||
|
compatible = "usb-nop-xceiv";
|
||||||
|
vcc-supply = <&v_5v0_usb3_hst_vbus>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpm_i2c0 {
|
||||||
|
clock-frequency = <100000>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpm_sata0 {
|
||||||
|
/* CPM Lane 0 - U29 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpm_usb3_0 {
|
||||||
|
/* J38? - USB2.0 only */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpm_usb3_1 {
|
||||||
|
/* J38? - USB2.0 only */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cps_sata0 {
|
||||||
|
/* CPS Lane 1 - U32 */
|
||||||
|
/* CPS Lane 3 - U31 */
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cps_spi1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
spi-flash@0 {
|
||||||
|
compatible = "st,w25q32";
|
||||||
|
spi-max-frequency = <50000000>;
|
||||||
|
reg = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&cps_usb3_0 {
|
||||||
|
/* CPS Lane 2 - CON7 */
|
||||||
|
usb-phy = <&usb3h0_phy>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
@@ -74,13 +74,14 @@
|
|||||||
"cpm-gop-dp", "none", "cpm-pcie_x10",
|
"cpm-gop-dp", "none", "cpm-pcie_x10",
|
||||||
"cpm-pcie_x11", "cpm-pcie_x4", "cpm-pcie-xor",
|
"cpm-pcie_x11", "cpm-pcie_x4", "cpm-pcie-xor",
|
||||||
"cpm-sata", "cpm-sata-usb", "cpm-main",
|
"cpm-sata", "cpm-sata-usb", "cpm-main",
|
||||||
"cpm-sd-mmc", "none", "none",
|
"cpm-sd-mmc-gop", "none", "none",
|
||||||
"cpm-slow-io", "cpm-usb3h0", "cpm-usb3h1",
|
"cpm-slow-io", "cpm-usb3h0", "cpm-usb3h1",
|
||||||
"cpm-usb3dev", "cpm-eip150", "cpm-eip197";
|
"cpm-usb3dev", "cpm-eip150", "cpm-eip197";
|
||||||
};
|
};
|
||||||
|
|
||||||
cpm_sata0: sata@540000 {
|
cpm_sata0: sata@540000 {
|
||||||
compatible = "marvell,armada-8k-ahci";
|
compatible = "marvell,armada-8k-ahci",
|
||||||
|
"generic-ahci";
|
||||||
reg = <0x540000 0x30000>;
|
reg = <0x540000 0x30000>;
|
||||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpm_syscon0 1 15>;
|
clocks = <&cpm_syscon0 1 15>;
|
||||||
|
@@ -74,13 +74,14 @@
|
|||||||
"cps-gop-dp", "none", "cps-pcie_x10",
|
"cps-gop-dp", "none", "cps-pcie_x10",
|
||||||
"cps-pcie_x11", "cps-pcie_x4", "cps-pcie-xor",
|
"cps-pcie_x11", "cps-pcie_x4", "cps-pcie-xor",
|
||||||
"cps-sata", "cps-sata-usb", "cps-main",
|
"cps-sata", "cps-sata-usb", "cps-main",
|
||||||
"cps-sd-mmc", "none", "none",
|
"cps-sd-mmc-gop", "none", "none",
|
||||||
"cps-slow-io", "cps-usb3h0", "cps-usb3h1",
|
"cps-slow-io", "cps-usb3h0", "cps-usb3h1",
|
||||||
"cps-usb3dev", "cps-eip150", "cps-eip197";
|
"cps-usb3dev", "cps-eip150", "cps-eip197";
|
||||||
};
|
};
|
||||||
|
|
||||||
cps_sata0: sata@540000 {
|
cps_sata0: sata@540000 {
|
||||||
compatible = "marvell,armada-8k-ahci";
|
compatible = "marvell,armada-8k-ahci",
|
||||||
|
"generic-ahci";
|
||||||
reg = <0x540000 0x30000>;
|
reg = <0x540000 0x30000>;
|
||||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cps_syscon0 1 15>;
|
clocks = <&cps_syscon0 1 15>;
|
||||||
|
@@ -182,12 +182,12 @@
|
|||||||
map@0 {
|
map@0 {
|
||||||
trip = <&target>;
|
trip = <&target>;
|
||||||
cooling-device = <&cpu0 0 0>;
|
cooling-device = <&cpu0 0 0>;
|
||||||
contribution = <1024>;
|
contribution = <3072>;
|
||||||
};
|
};
|
||||||
map@1 {
|
map@1 {
|
||||||
trip = <&target>;
|
trip = <&target>;
|
||||||
cooling-device = <&cpu2 0 0>;
|
cooling-device = <&cpu2 0 0>;
|
||||||
contribution = <2048>;
|
contribution = <1024>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -401,6 +401,11 @@
|
|||||||
efuse: efuse@10206000 {
|
efuse: efuse@10206000 {
|
||||||
compatible = "mediatek,mt8173-efuse";
|
compatible = "mediatek,mt8173-efuse";
|
||||||
reg = <0 0x10206000 0 0x1000>;
|
reg = <0 0x10206000 0 0x1000>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
thermal_calibration: calib@528 {
|
||||||
|
reg = <0x528 0xc>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
apmixedsys: clock-controller@10209000 {
|
apmixedsys: clock-controller@10209000 {
|
||||||
@@ -574,6 +579,8 @@
|
|||||||
resets = <&pericfg MT8173_PERI_THERM_SW_RST>;
|
resets = <&pericfg MT8173_PERI_THERM_SW_RST>;
|
||||||
mediatek,auxadc = <&auxadc>;
|
mediatek,auxadc = <&auxadc>;
|
||||||
mediatek,apmixedsys = <&apmixedsys>;
|
mediatek,apmixedsys = <&apmixedsys>;
|
||||||
|
nvmem-cells = <&thermal_calibration>;
|
||||||
|
nvmem-cell-names = "calibration-data";
|
||||||
};
|
};
|
||||||
|
|
||||||
nor_flash: spi@1100d000 {
|
nor_flash: spi@1100d000 {
|
||||||
@@ -780,6 +787,8 @@
|
|||||||
compatible = "mediatek,mt8173-mmsys", "syscon";
|
compatible = "mediatek,mt8173-mmsys", "syscon";
|
||||||
reg = <0 0x14000000 0 0x1000>;
|
reg = <0 0x14000000 0 0x1000>;
|
||||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
|
power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
|
||||||
|
assigned-clocks = <&topckgen CLK_TOP_MM_SEL>;
|
||||||
|
assigned-clock-rates = <400000000>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
|
#include <dt-bindings/clock/tegra186-clock.h>
|
||||||
#include <dt-bindings/gpio/tegra186-gpio.h>
|
#include <dt-bindings/gpio/tegra186-gpio.h>
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/mailbox/tegra186-hsp.h>
|
||||||
|
#include <dt-bindings/reset/tegra186-reset.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "nvidia,tegra186";
|
compatible = "nvidia,tegra186";
|
||||||
@@ -29,9 +32,9 @@
|
|||||||
reg = <0x0 0x03100000 0x0 0x40>;
|
reg = <0x0 0x03100000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 55>;
|
clocks = <&bpmp TEGRA186_CLK_UARTA>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 47>;
|
resets = <&bpmp TEGRA186_RESET_UARTA>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -41,9 +44,9 @@
|
|||||||
reg = <0x0 0x03110000 0x0 0x40>;
|
reg = <0x0 0x03110000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 56>;
|
clocks = <&bpmp TEGRA186_CLK_UARTB>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 48>;
|
resets = <&bpmp TEGRA186_RESET_UARTB>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -53,9 +56,9 @@
|
|||||||
reg = <0x0 0x03130000 0x0 0x40>;
|
reg = <0x0 0x03130000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 77>;
|
clocks = <&bpmp TEGRA186_CLK_UARTD>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 50>;
|
resets = <&bpmp TEGRA186_RESET_UARTD>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -65,9 +68,9 @@
|
|||||||
reg = <0x0 0x03140000 0x0 0x40>;
|
reg = <0x0 0x03140000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 194>;
|
clocks = <&bpmp TEGRA186_CLK_UARTE>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 132>;
|
resets = <&bpmp TEGRA186_RESET_UARTE>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -77,9 +80,9 @@
|
|||||||
reg = <0x0 0x03150000 0x0 0x40>;
|
reg = <0x0 0x03150000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 195>;
|
clocks = <&bpmp TEGRA186_CLK_UARTF>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 111>;
|
resets = <&bpmp TEGRA186_RESET_UARTF>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -90,9 +93,9 @@
|
|||||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 47>;
|
clocks = <&bpmp TEGRA186_CLK_I2C1>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 19>;
|
resets = <&bpmp TEGRA186_RESET_I2C1>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -103,9 +106,9 @@
|
|||||||
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 75>;
|
clocks = <&bpmp TEGRA186_CLK_I2C3>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 21>;
|
resets = <&bpmp TEGRA186_RESET_I2C3>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -117,9 +120,9 @@
|
|||||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 86>;
|
clocks = <&bpmp TEGRA186_CLK_I2C4>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 22>;
|
resets = <&bpmp TEGRA186_RESET_I2C4>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -131,9 +134,9 @@
|
|||||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 48>;
|
clocks = <&bpmp TEGRA186_CLK_I2C5>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 23>;
|
resets = <&bpmp TEGRA186_RESET_I2C5>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -145,9 +148,9 @@
|
|||||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 125>;
|
clocks = <&bpmp TEGRA186_CLK_I2C6>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 24>;
|
resets = <&bpmp TEGRA186_RESET_I2C6>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -158,9 +161,9 @@
|
|||||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 182>;
|
clocks = <&bpmp TEGRA186_CLK_I2C7>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 81>;
|
resets = <&bpmp TEGRA186_RESET_I2C7>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -171,9 +174,9 @@
|
|||||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 183>;
|
clocks = <&bpmp TEGRA186_CLK_I2C9>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 83>;
|
resets = <&bpmp TEGRA186_RESET_I2C9>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -182,9 +185,9 @@
|
|||||||
compatible = "nvidia,tegra186-sdhci";
|
compatible = "nvidia,tegra186-sdhci";
|
||||||
reg = <0x0 0x03400000 0x0 0x10000>;
|
reg = <0x0 0x03400000 0x0 0x10000>;
|
||||||
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 52>;
|
clocks = <&bpmp TEGRA186_CLK_SDMMC1>;
|
||||||
clock-names = "sdhci";
|
clock-names = "sdhci";
|
||||||
resets = <&bpmp 33>;
|
resets = <&bpmp TEGRA186_RESET_SDMMC1>;
|
||||||
reset-names = "sdhci";
|
reset-names = "sdhci";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -193,9 +196,9 @@
|
|||||||
compatible = "nvidia,tegra186-sdhci";
|
compatible = "nvidia,tegra186-sdhci";
|
||||||
reg = <0x0 0x03420000 0x0 0x10000>;
|
reg = <0x0 0x03420000 0x0 0x10000>;
|
||||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 53>;
|
clocks = <&bpmp TEGRA186_CLK_SDMMC2>;
|
||||||
clock-names = "sdhci";
|
clock-names = "sdhci";
|
||||||
resets = <&bpmp 34>;
|
resets = <&bpmp TEGRA186_RESET_SDMMC2>;
|
||||||
reset-names = "sdhci";
|
reset-names = "sdhci";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -204,9 +207,9 @@
|
|||||||
compatible = "nvidia,tegra186-sdhci";
|
compatible = "nvidia,tegra186-sdhci";
|
||||||
reg = <0x0 0x03440000 0x0 0x10000>;
|
reg = <0x0 0x03440000 0x0 0x10000>;
|
||||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 76>;
|
clocks = <&bpmp TEGRA186_CLK_SDMMC3>;
|
||||||
clock-names = "sdhci";
|
clock-names = "sdhci";
|
||||||
resets = <&bpmp 35>;
|
resets = <&bpmp TEGRA186_RESET_SDMMC3>;
|
||||||
reset-names = "sdhci";
|
reset-names = "sdhci";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -215,9 +218,9 @@
|
|||||||
compatible = "nvidia,tegra186-sdhci";
|
compatible = "nvidia,tegra186-sdhci";
|
||||||
reg = <0x0 0x03460000 0x0 0x10000>;
|
reg = <0x0 0x03460000 0x0 0x10000>;
|
||||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 54>;
|
clocks = <&bpmp TEGRA186_CLK_SDMMC4>;
|
||||||
clock-names = "sdhci";
|
clock-names = "sdhci";
|
||||||
resets = <&bpmp 36>;
|
resets = <&bpmp TEGRA186_RESET_SDMMC4>;
|
||||||
reset-names = "sdhci";
|
reset-names = "sdhci";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -248,9 +251,9 @@
|
|||||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 218>;
|
clocks = <&bpmp TEGRA186_CLK_I2C2>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 20>;
|
resets = <&bpmp TEGRA186_RESET_I2C2>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -261,9 +264,9 @@
|
|||||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
clocks = <&bpmp 219>;
|
clocks = <&bpmp TEGRA186_CLK_I2C8>;
|
||||||
clock-names = "div-clk";
|
clock-names = "div-clk";
|
||||||
resets = <&bpmp 82>;
|
resets = <&bpmp TEGRA186_RESET_I2C8>;
|
||||||
reset-names = "i2c";
|
reset-names = "i2c";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -273,9 +276,9 @@
|
|||||||
reg = <0x0 0x0c280000 0x0 0x40>;
|
reg = <0x0 0x0c280000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 215>;
|
clocks = <&bpmp TEGRA186_CLK_UARTC>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 49>;
|
resets = <&bpmp TEGRA186_RESET_UARTC>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -285,9 +288,9 @@
|
|||||||
reg = <0x0 0x0c290000 0x0 0x40>;
|
reg = <0x0 0x0c290000 0x0 0x40>;
|
||||||
reg-shift = <2>;
|
reg-shift = <2>;
|
||||||
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&bpmp 216>;
|
clocks = <&bpmp TEGRA186_CLK_UARTG>;
|
||||||
clock-names = "serial";
|
clock-names = "serial";
|
||||||
resets = <&bpmp 112>;
|
resets = <&bpmp TEGRA186_RESET_UARTG>;
|
||||||
reset-names = "serial";
|
reset-names = "serial";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
@@ -369,7 +372,8 @@
|
|||||||
|
|
||||||
bpmp: bpmp {
|
bpmp: bpmp {
|
||||||
compatible = "nvidia,tegra186-bpmp";
|
compatible = "nvidia,tegra186-bpmp";
|
||||||
mboxes = <&hsp_top0 0 19>;
|
mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
|
||||||
|
TEGRA_HSP_DB_MASTER_BPMP>;
|
||||||
shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
|
shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
||||||
|
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
|
||||||
|
|
||||||
&pm8916_gpios {
|
&pm8916_gpios {
|
||||||
|
|
||||||
@@ -30,6 +31,18 @@
|
|||||||
|
|
||||||
&pm8916_mpps {
|
&pm8916_mpps {
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&ls_exp_gpio_f>;
|
||||||
|
|
||||||
|
ls_exp_gpio_f: pm8916_mpp4 {
|
||||||
|
pinconf {
|
||||||
|
pins = "mpp4";
|
||||||
|
function = "digital";
|
||||||
|
output-low;
|
||||||
|
power-source = <PM8916_MPP_L5>; // 1.8V
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
pm8916_mpps_leds: pm8916_mpps_leds {
|
pm8916_mpps_leds: pm8916_mpps_leds {
|
||||||
pinconf {
|
pinconf {
|
||||||
pins = "mpp2", "mpp3";
|
pins = "mpp2", "mpp3";
|
||||||
|
@@ -72,4 +72,17 @@
|
|||||||
bias-disable;
|
bias-disable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
msm_key_volp_n_default: msm_key_volp_n_default {
|
||||||
|
pinmux {
|
||||||
|
function = "gpio";
|
||||||
|
pins = "gpio107";
|
||||||
|
};
|
||||||
|
pinconf {
|
||||||
|
pins = "gpio107";
|
||||||
|
drive-strength = <8>;
|
||||||
|
input-enable;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -15,6 +15,8 @@
|
|||||||
#include "pm8916.dtsi"
|
#include "pm8916.dtsi"
|
||||||
#include "apq8016-sbc-soc-pins.dtsi"
|
#include "apq8016-sbc-soc-pins.dtsi"
|
||||||
#include "apq8016-sbc-pmic-pins.dtsi"
|
#include "apq8016-sbc-pmic-pins.dtsi"
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
#include <dt-bindings/sound/apq8016-lpass.h>
|
#include <dt-bindings/sound/apq8016-lpass.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
@@ -85,6 +87,7 @@
|
|||||||
pinctrl-names = "default","sleep";
|
pinctrl-names = "default","sleep";
|
||||||
pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
|
pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
|
||||||
pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
|
pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
|
||||||
|
#sound-dai-cells = <1>;
|
||||||
|
|
||||||
ports {
|
ports {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
@@ -285,6 +288,15 @@
|
|||||||
qcom,audio-routing =
|
qcom,audio-routing =
|
||||||
"AMIC2", "MIC BIAS Internal2",
|
"AMIC2", "MIC BIAS Internal2",
|
||||||
"AMIC3", "MIC BIAS External1";
|
"AMIC3", "MIC BIAS External1";
|
||||||
|
external-dai-link@0 {
|
||||||
|
link-name = "ADV7533";
|
||||||
|
cpu { /* QUAT */
|
||||||
|
sound-dai = <&lpass MI2S_QUATERNARY>;
|
||||||
|
};
|
||||||
|
codec {
|
||||||
|
sound-dai = <&adv_bridge 0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
|
internal-codec-playback-dai-link@0 { /* I2S - Internal codec */
|
||||||
link-name = "WCD";
|
link-name = "WCD";
|
||||||
@@ -306,6 +318,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wcnss@a21b000 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
usb2513 {
|
usb2513 {
|
||||||
@@ -331,6 +347,22 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
autorepeat;
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&msm_key_volp_n_default>;
|
||||||
|
|
||||||
|
button@0 {
|
||||||
|
label = "Volume Up";
|
||||||
|
linux,code = <KEY_VOLUMEUP>;
|
||||||
|
gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&wcd_codec {
|
&wcd_codec {
|
||||||
|
@@ -5,11 +5,23 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&ls_exp_gpio_f>;
|
pinctrl-0 = <&ls_exp_gpio_f>;
|
||||||
|
|
||||||
ls_exp_gpio_f: pm8916_mpp4 {
|
ls_exp_gpio_f: pm8994_gpio5 {
|
||||||
pinconf {
|
pinconf {
|
||||||
pins = "gpio5";
|
pins = "gpio5";
|
||||||
output-low;
|
output-low;
|
||||||
power-source = <2>; // PM8994_GPIO_S4, 1.8V
|
power-source = <2>; // PM8994_GPIO_S4, 1.8V
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
volume_up_gpio: pm8996_gpio2 {
|
||||||
|
pinconf {
|
||||||
|
pins = "gpio2";
|
||||||
|
function = "normal";
|
||||||
|
input-enable;
|
||||||
|
drive-push-pull;
|
||||||
|
bias-pull-up;
|
||||||
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
|
||||||
|
power-source = <PM8994_GPIO_S4>; // 1.8V
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -15,6 +15,8 @@
|
|||||||
#include "pm8994.dtsi"
|
#include "pm8994.dtsi"
|
||||||
#include "apq8096-db820c-pins.dtsi"
|
#include "apq8096-db820c-pins.dtsi"
|
||||||
#include "apq8096-db820c-pmic-pins.dtsi"
|
#include "apq8096-db820c-pmic-pins.dtsi"
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
aliases {
|
aliases {
|
||||||
@@ -87,4 +89,21 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
autorepeat;
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&volume_up_gpio>;
|
||||||
|
|
||||||
|
button@0 {
|
||||||
|
label = "Volume Up";
|
||||||
|
linux,code = <KEY_VOLUMEUP>;
|
||||||
|
gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -720,4 +720,17 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wcnss_pin_a: wcnss-active {
|
||||||
|
pinmux {
|
||||||
|
pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
|
||||||
|
function = "wcss_wlan";
|
||||||
|
};
|
||||||
|
|
||||||
|
pinconf {
|
||||||
|
pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
|
||||||
|
drive-strength = <6>;
|
||||||
|
bias-pull-up;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
|
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
|
||||||
#include <dt-bindings/reset/qcom,gcc-msm8916.h>
|
#include <dt-bindings/reset/qcom,gcc-msm8916.h>
|
||||||
|
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
model = "Qualcomm Technologies, Inc. MSM8916";
|
model = "Qualcomm Technologies, Inc. MSM8916";
|
||||||
@@ -82,7 +83,7 @@
|
|||||||
no-map;
|
no-map;
|
||||||
};
|
};
|
||||||
|
|
||||||
wcnss@89300000 {
|
wcnss_mem: wcnss@89300000 {
|
||||||
reg = <0x0 0x89300000 0x0 0x600000>;
|
reg = <0x0 0x89300000 0x0 0x600000>;
|
||||||
no-map;
|
no-map;
|
||||||
};
|
};
|
||||||
@@ -856,6 +857,316 @@
|
|||||||
memory-region = <&mpss_mem>;
|
memory-region = <&mpss_mem>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pronto: wcnss@a21b000 {
|
||||||
|
compatible = "qcom,pronto-v2-pil", "qcom,pronto";
|
||||||
|
reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
|
||||||
|
reg-names = "ccu", "dxe", "pmu";
|
||||||
|
|
||||||
|
memory-region = <&wcnss_mem>;
|
||||||
|
|
||||||
|
interrupts-extended = <&intc 0 149 IRQ_TYPE_EDGE_RISING>,
|
||||||
|
<&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||||
|
<&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
|
||||||
|
<&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
|
||||||
|
<&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
|
||||||
|
|
||||||
|
vddmx-supply = <&pm8916_l3>;
|
||||||
|
vddpx-supply = <&pm8916_l7>;
|
||||||
|
|
||||||
|
qcom,state = <&wcnss_smp2p_out 0>;
|
||||||
|
qcom,state-names = "stop";
|
||||||
|
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&wcnss_pin_a>;
|
||||||
|
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
iris {
|
||||||
|
compatible = "qcom,wcn3620";
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_SMD_RF_CLK2>;
|
||||||
|
clock-names = "xo";
|
||||||
|
|
||||||
|
vddxo-supply = <&pm8916_l7>;
|
||||||
|
vddrfa-supply = <&pm8916_s3>;
|
||||||
|
vddpa-supply = <&pm8916_l9>;
|
||||||
|
vdddig-supply = <&pm8916_l5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
smd-edge {
|
||||||
|
interrupts = <0 142 1>;
|
||||||
|
|
||||||
|
qcom,ipc = <&apcs 8 17>;
|
||||||
|
qcom,smd-edge = <6>;
|
||||||
|
qcom,remote-pid = <4>;
|
||||||
|
|
||||||
|
label = "pronto";
|
||||||
|
|
||||||
|
wcnss {
|
||||||
|
compatible = "qcom,wcnss";
|
||||||
|
qcom,smd-channels = "WCNSS_CTRL";
|
||||||
|
|
||||||
|
qcom,mmio = <&pronto>;
|
||||||
|
|
||||||
|
bt {
|
||||||
|
compatible = "qcom,wcnss-bt";
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi {
|
||||||
|
compatible = "qcom,wcnss-wlan";
|
||||||
|
|
||||||
|
interrupts = <0 145 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<0 146 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "tx", "rx";
|
||||||
|
|
||||||
|
qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
|
||||||
|
qcom,smem-state-names = "tx-enable", "tx-rings-empty";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
tpiu@820000 {
|
||||||
|
compatible = "arm,coresight-tpiu", "arm,primecell";
|
||||||
|
reg = <0x820000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
port {
|
||||||
|
tpiu_in: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&replicator_out1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
funnel@821000 {
|
||||||
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
|
reg = <0x821000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Not described input ports:
|
||||||
|
* 0 - connected to Resource and Power Manger CPU ETM
|
||||||
|
* 1 - not-connected
|
||||||
|
* 2 - connected to Modem CPU ETM
|
||||||
|
* 3 - not-connected
|
||||||
|
* 5 - not-connected
|
||||||
|
* 6 - connected trought funnel to Wireless CPU ETM
|
||||||
|
* 7 - connected to STM component
|
||||||
|
*/
|
||||||
|
|
||||||
|
port@4 {
|
||||||
|
reg = <4>;
|
||||||
|
funnel0_in4: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&funnel1_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@8 {
|
||||||
|
reg = <0>;
|
||||||
|
funnel0_out: endpoint {
|
||||||
|
remote-endpoint = <&etf_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
replicator@824000 {
|
||||||
|
compatible = "qcom,coresight-replicator1x", "arm,primecell";
|
||||||
|
reg = <0x824000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
replicator_out0: endpoint {
|
||||||
|
remote-endpoint = <&etr_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
replicator_out1: endpoint {
|
||||||
|
remote-endpoint = <&tpiu_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@2 {
|
||||||
|
reg = <0>;
|
||||||
|
replicator_in: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etf_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etf@825000 {
|
||||||
|
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||||
|
reg = <0x825000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
etf_out: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&funnel0_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@1 {
|
||||||
|
reg = <0>;
|
||||||
|
etf_in: endpoint {
|
||||||
|
remote-endpoint = <&replicator_in>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etr@826000 {
|
||||||
|
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||||
|
reg = <0x826000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
port {
|
||||||
|
etr_in: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&replicator_out0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
funnel@841000 { /* APSS funnel only 4 inputs are used */
|
||||||
|
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||||
|
reg = <0x841000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
funnel1_in0: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etm0_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
funnel1_in1: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etm1_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
funnel1_in2: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etm2_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
funnel1_in3: endpoint {
|
||||||
|
slave-mode;
|
||||||
|
remote-endpoint = <&etm3_out>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
port@4 {
|
||||||
|
reg = <0>;
|
||||||
|
funnel1_out: endpoint {
|
||||||
|
remote-endpoint = <&funnel0_in4>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etm@85c000 {
|
||||||
|
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||||
|
reg = <0x85c000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
cpu = <&CPU0>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
etm0_out: endpoint {
|
||||||
|
remote-endpoint = <&funnel1_in0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etm@85d000 {
|
||||||
|
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||||
|
reg = <0x85d000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
cpu = <&CPU1>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
etm1_out: endpoint {
|
||||||
|
remote-endpoint = <&funnel1_in1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etm@85e000 {
|
||||||
|
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||||
|
reg = <0x85e000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
cpu = <&CPU2>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
etm2_out: endpoint {
|
||||||
|
remote-endpoint = <&funnel1_in2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
etm@85f000 {
|
||||||
|
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||||
|
reg = <0x85f000 0x1000>;
|
||||||
|
|
||||||
|
clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
|
||||||
|
clock-names = "apb_pclk", "atclk";
|
||||||
|
|
||||||
|
cpu = <&CPU3>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
etm3_out: endpoint {
|
||||||
|
remote-endpoint = <&funnel1_in3>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
smd {
|
smd {
|
||||||
@@ -871,7 +1182,7 @@
|
|||||||
qcom,smd-channels = "rpm_requests";
|
qcom,smd-channels = "rpm_requests";
|
||||||
|
|
||||||
rpmcc: qcom,rpmcc {
|
rpmcc: qcom,rpmcc {
|
||||||
compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
|
compatible = "qcom,rpmcc-msm8916";
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -258,6 +258,12 @@
|
|||||||
method = "smc";
|
method = "smc";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
firmware {
|
||||||
|
scm {
|
||||||
|
compatible = "qcom,scm-msm8996";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
tcsr_mutex: hwlock {
|
tcsr_mutex: hwlock {
|
||||||
compatible = "qcom,tcsr-mutex";
|
compatible = "qcom,tcsr-mutex";
|
||||||
syscon = <&tcsr_mutex_regs 0 0x1000>;
|
syscon = <&tcsr_mutex_regs 0 0x1000>;
|
||||||
|
@@ -277,6 +277,8 @@
|
|||||||
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
||||||
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
||||||
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
||||||
<&audio_clk_a>, <&cs2000>,
|
<&audio_clk_a>, <&cs2000>,
|
||||||
<&audio_clk_c>,
|
<&audio_clk_c>,
|
||||||
|
@@ -412,6 +412,8 @@
|
|||||||
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
||||||
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
||||||
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
||||||
<&audio_clk_a>, <&cs2000>,
|
<&audio_clk_a>, <&cs2000>,
|
||||||
<&audio_clk_c>,
|
<&audio_clk_c>,
|
||||||
|
@@ -166,6 +166,9 @@
|
|||||||
<0x0 0xf1060000 0 0x20000>;
|
<0x0 0xf1060000 0 0x20000>;
|
||||||
interrupts = <GIC_PPI 9
|
interrupts = <GIC_PPI 9
|
||||||
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||||
|
clocks = <&cpg CPG_MOD 408>;
|
||||||
|
clock-names = "clk";
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
};
|
};
|
||||||
|
|
||||||
wdt0: watchdog@e6020000 {
|
wdt0: watchdog@e6020000 {
|
||||||
@@ -337,72 +340,6 @@
|
|||||||
#power-domain-cells = <1>;
|
#power-domain-cells = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
audma0: dma-controller@ec700000 {
|
|
||||||
compatible = "renesas,dmac-r8a7795",
|
|
||||||
"renesas,rcar-dmac";
|
|
||||||
reg = <0 0xec700000 0 0x10000>;
|
|
||||||
interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
interrupt-names = "error",
|
|
||||||
"ch0", "ch1", "ch2", "ch3",
|
|
||||||
"ch4", "ch5", "ch6", "ch7",
|
|
||||||
"ch8", "ch9", "ch10", "ch11",
|
|
||||||
"ch12", "ch13", "ch14", "ch15";
|
|
||||||
clocks = <&cpg CPG_MOD 502>;
|
|
||||||
clock-names = "fck";
|
|
||||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
|
||||||
#dma-cells = <1>;
|
|
||||||
dma-channels = <16>;
|
|
||||||
};
|
|
||||||
|
|
||||||
audma1: dma-controller@ec720000 {
|
|
||||||
compatible = "renesas,dmac-r8a7795",
|
|
||||||
"renesas,rcar-dmac";
|
|
||||||
reg = <0 0xec720000 0 0x10000>;
|
|
||||||
interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH
|
|
||||||
GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
interrupt-names = "error",
|
|
||||||
"ch0", "ch1", "ch2", "ch3",
|
|
||||||
"ch4", "ch5", "ch6", "ch7",
|
|
||||||
"ch8", "ch9", "ch10", "ch11",
|
|
||||||
"ch12", "ch13", "ch14", "ch15";
|
|
||||||
clocks = <&cpg CPG_MOD 501>;
|
|
||||||
clock-names = "fck";
|
|
||||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
|
||||||
#dma-cells = <1>;
|
|
||||||
dma-channels = <16>;
|
|
||||||
};
|
|
||||||
|
|
||||||
pfc: pfc@e6060000 {
|
pfc: pfc@e6060000 {
|
||||||
compatible = "renesas,pfc-r8a7795";
|
compatible = "renesas,pfc-r8a7795";
|
||||||
reg = <0 0xe6060000 0 0x50c>;
|
reg = <0 0xe6060000 0 0x50c>;
|
||||||
@@ -522,6 +459,72 @@
|
|||||||
dma-channels = <16>;
|
dma-channels = <16>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
audma0: dma-controller@ec700000 {
|
||||||
|
compatible = "renesas,dmac-r8a7795",
|
||||||
|
"renesas,rcar-dmac";
|
||||||
|
reg = <0 0xec700000 0 0x10000>;
|
||||||
|
interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "error",
|
||||||
|
"ch0", "ch1", "ch2", "ch3",
|
||||||
|
"ch4", "ch5", "ch6", "ch7",
|
||||||
|
"ch8", "ch9", "ch10", "ch11",
|
||||||
|
"ch12", "ch13", "ch14", "ch15";
|
||||||
|
clocks = <&cpg CPG_MOD 502>;
|
||||||
|
clock-names = "fck";
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
dma-channels = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
|
audma1: dma-controller@ec720000 {
|
||||||
|
compatible = "renesas,dmac-r8a7795",
|
||||||
|
"renesas,rcar-dmac";
|
||||||
|
reg = <0 0xec720000 0 0x10000>;
|
||||||
|
interrupts = <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH
|
||||||
|
GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "error",
|
||||||
|
"ch0", "ch1", "ch2", "ch3",
|
||||||
|
"ch4", "ch5", "ch6", "ch7",
|
||||||
|
"ch8", "ch9", "ch10", "ch11",
|
||||||
|
"ch12", "ch13", "ch14", "ch15";
|
||||||
|
clocks = <&cpg CPG_MOD 501>;
|
||||||
|
clock-names = "fck";
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
dma-channels = <16>;
|
||||||
|
};
|
||||||
|
|
||||||
avb: ethernet@e6800000 {
|
avb: ethernet@e6800000 {
|
||||||
compatible = "renesas,etheravb-r8a7795",
|
compatible = "renesas,etheravb-r8a7795",
|
||||||
"renesas,etheravb-rcar-gen3";
|
"renesas,etheravb-rcar-gen3";
|
||||||
@@ -563,6 +566,7 @@
|
|||||||
phy-mode = "rgmii-id";
|
phy-mode = "rgmii-id";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
can0: can@e6c30000 {
|
can0: can@e6c30000 {
|
||||||
@@ -792,7 +796,8 @@
|
|||||||
i2c0: i2c@e6500000 {
|
i2c0: i2c@e6500000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe6500000 0 0x40>;
|
reg = <0 0xe6500000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 931>;
|
clocks = <&cpg CPG_MOD 931>;
|
||||||
@@ -806,7 +811,8 @@
|
|||||||
i2c1: i2c@e6508000 {
|
i2c1: i2c@e6508000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe6508000 0 0x40>;
|
reg = <0 0xe6508000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 930>;
|
clocks = <&cpg CPG_MOD 930>;
|
||||||
@@ -820,7 +826,8 @@
|
|||||||
i2c2: i2c@e6510000 {
|
i2c2: i2c@e6510000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe6510000 0 0x40>;
|
reg = <0 0xe6510000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 929>;
|
clocks = <&cpg CPG_MOD 929>;
|
||||||
@@ -834,7 +841,8 @@
|
|||||||
i2c3: i2c@e66d0000 {
|
i2c3: i2c@e66d0000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66d0000 0 0x40>;
|
reg = <0 0xe66d0000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 928>;
|
clocks = <&cpg CPG_MOD 928>;
|
||||||
@@ -848,7 +856,8 @@
|
|||||||
i2c4: i2c@e66d8000 {
|
i2c4: i2c@e66d8000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66d8000 0 0x40>;
|
reg = <0 0xe66d8000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 927>;
|
clocks = <&cpg CPG_MOD 927>;
|
||||||
@@ -862,7 +871,8 @@
|
|||||||
i2c5: i2c@e66e0000 {
|
i2c5: i2c@e66e0000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66e0000 0 0x40>;
|
reg = <0 0xe66e0000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 919>;
|
clocks = <&cpg CPG_MOD 919>;
|
||||||
@@ -876,7 +886,8 @@
|
|||||||
i2c6: i2c@e66e8000 {
|
i2c6: i2c@e66e8000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7795";
|
compatible = "renesas,i2c-r8a7795",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66e8000 0 0x40>;
|
reg = <0 0xe66e8000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 918>;
|
clocks = <&cpg CPG_MOD 918>;
|
||||||
@@ -887,6 +898,69 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pwm0: pwm@e6e30000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e30000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm1: pwm@e6e31000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e31000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm2: pwm@e6e32000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e32000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm3: pwm@e6e33000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e33000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm4: pwm@e6e34000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e34000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm5: pwm@e6e35000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e35000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm6: pwm@e6e36000 {
|
||||||
|
compatible = "renesas,pwm-r8a7795", "renesas,pwm-rcar";
|
||||||
|
reg = <0 0xe6e36000 0 0x8>;
|
||||||
|
clocks = <&cpg CPG_MOD 523>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#pwm-cells = <2>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
rcar_sound: sound@ec500000 {
|
rcar_sound: sound@ec500000 {
|
||||||
/*
|
/*
|
||||||
* #sound-dai-cells is required
|
* #sound-dai-cells is required
|
||||||
@@ -919,6 +993,8 @@
|
|||||||
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
||||||
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
||||||
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
<&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
|
<&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
|
||||||
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
<&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
|
||||||
<&audio_clk_a>, <&audio_clk_b>,
|
<&audio_clk_a>, <&audio_clk_b>,
|
||||||
<&audio_clk_c>,
|
<&audio_clk_c>,
|
||||||
@@ -930,6 +1006,8 @@
|
|||||||
"src.9", "src.8", "src.7", "src.6",
|
"src.9", "src.8", "src.7", "src.6",
|
||||||
"src.5", "src.4", "src.3", "src.2",
|
"src.5", "src.4", "src.3", "src.2",
|
||||||
"src.1", "src.0",
|
"src.1", "src.0",
|
||||||
|
"mix.1", "mix.0",
|
||||||
|
"ctu.1", "ctu.0",
|
||||||
"dvc.0", "dvc.1",
|
"dvc.0", "dvc.1",
|
||||||
"clk_a", "clk_b", "clk_c", "clk_i";
|
"clk_a", "clk_b", "clk_c", "clk_i";
|
||||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
@@ -946,6 +1024,22 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
rcar_sound,mix {
|
||||||
|
mix0: mix-0 { };
|
||||||
|
mix1: mix-1 { };
|
||||||
|
};
|
||||||
|
|
||||||
|
rcar_sound,ctu {
|
||||||
|
ctu00: ctu-0 { };
|
||||||
|
ctu01: ctu-1 { };
|
||||||
|
ctu02: ctu-2 { };
|
||||||
|
ctu03: ctu-3 { };
|
||||||
|
ctu10: ctu-4 { };
|
||||||
|
ctu11: ctu-5 { };
|
||||||
|
ctu12: ctu-6 { };
|
||||||
|
ctu13: ctu-7 { };
|
||||||
|
};
|
||||||
|
|
||||||
rcar_sound,src {
|
rcar_sound,src {
|
||||||
src0: src-0 {
|
src0: src-0 {
|
||||||
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
@@ -1058,6 +1152,7 @@
|
|||||||
reg = <0 0xee300000 0 0x1fff>;
|
reg = <0 0xee300000 0 0x1fff>;
|
||||||
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 815>;
|
clocks = <&cpg CPG_MOD 815>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1146,7 +1241,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
usb2_phy0: usb-phy@ee080200 {
|
usb2_phy0: usb-phy@ee080200 {
|
||||||
compatible = "renesas,usb2-phy-r8a7795";
|
compatible = "renesas,usb2-phy-r8a7795",
|
||||||
|
"renesas,rcar-gen3-usb2-phy";
|
||||||
reg = <0 0xee080200 0 0x700>;
|
reg = <0 0xee080200 0 0x700>;
|
||||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 703>;
|
clocks = <&cpg CPG_MOD 703>;
|
||||||
@@ -1156,7 +1252,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
usb2_phy1: usb-phy@ee0a0200 {
|
usb2_phy1: usb-phy@ee0a0200 {
|
||||||
compatible = "renesas,usb2-phy-r8a7795";
|
compatible = "renesas,usb2-phy-r8a7795",
|
||||||
|
"renesas,rcar-gen3-usb2-phy";
|
||||||
reg = <0 0xee0a0200 0 0x700>;
|
reg = <0 0xee0a0200 0 0x700>;
|
||||||
clocks = <&cpg CPG_MOD 702>;
|
clocks = <&cpg CPG_MOD 702>;
|
||||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
@@ -1165,7 +1262,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
usb2_phy2: usb-phy@ee0c0200 {
|
usb2_phy2: usb-phy@ee0c0200 {
|
||||||
compatible = "renesas,usb2-phy-r8a7795";
|
compatible = "renesas,usb2-phy-r8a7795",
|
||||||
|
"renesas,rcar-gen3-usb2-phy";
|
||||||
reg = <0 0xee0c0200 0 0x700>;
|
reg = <0 0xee0c0200 0 0x700>;
|
||||||
clocks = <&cpg CPG_MOD 701>;
|
clocks = <&cpg CPG_MOD 701>;
|
||||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
@@ -1256,7 +1354,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
pciec0: pcie@fe000000 {
|
pciec0: pcie@fe000000 {
|
||||||
compatible = "renesas,pcie-r8a7795";
|
compatible = "renesas,pcie-r8a7795",
|
||||||
|
"renesas,pcie-rcar-gen3";
|
||||||
reg = <0 0xfe000000 0 0x80000>;
|
reg = <0 0xfe000000 0 0x80000>;
|
||||||
#address-cells = <3>;
|
#address-cells = <3>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
@@ -1281,7 +1380,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
pciec1: pcie@ee800000 {
|
pciec1: pcie@ee800000 {
|
||||||
compatible = "renesas,pcie-r8a7795";
|
compatible = "renesas,pcie-r8a7795",
|
||||||
|
"renesas,pcie-rcar-gen3";
|
||||||
reg = <0 0xee800000 0 0x80000>;
|
reg = <0 0xee800000 0 0x80000>;
|
||||||
#address-cells = <3>;
|
#address-cells = <3>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
@@ -1551,5 +1651,63 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tsc: thermal@e6198000 {
|
||||||
|
compatible = "renesas,r8a7795-thermal";
|
||||||
|
reg = <0 0xe6198000 0 0x68>,
|
||||||
|
<0 0xe61a0000 0 0x5c>,
|
||||||
|
<0 0xe61a8000 0 0x5c>;
|
||||||
|
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 522>;
|
||||||
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||||
|
#thermal-sensor-cells = <1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
thermal-zones {
|
||||||
|
sensor_thermal1: sensor-thermal1 {
|
||||||
|
polling-delay-passive = <250>;
|
||||||
|
polling-delay = <1000>;
|
||||||
|
thermal-sensors = <&tsc 0>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
sensor1_crit: sensor1-crit {
|
||||||
|
temperature = <120000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sensor_thermal2: sensor-thermal2 {
|
||||||
|
polling-delay-passive = <250>;
|
||||||
|
polling-delay = <1000>;
|
||||||
|
thermal-sensors = <&tsc 1>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
sensor2_crit: sensor2-crit {
|
||||||
|
temperature = <120000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sensor_thermal3: sensor-thermal3 {
|
||||||
|
polling-delay-passive = <250>;
|
||||||
|
polling-delay = <1000>;
|
||||||
|
thermal-sensors = <&tsc 2>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
sensor3_crit: sensor3-crit {
|
||||||
|
temperature = <120000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
aliases {
|
aliases {
|
||||||
serial0 = &scif2;
|
serial0 = &scif2;
|
||||||
|
ethernet0 = &avb;
|
||||||
};
|
};
|
||||||
|
|
||||||
chosen {
|
chosen {
|
||||||
@@ -31,6 +32,11 @@
|
|||||||
reg = <0x0 0x48000000 0x0 0x78000000>;
|
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
memory@600000000 {
|
||||||
|
device_type = "memory";
|
||||||
|
reg = <0x6 0x00000000 0x0 0x80000000>;
|
||||||
|
};
|
||||||
|
|
||||||
reg_1p8v: regulator0 {
|
reg_1p8v: regulator0 {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
regulator-name = "fixed-1.8V";
|
regulator-name = "fixed-1.8V";
|
||||||
@@ -102,6 +108,11 @@
|
|||||||
pinctrl-0 = <&scif_clk_pins>;
|
pinctrl-0 = <&scif_clk_pins>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
avb_pins: avb {
|
||||||
|
groups = "avb_mdc";
|
||||||
|
function = "avb";
|
||||||
|
};
|
||||||
|
|
||||||
scif2_pins: scif2 {
|
scif2_pins: scif2 {
|
||||||
groups = "scif2_data_a";
|
groups = "scif2_data_a";
|
||||||
function = "scif2";
|
function = "scif2";
|
||||||
@@ -153,6 +164,32 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&avb {
|
||||||
|
pinctrl-0 = <&avb_pins>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
renesas,no-ether-link;
|
||||||
|
phy-handle = <&phy0>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phy0: ethernet-phy@0 {
|
||||||
|
rxc-skew-ps = <900>;
|
||||||
|
rxdv-skew-ps = <0>;
|
||||||
|
rxd0-skew-ps = <0>;
|
||||||
|
rxd1-skew-ps = <0>;
|
||||||
|
rxd2-skew-ps = <0>;
|
||||||
|
rxd3-skew-ps = <0>;
|
||||||
|
txc-skew-ps = <900>;
|
||||||
|
txen-skew-ps = <0>;
|
||||||
|
txd0-skew-ps = <0>;
|
||||||
|
txd1-skew-ps = <0>;
|
||||||
|
txd2-skew-ps = <0>;
|
||||||
|
txd3-skew-ps = <0>;
|
||||||
|
reg = <0>;
|
||||||
|
interrupt-parent = <&gpio2>;
|
||||||
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&extal_clk {
|
&extal_clk {
|
||||||
clock-frequency = <16666666>;
|
clock-frequency = <16666666>;
|
||||||
};
|
};
|
||||||
|
@@ -69,6 +69,13 @@
|
|||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* External CAN clock - to be overridden by boards that provide it */
|
||||||
|
can_clk: can {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
/* External SCIF clock - to be overridden by boards that provide it */
|
/* External SCIF clock - to be overridden by boards that provide it */
|
||||||
scif_clk: scif {
|
scif_clk: scif {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
@@ -94,6 +101,9 @@
|
|||||||
<0x0 0xf1060000 0 0x20000>;
|
<0x0 0xf1060000 0 0x20000>;
|
||||||
interrupts = <GIC_PPI 9
|
interrupts = <GIC_PPI 9
|
||||||
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
|
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||||
|
clocks = <&cpg CPG_MOD 408>;
|
||||||
|
clock-names = "clk";
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
};
|
};
|
||||||
|
|
||||||
timer {
|
timer {
|
||||||
@@ -262,7 +272,8 @@
|
|||||||
i2c0: i2c@e6500000 {
|
i2c0: i2c@e6500000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe6500000 0 0x40>;
|
reg = <0 0xe6500000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 931>;
|
clocks = <&cpg CPG_MOD 931>;
|
||||||
@@ -277,7 +288,8 @@
|
|||||||
i2c1: i2c@e6508000 {
|
i2c1: i2c@e6508000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe6508000 0 0x40>;
|
reg = <0 0xe6508000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 930>;
|
clocks = <&cpg CPG_MOD 930>;
|
||||||
@@ -292,7 +304,8 @@
|
|||||||
i2c2: i2c@e6510000 {
|
i2c2: i2c@e6510000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe6510000 0 0x40>;
|
reg = <0 0xe6510000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 929>;
|
clocks = <&cpg CPG_MOD 929>;
|
||||||
@@ -307,7 +320,8 @@
|
|||||||
i2c3: i2c@e66d0000 {
|
i2c3: i2c@e66d0000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66d0000 0 0x40>;
|
reg = <0 0xe66d0000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 928>;
|
clocks = <&cpg CPG_MOD 928>;
|
||||||
@@ -321,7 +335,8 @@
|
|||||||
i2c4: i2c@e66d8000 {
|
i2c4: i2c@e66d8000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66d8000 0 0x40>;
|
reg = <0 0xe66d8000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 927>;
|
clocks = <&cpg CPG_MOD 927>;
|
||||||
@@ -335,7 +350,8 @@
|
|||||||
i2c5: i2c@e66e0000 {
|
i2c5: i2c@e66e0000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66e0000 0 0x40>;
|
reg = <0 0xe66e0000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 919>;
|
clocks = <&cpg CPG_MOD 919>;
|
||||||
@@ -349,7 +365,8 @@
|
|||||||
i2c6: i2c@e66e8000 {
|
i2c6: i2c@e66e8000 {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
compatible = "renesas,i2c-r8a7796";
|
compatible = "renesas,i2c-r8a7796",
|
||||||
|
"renesas,rcar-gen3-i2c";
|
||||||
reg = <0 0xe66e8000 0 0x40>;
|
reg = <0 0xe66e8000 0 0x40>;
|
||||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <&cpg CPG_MOD 918>;
|
clocks = <&cpg CPG_MOD 918>;
|
||||||
@@ -360,6 +377,104 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
can0: can@e6c30000 {
|
||||||
|
compatible = "renesas,can-r8a7796",
|
||||||
|
"renesas,rcar-gen3-can";
|
||||||
|
reg = <0 0xe6c30000 0 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 916>,
|
||||||
|
<&cpg CPG_CORE R8A7796_CLK_CANFD>,
|
||||||
|
<&can_clk>;
|
||||||
|
clock-names = "clkp1", "clkp2", "can_clk";
|
||||||
|
assigned-clocks = <&cpg CPG_CORE R8A7796_CLK_CANFD>;
|
||||||
|
assigned-clock-rates = <40000000>;
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
can1: can@e6c38000 {
|
||||||
|
compatible = "renesas,can-r8a7796",
|
||||||
|
"renesas,rcar-gen3-can";
|
||||||
|
reg = <0 0xe6c38000 0 0x1000>;
|
||||||
|
interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 915>,
|
||||||
|
<&cpg CPG_CORE R8A7796_CLK_CANFD>,
|
||||||
|
<&can_clk>;
|
||||||
|
clock-names = "clkp1", "clkp2", "can_clk";
|
||||||
|
assigned-clocks = <&cpg CPG_CORE R8A7796_CLK_CANFD>;
|
||||||
|
assigned-clock-rates = <40000000>;
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
canfd: can@e66c0000 {
|
||||||
|
compatible = "renesas,r8a7796-canfd",
|
||||||
|
"renesas,rcar-gen3-canfd";
|
||||||
|
reg = <0 0xe66c0000 0 0x8000>;
|
||||||
|
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 914>,
|
||||||
|
<&cpg CPG_CORE R8A7796_CLK_CANFD>,
|
||||||
|
<&can_clk>;
|
||||||
|
clock-names = "fck", "canfd", "can_clk";
|
||||||
|
assigned-clocks = <&cpg CPG_CORE R8A7796_CLK_CANFD>;
|
||||||
|
assigned-clock-rates = <40000000>;
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
status = "disabled";
|
||||||
|
|
||||||
|
channel0 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
channel1 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
avb: ethernet@e6800000 {
|
||||||
|
compatible = "renesas,etheravb-r8a7796",
|
||||||
|
"renesas,etheravb-rcar-gen3";
|
||||||
|
reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
|
||||||
|
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||||
|
"ch4", "ch5", "ch6", "ch7",
|
||||||
|
"ch8", "ch9", "ch10", "ch11",
|
||||||
|
"ch12", "ch13", "ch14", "ch15",
|
||||||
|
"ch16", "ch17", "ch18", "ch19",
|
||||||
|
"ch20", "ch21", "ch22", "ch23",
|
||||||
|
"ch24";
|
||||||
|
clocks = <&cpg CPG_MOD 812>;
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
phy-mode = "rgmii-id";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
scif2: serial@e6e88000 {
|
scif2: serial@e6e88000 {
|
||||||
compatible = "renesas,scif-r8a7796",
|
compatible = "renesas,scif-r8a7796",
|
||||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||||
@@ -373,6 +488,64 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
msiof0: spi@e6e90000 {
|
||||||
|
compatible = "renesas,msiof-r8a7796",
|
||||||
|
"renesas,rcar-gen3-msiof";
|
||||||
|
reg = <0 0xe6e90000 0 0x0064>;
|
||||||
|
interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 211>;
|
||||||
|
dmas = <&dmac1 0x41>, <&dmac1 0x40>,
|
||||||
|
<&dmac2 0x41>, <&dmac2 0x40>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
msiof1: spi@e6ea0000 {
|
||||||
|
compatible = "renesas,msiof-r8a7796",
|
||||||
|
"renesas,rcar-gen3-msiof";
|
||||||
|
reg = <0 0xe6ea0000 0 0x0064>;
|
||||||
|
interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 210>;
|
||||||
|
dmas = <&dmac1 0x43>, <&dmac1 0x42>,
|
||||||
|
<&dmac2 0x43>, <&dmac2 0x42>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
msiof2: spi@e6c00000 {
|
||||||
|
compatible = "renesas,msiof-r8a7796",
|
||||||
|
"renesas,rcar-gen3-msiof";
|
||||||
|
reg = <0 0xe6c00000 0 0x0064>;
|
||||||
|
interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 209>;
|
||||||
|
dmas = <&dmac0 0x45>, <&dmac0 0x44>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
msiof3: spi@e6c10000 {
|
||||||
|
compatible = "renesas,msiof-r8a7796",
|
||||||
|
"renesas,rcar-gen3-msiof";
|
||||||
|
reg = <0 0xe6c10000 0 0x0064>;
|
||||||
|
interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 208>;
|
||||||
|
dmas = <&dmac0 0x47>, <&dmac0 0x46>;
|
||||||
|
dma-names = "tx", "rx";
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
dmac0: dma-controller@e6700000 {
|
dmac0: dma-controller@e6700000 {
|
||||||
compatible = "renesas,dmac-r8a7796",
|
compatible = "renesas,dmac-r8a7796",
|
||||||
"renesas,rcar-dmac";
|
"renesas,rcar-dmac";
|
||||||
@@ -511,5 +684,63 @@
|
|||||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tsc: thermal@e6198000 {
|
||||||
|
compatible = "renesas,r8a7796-thermal";
|
||||||
|
reg = <0 0xe6198000 0 0x68>,
|
||||||
|
<0 0xe61a0000 0 0x5c>,
|
||||||
|
<0 0xe61a8000 0 0x5c>;
|
||||||
|
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cpg CPG_MOD 522>;
|
||||||
|
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||||
|
#thermal-sensor-cells = <1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
thermal-zones {
|
||||||
|
sensor_thermal1: sensor-thermal1 {
|
||||||
|
polling-delay-passive = <250>;
|
||||||
|
polling-delay = <1000>;
|
||||||
|
thermal-sensors = <&tsc 0>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
sensor1_crit: sensor1-crit {
|
||||||
|
temperature = <120000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sensor_thermal2: sensor-thermal2 {
|
||||||
|
polling-delay-passive = <250>;
|
||||||
|
polling-delay = <1000>;
|
||||||
|
thermal-sensors = <&tsc 1>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
sensor2_crit: sensor2-crit {
|
||||||
|
temperature = <120000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sensor_thermal3: sensor-thermal3 {
|
||||||
|
polling-delay-passive = <250>;
|
||||||
|
polling-delay = <1000>;
|
||||||
|
thermal-sensors = <&tsc 2>;
|
||||||
|
|
||||||
|
trips {
|
||||||
|
sensor3_crit: sensor3-crit {
|
||||||
|
temperature = <120000>;
|
||||||
|
hysteresis = <2000>;
|
||||||
|
type = "critical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -90,7 +90,7 @@
|
|||||||
240 241 242 243 244 245 246 247
|
240 241 242 243 244 245 246 247
|
||||||
248 249 250 251 252 253 254 255>;
|
248 249 250 251 252 253 254 255>;
|
||||||
default-brightness-level = <128>;
|
default-brightness-level = <128>;
|
||||||
enable-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
|
enable-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&bl_en>;
|
pinctrl-0 = <&bl_en>;
|
||||||
pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
|
pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
compatible = "mmc-pwrseq-emmc";
|
compatible = "mmc-pwrseq-emmc";
|
||||||
pinctrl-0 = <&emmc_reset>;
|
pinctrl-0 = <&emmc_reset>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
|
||||||
keys: gpio-keys {
|
keys: gpio-keys {
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
|
|
||||||
power {
|
power {
|
||||||
wakeup-source;
|
wakeup-source;
|
||||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||||
label = "GPIO Power";
|
label = "GPIO Power";
|
||||||
linux,code = <KEY_POWER>;
|
linux,code = <KEY_POWER>;
|
||||||
};
|
};
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
vcc_host: vcc-host-regulator {
|
vcc_host: vcc-host-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
|
gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&host_vbus_drv>;
|
pinctrl-0 = <&host_vbus_drv>;
|
||||||
regulator-name = "vcc_host";
|
regulator-name = "vcc_host";
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
phy-supply = <&vcc_lan>;
|
phy-supply = <&vcc_lan>;
|
||||||
phy-mode = "rmii";
|
phy-mode = "rmii";
|
||||||
clock_in_out = "output";
|
clock_in_out = "output";
|
||||||
snps,reset-gpio = <&gpio3 12 0>;
|
snps,reset-gpio = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
|
||||||
snps,reset-active-low;
|
snps,reset-active-low;
|
||||||
snps,reset-delays-us = <0 10000 1000000>;
|
snps,reset-delays-us = <0 10000 1000000>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
ir: ir-receiver {
|
ir: ir-receiver {
|
||||||
compatible = "gpio-ir-receiver";
|
compatible = "gpio-ir-receiver";
|
||||||
gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
|
gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&ir_int>;
|
pinctrl-0 = <&ir_int>;
|
||||||
};
|
};
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
pinctrl-0 = <&pwr_key>;
|
pinctrl-0 = <&pwr_key>;
|
||||||
|
|
||||||
power {
|
power {
|
||||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||||
label = "GPIO Power";
|
label = "GPIO Power";
|
||||||
linux,code = <KEY_POWER>;
|
linux,code = <KEY_POWER>;
|
||||||
wakeup-source;
|
wakeup-source;
|
||||||
@@ -88,13 +88,13 @@
|
|||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
blue {
|
blue {
|
||||||
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||||
label = "geekbox:blue:led";
|
label = "geekbox:blue:led";
|
||||||
default-state = "on";
|
default-state = "on";
|
||||||
};
|
};
|
||||||
|
|
||||||
red {
|
red {
|
||||||
gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||||
label = "geekbox:red:led";
|
label = "geekbox:red:led";
|
||||||
default-state = "off";
|
default-state = "off";
|
||||||
};
|
};
|
||||||
@@ -146,7 +146,7 @@
|
|||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
|
pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
|
||||||
interrupt-parent = <&gpio0>;
|
interrupt-parent = <&gpio0>;
|
||||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
|
||||||
rockchip,system-power-controller;
|
rockchip,system-power-controller;
|
||||||
vcc1-supply = <&vcc_sys>;
|
vcc1-supply = <&vcc_sys>;
|
||||||
vcc2-supply = <&vcc_sys>;
|
vcc2-supply = <&vcc_sys>;
|
||||||
|
@@ -61,7 +61,7 @@
|
|||||||
compatible = "mmc-pwrseq-emmc";
|
compatible = "mmc-pwrseq-emmc";
|
||||||
pinctrl-0 = <&emmc_reset>;
|
pinctrl-0 = <&emmc_reset>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ext_gmac: external-gmac-clock {
|
ext_gmac: external-gmac-clock {
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
power {
|
power {
|
||||||
wakeup-source;
|
wakeup-source;
|
||||||
gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||||
label = "GPIO Power";
|
label = "GPIO Power";
|
||||||
linux,code = <KEY_POWER>;
|
linux,code = <KEY_POWER>;
|
||||||
};
|
};
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
red {
|
red {
|
||||||
gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
|
||||||
label = "orion:red:led";
|
label = "orion:red:led";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&led_ctl>;
|
pinctrl-0 = <&led_ctl>;
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
blue {
|
blue {
|
||||||
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
|
||||||
label = "orion:blue:led";
|
label = "orion:blue:led";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&stby_pwren>;
|
pinctrl-0 = <&stby_pwren>;
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
/* supplies both host and otg */
|
/* supplies both host and otg */
|
||||||
vcc_host: vcc-host-regulator {
|
vcc_host: vcc-host-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
gpio = <&gpio0 4 GPIO_ACTIVE_LOW>;
|
gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&host_vbus_drv>;
|
pinctrl-0 = <&host_vbus_drv>;
|
||||||
regulator-name = "vcc_host";
|
regulator-name = "vcc_host";
|
||||||
@@ -149,7 +149,7 @@
|
|||||||
vcc_sd: vcc-sd-regulator {
|
vcc_sd: vcc-sd-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
regulator-name = "vcc_sd";
|
regulator-name = "vcc_sd";
|
||||||
gpio = <&gpio3 11 GPIO_ACTIVE_LOW>;
|
gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||||
regulator-min-microvolt = <1800000>;
|
regulator-min-microvolt = <1800000>;
|
||||||
regulator-max-microvolt = <3300000>;
|
regulator-max-microvolt = <3300000>;
|
||||||
vin-supply = <&vcc_io>;
|
vin-supply = <&vcc_io>;
|
||||||
@@ -217,7 +217,7 @@
|
|||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
snps,reset-gpio = <&gpio3 12 0>;
|
snps,reset-gpio = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
|
||||||
snps,reset-active-low;
|
snps,reset-active-low;
|
||||||
snps,reset-delays-us = <0 10000 1000000>;
|
snps,reset-delays-us = <0 10000 1000000>;
|
||||||
tx_delay = <0x30>;
|
tx_delay = <0x30>;
|
||||||
|
@@ -63,7 +63,7 @@
|
|||||||
pinctrl-0 = <&pwr_key>;
|
pinctrl-0 = <&pwr_key>;
|
||||||
|
|
||||||
power {
|
power {
|
||||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||||
label = "GPIO Power";
|
label = "GPIO Power";
|
||||||
linux,code = <KEY_POWER>;
|
linux,code = <KEY_POWER>;
|
||||||
wakeup-source;
|
wakeup-source;
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
compatible = "rockchip,rk808";
|
compatible = "rockchip,rk808";
|
||||||
reg = <0x1b>;
|
reg = <0x1b>;
|
||||||
interrupt-parent = <&gpio0>;
|
interrupt-parent = <&gpio0>;
|
||||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
|
pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
|
||||||
rockchip,system-power-controller;
|
rockchip,system-power-controller;
|
||||||
@@ -236,7 +236,7 @@
|
|||||||
compatible = "bosch,bma250";
|
compatible = "bosch,bma250";
|
||||||
reg = <0x18>;
|
reg = <0x18>;
|
||||||
interrupt-parent = <&gpio2>;
|
interrupt-parent = <&gpio2>;
|
||||||
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
|
interrupts = <RK_PC1 IRQ_TYPE_LEVEL_LOW>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -247,8 +247,8 @@
|
|||||||
compatible = "silead,gsl1680";
|
compatible = "silead,gsl1680";
|
||||||
reg = <0x40>;
|
reg = <0x40>;
|
||||||
interrupt-parent = <&gpio3>;
|
interrupt-parent = <&gpio3>;
|
||||||
interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
|
interrupts = <RK_PD4 IRQ_TYPE_EDGE_FALLING>;
|
||||||
power-gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
|
power-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||||
touchscreen-size-x = <800>;
|
touchscreen-size-x = <800>;
|
||||||
touchscreen-size-y = <1280>;
|
touchscreen-size-y = <1280>;
|
||||||
silead,max-fingers = <5>;
|
silead,max-fingers = <5>;
|
||||||
|
@@ -61,7 +61,7 @@
|
|||||||
compatible = "mmc-pwrseq-emmc";
|
compatible = "mmc-pwrseq-emmc";
|
||||||
pinctrl-0 = <&emmc_reset>;
|
pinctrl-0 = <&emmc_reset>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
|
||||||
keys: gpio-keys {
|
keys: gpio-keys {
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
|
|
||||||
power {
|
power {
|
||||||
wakeup-source;
|
wakeup-source;
|
||||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||||
label = "GPIO Power";
|
label = "GPIO Power";
|
||||||
linux,code = <KEY_POWER>;
|
linux,code = <KEY_POWER>;
|
||||||
};
|
};
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
work {
|
work {
|
||||||
gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
|
||||||
label = "r88:green:led";
|
label = "r88:green:led";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&led_ctl>;
|
pinctrl-0 = <&led_ctl>;
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
|
|
||||||
ir: ir-receiver {
|
ir: ir-receiver {
|
||||||
compatible = "gpio-ir-receiver";
|
compatible = "gpio-ir-receiver";
|
||||||
gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
|
gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&ir_int>;
|
pinctrl-0 = <&ir_int>;
|
||||||
};
|
};
|
||||||
@@ -104,10 +104,10 @@
|
|||||||
|
|
||||||
reset-gpios =
|
reset-gpios =
|
||||||
/* BT_RST_N */
|
/* BT_RST_N */
|
||||||
<&gpio3 5 GPIO_ACTIVE_LOW>,
|
<&gpio3 RK_PA5 GPIO_ACTIVE_LOW>,
|
||||||
|
|
||||||
/* WL_REG_ON */
|
/* WL_REG_ON */
|
||||||
<&gpio3 4 GPIO_ACTIVE_LOW>;
|
<&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||||
};
|
};
|
||||||
|
|
||||||
vcc_18: vcc18-regulator {
|
vcc_18: vcc18-regulator {
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
vcc_host: vcc-host-regulator {
|
vcc_host: vcc-host-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
|
gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&host_vbus_drv>;
|
pinctrl-0 = <&host_vbus_drv>;
|
||||||
regulator-name = "vcc_host";
|
regulator-name = "vcc_host";
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
phy-supply = <&vcc_lan>;
|
phy-supply = <&vcc_lan>;
|
||||||
phy-mode = "rmii";
|
phy-mode = "rmii";
|
||||||
clock_in_out = "output";
|
clock_in_out = "output";
|
||||||
snps,reset-gpio = <&gpio3 12 0>;
|
snps,reset-gpio = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
|
||||||
snps,reset-active-low;
|
snps,reset-active-low;
|
||||||
snps,reset-delays-us = <0 10000 1000000>;
|
snps,reset-delays-us = <0 10000 1000000>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
|
@@ -85,7 +85,7 @@
|
|||||||
240 241 242 243 244 245 246 247
|
240 241 242 243 244 245 246 247
|
||||||
248 249 250 251 252 253 254 255>;
|
248 249 250 251 252 253 254 255>;
|
||||||
default-brightness-level = <200>;
|
default-brightness-level = <200>;
|
||||||
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
|
enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
|
||||||
pwms = <&pwm0 0 25000 0>;
|
pwms = <&pwm0 0 25000 0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
vcc5v0_host: vcc5v0-host-regulator {
|
vcc5v0_host: vcc5v0-host-regulator {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
enable-active-high;
|
enable-active-high;
|
||||||
gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
|
gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&vcc5v0_host_en>;
|
pinctrl-0 = <&vcc5v0_host_en>;
|
||||||
regulator-name = "vcc5v0_host";
|
regulator-name = "vcc5v0_host";
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
phy-mode = "rgmii";
|
phy-mode = "rgmii";
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&rgmii_pins>;
|
pinctrl-0 = <&rgmii_pins>;
|
||||||
snps,reset-gpio = <&gpio3 15 GPIO_ACTIVE_LOW>;
|
snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
|
||||||
snps,reset-active-low;
|
snps,reset-active-low;
|
||||||
snps,reset-delays-us = <0 10000 50000>;
|
snps,reset-delays-us = <0 10000 50000>;
|
||||||
tx_delay = <0x28>;
|
tx_delay = <0x28>;
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&pcie0 {
|
&pcie0 {
|
||||||
ep-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
|
ep-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>;
|
||||||
num-lanes = <4>;
|
num-lanes = <4>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&pcie_clkreqn>;
|
pinctrl-0 = <&pcie_clkreqn>;
|
||||||
|
@@ -283,6 +283,7 @@
|
|||||||
#address-cells = <3>;
|
#address-cells = <3>;
|
||||||
#size-cells = <2>;
|
#size-cells = <2>;
|
||||||
#interrupt-cells = <1>;
|
#interrupt-cells = <1>;
|
||||||
|
aspm-no-l0s;
|
||||||
bus-range = <0x0 0x1>;
|
bus-range = <0x0 0x1>;
|
||||||
clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
|
clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
|
||||||
<&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
|
<&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
|
||||||
@@ -297,6 +298,7 @@
|
|||||||
<0 0 0 2 &pcie0_intc 1>,
|
<0 0 0 2 &pcie0_intc 1>,
|
||||||
<0 0 0 3 &pcie0_intc 2>,
|
<0 0 0 3 &pcie0_intc 2>,
|
||||||
<0 0 0 4 &pcie0_intc 3>;
|
<0 0 0 4 &pcie0_intc 3>;
|
||||||
|
max-link-speed = <1>;
|
||||||
msi-map = <0x0 &its 0x0 0x1000>;
|
msi-map = <0x0 &its 0x0 0x1000>;
|
||||||
phys = <&pcie_phy>;
|
phys = <&pcie_phy>;
|
||||||
phy-names = "pcie-phy";
|
phy-names = "pcie-phy";
|
||||||
@@ -321,8 +323,10 @@
|
|||||||
compatible = "generic-ehci";
|
compatible = "generic-ehci";
|
||||||
reg = <0x0 0xfe380000 0x0 0x20000>;
|
reg = <0x0 0xfe380000 0x0 0x20000>;
|
||||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
|
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
|
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
|
||||||
clock-names = "hclk_host0", "hclk_host0_arb";
|
<&u2phy0>;
|
||||||
|
clock-names = "usbhost", "arbiter",
|
||||||
|
"utmi";
|
||||||
phys = <&u2phy0_host>;
|
phys = <&u2phy0_host>;
|
||||||
phy-names = "usb";
|
phy-names = "usb";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
@@ -332,8 +336,12 @@
|
|||||||
compatible = "generic-ohci";
|
compatible = "generic-ohci";
|
||||||
reg = <0x0 0xfe3a0000 0x0 0x20000>;
|
reg = <0x0 0xfe3a0000 0x0 0x20000>;
|
||||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
|
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
|
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
|
||||||
clock-names = "hclk_host0", "hclk_host0_arb";
|
<&u2phy0>;
|
||||||
|
clock-names = "usbhost", "arbiter",
|
||||||
|
"utmi";
|
||||||
|
phys = <&u2phy0_host>;
|
||||||
|
phy-names = "usb";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -341,8 +349,10 @@
|
|||||||
compatible = "generic-ehci";
|
compatible = "generic-ehci";
|
||||||
reg = <0x0 0xfe3c0000 0x0 0x20000>;
|
reg = <0x0 0xfe3c0000 0x0 0x20000>;
|
||||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
|
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
|
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
|
||||||
clock-names = "hclk_host1", "hclk_host1_arb";
|
<&u2phy1>;
|
||||||
|
clock-names = "usbhost", "arbiter",
|
||||||
|
"utmi";
|
||||||
phys = <&u2phy1_host>;
|
phys = <&u2phy1_host>;
|
||||||
phy-names = "usb";
|
phy-names = "usb";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
@@ -352,8 +362,12 @@
|
|||||||
compatible = "generic-ohci";
|
compatible = "generic-ohci";
|
||||||
reg = <0x0 0xfe3e0000 0x0 0x20000>;
|
reg = <0x0 0xfe3e0000 0x0 0x20000>;
|
||||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
|
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
|
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
|
||||||
clock-names = "hclk_host1", "hclk_host1_arb";
|
<&u2phy1>;
|
||||||
|
clock-names = "usbhost", "arbiter",
|
||||||
|
"utmi";
|
||||||
|
phys = <&u2phy1_host>;
|
||||||
|
phy-names = "usb";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -607,7 +621,7 @@
|
|||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
thermal-zones {
|
thermal_zones: thermal-zones {
|
||||||
cpu_thermal: cpu {
|
cpu_thermal: cpu {
|
||||||
polling-delay-passive = <100>;
|
polling-delay-passive = <100>;
|
||||||
polling-delay = <1000>;
|
polling-delay = <1000>;
|
||||||
@@ -1077,6 +1091,7 @@
|
|||||||
pmucru: pmu-clock-controller@ff750000 {
|
pmucru: pmu-clock-controller@ff750000 {
|
||||||
compatible = "rockchip,rk3399-pmucru";
|
compatible = "rockchip,rk3399-pmucru";
|
||||||
reg = <0x0 0xff750000 0x0 0x1000>;
|
reg = <0x0 0xff750000 0x0 0x1000>;
|
||||||
|
rockchip,grf = <&pmugrf>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
assigned-clocks = <&pmucru PLL_PPLL>;
|
assigned-clocks = <&pmucru PLL_PPLL>;
|
||||||
@@ -1086,6 +1101,7 @@
|
|||||||
cru: clock-controller@ff760000 {
|
cru: clock-controller@ff760000 {
|
||||||
compatible = "rockchip,rk3399-cru";
|
compatible = "rockchip,rk3399-cru";
|
||||||
reg = <0x0 0xff760000 0x0 0x1000>;
|
reg = <0x0 0xff760000 0x0 0x1000>;
|
||||||
|
rockchip,grf = <&grf>;
|
||||||
#clock-cells = <1>;
|
#clock-cells = <1>;
|
||||||
#reset-cells = <1>;
|
#reset-cells = <1>;
|
||||||
assigned-clocks =
|
assigned-clocks =
|
||||||
@@ -1436,6 +1452,13 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
edp {
|
||||||
|
edp_hpd: edp-hpd {
|
||||||
|
rockchip,pins =
|
||||||
|
<4 23 RK_FUNC_2 &pcfg_pull_none>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
gmac {
|
gmac {
|
||||||
rgmii_pins: rgmii-pins {
|
rgmii_pins: rgmii-pins {
|
||||||
rockchip,pins =
|
rockchip,pins =
|
||||||
|
@@ -273,6 +273,17 @@
|
|||||||
reg = <0x59801000 0x400>;
|
reg = <0x59801000 0x400>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sdctrl@59810000 {
|
||||||
|
compatible = "socionext,uniphier-ld11-sdctrl",
|
||||||
|
"simple-mfd", "syscon";
|
||||||
|
reg = <0x59810000 0x400>;
|
||||||
|
|
||||||
|
sd_rst: reset {
|
||||||
|
compatible = "socionext,uniphier-ld11-sd-reset";
|
||||||
|
#reset-cells = <1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
perictrl@59820000 {
|
perictrl@59820000 {
|
||||||
compatible = "socionext,uniphier-ld11-perictrl",
|
compatible = "socionext,uniphier-ld11-perictrl",
|
||||||
"simple-mfd", "syscon";
|
"simple-mfd", "syscon";
|
||||||
@@ -289,6 +300,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
emmc: sdhc@5a000000 {
|
||||||
|
compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
|
||||||
|
reg = <0x5a000000 0x400>;
|
||||||
|
interrupts = <0 78 4>;
|
||||||
|
clocks = <&sys_clk 4>;
|
||||||
|
bus-width = <8>;
|
||||||
|
mmc-ddr-1_8v;
|
||||||
|
mmc-hs200-1_8v;
|
||||||
|
};
|
||||||
|
|
||||||
usb0: usb@5a800100 {
|
usb0: usb@5a800100 {
|
||||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@@ -374,6 +374,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
emmc: sdhc@5a000000 {
|
||||||
|
compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
|
||||||
|
reg = <0x5a000000 0x400>;
|
||||||
|
interrupts = <0 78 4>;
|
||||||
|
clocks = <&sys_clk 4>;
|
||||||
|
bus-width = <8>;
|
||||||
|
mmc-ddr-1_8v;
|
||||||
|
mmc-hs200-1_8v;
|
||||||
|
};
|
||||||
|
|
||||||
soc-glue@5f800000 {
|
soc-glue@5f800000 {
|
||||||
compatible = "socionext,uniphier-ld20-soc-glue",
|
compatible = "socionext,uniphier-ld20-soc-glue",
|
||||||
"simple-mfd", "syscon";
|
"simple-mfd", "syscon";
|
||||||
|
@@ -44,6 +44,7 @@
|
|||||||
#include <dt-bindings/input/input.h>
|
#include <dt-bindings/input/input.h>
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
#include <dt-bindings/gpio/gpio.h>
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/clock/zx296718-clock.h>
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
compatible = "zte,zx296718";
|
compatible = "zte,zx296718";
|
||||||
@@ -81,6 +82,8 @@
|
|||||||
compatible = "arm,cortex-a53","arm,armv8";
|
compatible = "arm,cortex-a53","arm,armv8";
|
||||||
reg = <0x0 0x0>;
|
reg = <0x0 0x0>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
clocks = <&topcrm A53_GATE>;
|
||||||
|
operating-points-v2 = <&cluster0_opp>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu1: cpu@1 {
|
cpu1: cpu@1 {
|
||||||
@@ -88,6 +91,8 @@
|
|||||||
compatible = "arm,cortex-a53","arm,armv8";
|
compatible = "arm,cortex-a53","arm,armv8";
|
||||||
reg = <0x0 0x1>;
|
reg = <0x0 0x1>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
clocks = <&topcrm A53_GATE>;
|
||||||
|
operating-points-v2 = <&cluster0_opp>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu2: cpu@2 {
|
cpu2: cpu@2 {
|
||||||
@@ -95,6 +100,8 @@
|
|||||||
compatible = "arm,cortex-a53","arm,armv8";
|
compatible = "arm,cortex-a53","arm,armv8";
|
||||||
reg = <0x0 0x2>;
|
reg = <0x0 0x2>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
clocks = <&topcrm A53_GATE>;
|
||||||
|
operating-points-v2 = <&cluster0_opp>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cpu3: cpu@3 {
|
cpu3: cpu@3 {
|
||||||
@@ -102,6 +109,38 @@
|
|||||||
compatible = "arm,cortex-a53","arm,armv8";
|
compatible = "arm,cortex-a53","arm,armv8";
|
||||||
reg = <0x0 0x3>;
|
reg = <0x0 0x3>;
|
||||||
enable-method = "psci";
|
enable-method = "psci";
|
||||||
|
clocks = <&topcrm A53_GATE>;
|
||||||
|
operating-points-v2 = <&cluster0_opp>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cluster0_opp: opp-table0 {
|
||||||
|
compatible = "operating-points-v2";
|
||||||
|
opp-shared;
|
||||||
|
|
||||||
|
opp@500000000 {
|
||||||
|
opp-hz = /bits/ 64 <500000000>;
|
||||||
|
clock-latency-ns = <500000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
opp@648000000 {
|
||||||
|
opp-hz = /bits/ 64 <648000000>;
|
||||||
|
clock-latency-ns = <500000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
opp@800000000 {
|
||||||
|
opp-hz = /bits/ 64 <800000000>;
|
||||||
|
clock-latency-ns = <500000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
opp@1000000000 {
|
||||||
|
opp-hz = /bits/ 64 <1000000000>;
|
||||||
|
clock-latency-ns = <500000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
opp@1188000000 {
|
||||||
|
opp-hz = /bits/ 64 <1188000000>;
|
||||||
|
clock-latency-ns = <500000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -45,6 +45,20 @@
|
|||||||
#define EXYNOS5420_PIN_DRV_LV3 2
|
#define EXYNOS5420_PIN_DRV_LV3 2
|
||||||
#define EXYNOS5420_PIN_DRV_LV4 3
|
#define EXYNOS5420_PIN_DRV_LV4 3
|
||||||
|
|
||||||
|
/* Drive strengths for Exynos5433 */
|
||||||
|
#define EXYNOS5433_PIN_DRV_FAST_SR1 0
|
||||||
|
#define EXYNOS5433_PIN_DRV_FAST_SR2 1
|
||||||
|
#define EXYNOS5433_PIN_DRV_FAST_SR3 2
|
||||||
|
#define EXYNOS5433_PIN_DRV_FAST_SR4 3
|
||||||
|
#define EXYNOS5433_PIN_DRV_FAST_SR5 4
|
||||||
|
#define EXYNOS5433_PIN_DRV_FAST_SR6 5
|
||||||
|
#define EXYNOS5433_PIN_DRV_SLOW_SR1 8
|
||||||
|
#define EXYNOS5433_PIN_DRV_SLOW_SR2 9
|
||||||
|
#define EXYNOS5433_PIN_DRV_SLOW_SR3 0xa
|
||||||
|
#define EXYNOS5433_PIN_DRV_SLOW_SR4 0xb
|
||||||
|
#define EXYNOS5433_PIN_DRV_SLOW_SR5 0xc
|
||||||
|
#define EXYNOS5433_PIN_DRV_SLOW_SR6 0xf
|
||||||
|
|
||||||
#define EXYNOS_PIN_FUNC_INPUT 0
|
#define EXYNOS_PIN_FUNC_INPUT 0
|
||||||
#define EXYNOS_PIN_FUNC_OUTPUT 1
|
#define EXYNOS_PIN_FUNC_OUTPUT 1
|
||||||
#define EXYNOS_PIN_FUNC_2 2
|
#define EXYNOS_PIN_FUNC_2 2
|
||||||
|
Reference in New Issue
Block a user