forked from Minki/linux
ARM: 64-bit DT updates for v4.11
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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIUAwUAWK9htWCrR//JCVInAQL5sg/40ehZk89xuReYHaOoL0jkEGxt7ogae2Q0 5SurlVNEjkr1A6KKcTKwy6c8E4GReq0ioVUxyYHlNo2MedtLQWssSvObfjt390E+ OYXhuHHyHFgut9jF6nq1IZbSqkhaDcoRFdK0EPzjdxTMMk59xqzG2t9Kbq0MFz0I Fg0+xB44VAOwuM+45MjNzdpTzolkH3gxlK4TV/opbr2/9uEDCjFOLr1zqZuWqIDh uyXXqHYUZ54kz2GvhfYPgcm+f+PjuV2fw/Jh5u3+jNvwMQvA70Erv52im1o1a3GV UTjmBgccTKByrPk7gXP3lgRkHQGwPLNH0L+28AZ/BNuZbWqDrDe7uVfpq9nWb5Xl IR0uleNBOuiOdqR6Ya4xosGSm6AOgQhCbE52trHdUhb03eqRbqHcLHEVmZXXea/i EejGOciIvbV8ent9jjREw/kvGZ+Ws6v5notG4uPDwn+YZSJAyqvGh5Tul8WzZIxk Wr1WZgbuwkI0KYiFzSINfgDX0Om2l6YoVZLnkjst5Exto+TGRSINJpVCXsuGIU7O 34qZD25yA8WlJTooBL0cvrW0NT2RewBqLogwhbwDnRW241SW5AnuzPsFPWldLzon L5sFgsF60gWiIlbB2/BKdpF2jB/+brXNR6epnQYADigweg/4+pS8HPZRFj7g8wyE s22+OYJ6Cg== =glug -----END PGP SIGNATURE----- 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:
commit
c61c15e08a
@ -158,6 +158,7 @@ nodes to be present and contain the properties described below.
|
||||
"arm,cortex-a53"
|
||||
"arm,cortex-a57"
|
||||
"arm,cortex-a72"
|
||||
"arm,cortex-a73"
|
||||
"arm,cortex-m0"
|
||||
"arm,cortex-m0+"
|
||||
"arm,cortex-m1"
|
||||
|
@ -108,7 +108,7 @@ status.
|
||||
- compatible: Should contain a chip-specific compatible string,
|
||||
Chip-specific strings are of the form "fsl,<chip>-scfg",
|
||||
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
|
||||
|
||||
@ -126,7 +126,7 @@ core start address and release the secondary core from holdoff and startup.
|
||||
- compatible: Should contain a chip-specific compatible string,
|
||||
Chip-specific strings are of the form "fsl,<chip>-dcfg",
|
||||
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
|
||||
|
||||
@ -139,6 +139,22 @@ Example:
|
||||
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
|
||||
Required root node properties:
|
||||
- compatible = "fsl,ls1043a";
|
||||
|
@ -1,5 +1,9 @@
|
||||
Hisilicon Platforms Device Tree Bindings
|
||||
----------------------------------------------------
|
||||
Hi3660 SoC
|
||||
Required root node properties:
|
||||
- compatible = "hisilicon,hi3660";
|
||||
|
||||
Hi4511 Board
|
||||
Required root node properties:
|
||||
- compatible = "hisilicon,hi3620-hi4511";
|
||||
|
@ -75,7 +75,7 @@ Boards:
|
||||
compatible = "renesas,rskrza1", "renesas,r7s72100"
|
||||
- Salvator-X (RTP0RC7795SIPB0010S)
|
||||
compatible = "renesas,salvator-x", "renesas,r8a7795";
|
||||
- Salvator-X
|
||||
- Salvator-X (RTP0RC7796SIPB0011S)
|
||||
compatible = "renesas,salvator-x", "renesas,r8a7796";
|
||||
- SILK (RTP0RC7794LCB00011S)
|
||||
compatible = "renesas,silk", "renesas,r8a7794"
|
||||
|
@ -31,6 +31,7 @@ Required properties:
|
||||
* "fsl,t4240-clockgen"
|
||||
* "fsl,b4420-clockgen"
|
||||
* "fsl,b4860-clockgen"
|
||||
* "fsl,ls1012a-clockgen"
|
||||
* "fsl,ls1021a-clockgen"
|
||||
* "fsl,ls1043a-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
|
||||
|
||||
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 <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Pine64";
|
||||
compatible = "pine64,pine64", "allwinner,sun50i-a64";
|
||||
@ -55,11 +57,16 @@
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reg_vcc3v3: vcc3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -72,3 +79,33 @@
|
||||
&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";
|
||||
};
|
||||
|
||||
&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.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/sun50i-a64-ccu.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>;
|
||||
@ -120,6 +121,105 @@
|
||||
#size-cells = <1>;
|
||||
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 {
|
||||
compatible = "allwinner,sun50i-a64-ccu";
|
||||
reg = <0x01c20000 0x400>;
|
||||
@ -146,10 +246,45 @@
|
||||
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 {
|
||||
pins = "PB8", "PB9";
|
||||
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 {
|
||||
|
@ -1,6 +1,10 @@
|
||||
#include "juno-clocks.dtsi"
|
||||
|
||||
/ {
|
||||
/*
|
||||
* Devices shared by all Juno boards
|
||||
*/
|
||||
dma-ranges = <0 0 0 0 0x100 0>;
|
||||
|
||||
memtimer: timer@2a810000 {
|
||||
compatible = "arm,armv7-timer-mem";
|
||||
@ -48,6 +52,7 @@
|
||||
#iommu-cells = <1>;
|
||||
#global-interrupts = <1>;
|
||||
dma-coherent;
|
||||
power-domains = <&scpi_devpd 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -83,7 +88,7 @@
|
||||
* The actual size is just 4K though 64K is reserved. Access to the
|
||||
* unmapped reserved region results in a DECERR response.
|
||||
*/
|
||||
etf@20010000 {
|
||||
etf@20010000 { /* etf0 */
|
||||
compatible = "arm,coresight-tmc", "arm,primecell";
|
||||
reg = <0 0x20010000 0 0x1000>;
|
||||
|
||||
@ -97,7 +102,7 @@
|
||||
/* input port */
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
etf_in_port: endpoint {
|
||||
etf0_in_port: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&main_funnel_out_port>;
|
||||
};
|
||||
@ -106,8 +111,7 @@
|
||||
/* output port */
|
||||
port@1 {
|
||||
reg = <0>;
|
||||
etf_out_port: endpoint {
|
||||
remote-endpoint = <&replicator_in_port0>;
|
||||
etf0_out_port: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -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";
|
||||
reg = <0 0x20040000 0 0x1000>;
|
||||
|
||||
@ -139,13 +144,15 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* output port */
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
main_funnel_out_port: endpoint {
|
||||
remote-endpoint = <&etf_in_port>;
|
||||
remote-endpoint = <&etf0_in_port>;
|
||||
};
|
||||
};
|
||||
|
||||
/* input ports */
|
||||
port@1 {
|
||||
reg = <0>;
|
||||
main_funnel_in_port0: endpoint {
|
||||
@ -161,7 +168,6 @@
|
||||
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 {
|
||||
compatible = "arm,coresight-etm4x", "arm,primecell";
|
||||
reg = <0 0x22040000 0 0x1000>;
|
||||
@ -195,7 +216,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
cluster0-funnel@220c0000 {
|
||||
funnel@220c0000 { /* cluster0 funnel */
|
||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||
reg = <0 0x220c0000 0 0x1000>;
|
||||
|
||||
@ -259,7 +280,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
cluster1-funnel@230c0000 {
|
||||
funnel@230c0000 { /* cluster1 funnel */
|
||||
compatible = "arm,coresight-funnel", "arm,primecell";
|
||||
reg = <0 0x230c0000 0 0x1000>;
|
||||
|
||||
@ -382,7 +403,6 @@
|
||||
reg = <0>;
|
||||
replicator_in_port0: endpoint {
|
||||
slave-mode;
|
||||
remote-endpoint = <&etf_out_port>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -507,8 +527,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "juno-clocks.dtsi"
|
||||
|
||||
smmu_dma: iommu@7fb00000 {
|
||||
compatible = "arm,mmu-401", "arm,smmu-v1";
|
||||
reg = <0x0 0x7fb00000 0x0 0x10000>;
|
||||
@ -719,3 +737,4 @@
|
||||
interrupt-map-mask = <0 0>;
|
||||
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.
|
||||
*
|
||||
*/
|
||||
|
||||
/ {
|
||||
/* SoC fixed clocks */
|
||||
soc_uartclk: refclk7273800hz {
|
||||
compatible = "fixed-clock";
|
||||
@ -42,3 +42,4 @@
|
||||
clock-frequency = <400000000>;
|
||||
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>;
|
||||
};
|
||||
|
||||
usb@5,00000000 {
|
||||
compatible = "nxp,usb-isp1763";
|
||||
reg = <5 0x00000000 0x20000>;
|
||||
bus-width = <16>;
|
||||
interrupts = <4>;
|
||||
};
|
||||
|
||||
iofpga@3,00000000 {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
|
@ -9,6 +9,8 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include "juno-base.dtsi"
|
||||
#include "juno-cs-r1r2.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ARM Juno development board (r1)";
|
||||
@ -176,8 +178,6 @@
|
||||
<&A53_2>,
|
||||
<&A53_3>;
|
||||
};
|
||||
|
||||
#include "juno-base.dtsi"
|
||||
};
|
||||
|
||||
&memtimer {
|
||||
@ -227,3 +227,15 @@
|
||||
&gpu1_thermal_zone {
|
||||
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/;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include "juno-base.dtsi"
|
||||
#include "juno-cs-r1r2.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ARM Juno development board (r2)";
|
||||
@ -176,8 +178,6 @@
|
||||
<&A53_2>,
|
||||
<&A53_3>;
|
||||
};
|
||||
|
||||
#include "juno-base.dtsi"
|
||||
};
|
||||
|
||||
&memtimer {
|
||||
@ -227,3 +227,15 @@
|
||||
&gpu1_thermal_zone {
|
||||
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/;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include "juno-base.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ARM Juno development board (r0)";
|
||||
@ -176,8 +177,6 @@
|
||||
<&A53_2>,
|
||||
<&A53_3>;
|
||||
};
|
||||
|
||||
#include "juno-base.dtsi"
|
||||
};
|
||||
|
||||
&etm0 {
|
||||
@ -203,3 +202,27 @@
|
||||
&etm5 {
|
||||
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_BCM_IPROC) += ns2-svk.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb ns2-xmc.dtb
|
||||
dtb-$(CONFIG_ARCH_VULCAN) += vulcan-eval.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
|
@ -76,6 +76,10 @@
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&pcie8 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
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.
|
||||
*/
|
||||
|
||||
/memreserve/ 0x81000000 0x00200000;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/bcm-ns2.h>
|
||||
|
||||
@ -115,7 +117,7 @@
|
||||
|
||||
#interrupt-cells = <1>;
|
||||
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>;
|
||||
|
||||
@ -136,18 +138,7 @@
|
||||
phys = <&pci_phy0>;
|
||||
phy-names = "pcie-phy";
|
||||
|
||||
msi-parent = <&msi0>;
|
||||
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>;
|
||||
};
|
||||
msi-parent = <&v2m0>;
|
||||
};
|
||||
|
||||
pcie4: pcie@50020000 {
|
||||
@ -156,7 +147,7 @@
|
||||
|
||||
#interrupt-cells = <1>;
|
||||
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>;
|
||||
|
||||
@ -177,16 +168,24 @@
|
||||
phys = <&pci_phy1>;
|
||||
phy-names = "pcie-phy";
|
||||
|
||||
msi-parent = <&msi4>;
|
||||
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>;
|
||||
};
|
||||
msi-parent = <&v2m0>;
|
||||
};
|
||||
|
||||
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 {
|
||||
@ -331,6 +330,82 @@
|
||||
<0x65260000 0x1000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_RAW(0xf) |
|
||||
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 {
|
||||
|
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.
|
||||
*/
|
||||
|
||||
#define PIN_PULL_NONE 0
|
||||
#define PIN_PULL_DOWN 1
|
||||
#define PIN_PULL_UP 3
|
||||
#include <dt-bindings/pinctrl/samsung.h>
|
||||
|
||||
#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) \
|
||||
_pin { \
|
||||
samsung,pins = #_pin; \
|
||||
samsung,pin-function = <PIN_ ##_func>; \
|
||||
samsung,pin-pud = <PIN_PULL_ ##_pull>; \
|
||||
samsung,pin-drv = <PIN_DRV_ ##_drv>; \
|
||||
#define PIN(_func, _pin, _pull, _drv) \
|
||||
_pin { \
|
||||
samsung,pins = #_pin; \
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_ ##_func>; \
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_ ##_drv>; \
|
||||
}
|
||||
|
||||
&pinctrl_alive {
|
||||
@ -145,23 +134,23 @@
|
||||
i2s0_bus: i2s0-bus {
|
||||
samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
|
||||
"gpz0-4", "gpz0-5", "gpz0-6";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
pcm0_bus: pcm0-bus {
|
||||
samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
uart_aud_bus: uart-aud-bus {
|
||||
samsung,pins = "gpz1-3", "gpz1-2", "gpz1-1", "gpz1-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -196,16 +185,16 @@
|
||||
|
||||
spi2_bus: spi2-bus {
|
||||
samsung,pins = "gpd5-0", "gpd5-2", "gpd5-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c6_bus: hs-i2c6-bus {
|
||||
samsung,pins = "gpd5-3", "gpd5-2";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -260,141 +249,141 @@
|
||||
|
||||
sd0_clk: sd0-clk {
|
||||
samsung,pins = "gpr0-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd0_cmd: sd0-cmd {
|
||||
samsung,pins = "gpr0-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd0_rdqs: sd0-rdqs {
|
||||
samsung,pins = "gpr0-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd0_qrdy: sd0-qrdy {
|
||||
samsung,pins = "gpr0-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd0_bus1: sd0-bus-width1 {
|
||||
samsung,pins = "gpr1-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd0_bus4: sd0-bus-width4 {
|
||||
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd0_bus8: sd0-bus-width8 {
|
||||
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd1_clk: sd1-clk {
|
||||
samsung,pins = "gpr2-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd1_cmd: sd1-cmd {
|
||||
samsung,pins = "gpr2-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd1_bus1: sd1-bus-width1 {
|
||||
samsung,pins = "gpr3-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd1_bus4: sd1-bus-width4 {
|
||||
samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd1_bus8: sd1-bus-width8 {
|
||||
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
pcie_bus: pcie_bus {
|
||||
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
};
|
||||
|
||||
sd2_clk: sd2-clk {
|
||||
samsung,pins = "gpr4-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd2_cmd: sd2-cmd {
|
||||
samsung,pins = "gpr4-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd2_cd: sd2-cd {
|
||||
samsung,pins = "gpr4-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd2_bus1: sd2-bus-width1 {
|
||||
samsung,pins = "gpr4-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd2_bus4: sd2-bus-width4 {
|
||||
samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
|
||||
};
|
||||
|
||||
sd2_clk_output: sd2-clk-output {
|
||||
samsung,pins = "gpr4-0";
|
||||
samsung,pin-function = <1>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <2>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
|
||||
};
|
||||
|
||||
sd2_cmd_output: sd2-cmd-output {
|
||||
samsung,pins = "gpr4-1";
|
||||
samsung,pin-function = <1>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <2>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -419,9 +408,9 @@
|
||||
|
||||
hs_i2c4_bus: hs-i2c4-bus {
|
||||
samsung,pins = "gpj0-1", "gpj0-0";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -564,225 +553,225 @@
|
||||
|
||||
hs_i2c8_bus: hs-i2c8-bus {
|
||||
samsung,pins = "gpb0-1", "gpb0-0";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c9_bus: hs-i2c9-bus {
|
||||
samsung,pins = "gpb0-3", "gpb0-2";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
i2s1_bus: i2s1-bus {
|
||||
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
|
||||
"gpd4-3", "gpd4-4";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
pcm1_bus: pcm1-bus {
|
||||
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
|
||||
"gpd4-3", "gpd4-4";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
spdif_bus: spdif-bus {
|
||||
samsung,pins = "gpd4-3", "gpd4-4";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_spi_pin0: fimc-is-spi-pin0 {
|
||||
samsung,pins = "gpc3-3", "gpc3-2", "gpc3-1", "gpc3-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_spi_pin1: fimc-is-spi-pin1 {
|
||||
samsung,pins = "gpc3-7", "gpc3-6", "gpc3-5", "gpc3-4";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
uart0_bus: uart0-bus {
|
||||
samsung,pins = "gpd0-3", "gpd0-2", "gpd0-1", "gpd0-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
hs_i2c2_bus: hs-i2c2-bus {
|
||||
samsung,pins = "gpd0-3", "gpd0-2";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
uart2_bus: uart2-bus {
|
||||
samsung,pins = "gpd1-5", "gpd1-4";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
uart1_bus: uart1-bus {
|
||||
samsung,pins = "gpd1-3", "gpd1-2", "gpd1-1", "gpd1-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
hs_i2c3_bus: hs-i2c3-bus {
|
||||
samsung,pins = "gpd1-3", "gpd1-2";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c0_bus: hs-i2c0-bus {
|
||||
samsung,pins = "gpd2-1", "gpd2-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c1_bus: hs-i2c1-bus {
|
||||
samsung,pins = "gpd2-3", "gpd2-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
pwm0_out: pwm0-out {
|
||||
samsung,pins = "gpd2-4";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
pwm1_out: pwm1-out {
|
||||
samsung,pins = "gpd2-5";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
pwm2_out: pwm2-out {
|
||||
samsung,pins = "gpd2-6";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
pwm3_out: pwm3-out {
|
||||
samsung,pins = "gpd2-7";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
spi1_bus: spi1-bus {
|
||||
samsung,pins = "gpd6-2", "gpd6-4", "gpd6-5";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c7_bus: hs-i2c7-bus {
|
||||
samsung,pins = "gpd2-7", "gpd2-6";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
spi0_bus: spi0-bus {
|
||||
samsung,pins = "gpd8-0", "gpd6-0", "gpd6-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c10_bus: hs-i2c10-bus {
|
||||
samsung,pins = "gpg3-1", "gpg3-0";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
hs_i2c11_bus: hs-i2c11-bus {
|
||||
samsung,pins = "gpg3-3", "gpg3-2";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
spi3_bus: spi3-bus {
|
||||
samsung,pins = "gpg3-4", "gpg3-6", "gpg3-7";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
spi4_bus: spi4-bus {
|
||||
samsung,pins = "gpv7-1", "gpv7-3", "gpv7-4";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_uart: fimc-is-uart {
|
||||
samsung,pins = "gpc1-1", "gpc0-7";
|
||||
samsung,pin-function = <3>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_ch0_i2c: fimc-is-ch0_i2c {
|
||||
samsung,pins = "gpc2-1", "gpc2-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_ch0_mclk: fimc-is-ch0_mclk {
|
||||
samsung,pins = "gpd7-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_ch1_i2c: fimc-is-ch1-i2c {
|
||||
samsung,pins = "gpc2-3", "gpc2-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_ch1_mclk: fimc-is-ch1-mclk {
|
||||
samsung,pins = "gpd7-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_ch2_i2c: fimc-is-ch2-i2c {
|
||||
samsung,pins = "gpc2-5", "gpc2-4";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
|
||||
fimc_is_ch2_mclk: fimc-is-ch2-mclk {
|
||||
samsung,pins = "gpd7-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -797,8 +786,8 @@
|
||||
|
||||
hs_i2c5_bus: hs-i2c5-bus {
|
||||
samsung,pins = "gpj1-1", "gpj1-0";
|
||||
samsung,pin-function = <4>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <0>;
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
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.
|
||||
*/
|
||||
|
||||
#include "exynos5433-tm2.dts"
|
||||
#include "exynos5433-tm2-common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Samsung TM2E board";
|
||||
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 {
|
||||
regulator-name = "TSP_VDD_1.8V_AP";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
|
@ -299,7 +299,7 @@
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
cmu_peris: clock-controller@0x10040000 {
|
||||
cmu_peris: clock-controller@10040000 {
|
||||
compatible = "samsung,exynos5433-cmu-peris";
|
||||
reg = <0x10040000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
@ -599,6 +599,30 @@
|
||||
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 {
|
||||
compatible = "samsung,exynos5433-pinctrl";
|
||||
reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
|
||||
@ -682,7 +706,7 @@
|
||||
interrupts = <GIC_PPI 9 0xf04>;
|
||||
};
|
||||
|
||||
mipi_phy: video-phy@105c0710 {
|
||||
mipi_phy: video-phy {
|
||||
compatible = "samsung,exynos5433-mipi-video-phy";
|
||||
#phy-cells = <1>;
|
||||
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 {
|
||||
compatible = "samsung,exynos5433-mipi-dsi";
|
||||
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 {
|
||||
compatible = "syscon";
|
||||
reg = <0x13b80000 0x1010>;
|
||||
@ -868,7 +944,7 @@
|
||||
iommu-names = "left", "right";
|
||||
};
|
||||
|
||||
sysmmu_decon0x: sysmmu@0x13a00000 {
|
||||
sysmmu_decon0x: sysmmu@13a00000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x13a00000 0x1000>;
|
||||
interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -878,7 +954,7 @@
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
sysmmu_decon1x: sysmmu@0x13a10000 {
|
||||
sysmmu_decon1x: sysmmu@13a10000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x13a10000 0x1000>;
|
||||
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -888,7 +964,27 @@
|
||||
#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";
|
||||
reg = <0x13C80000 0x1000>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -898,7 +994,7 @@
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
sysmmu_gscl1: sysmmu@0x13C90000 {
|
||||
sysmmu_gscl1: sysmmu@13c90000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x13C90000 0x1000>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -908,7 +1004,7 @@
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
sysmmu_gscl2: sysmmu@0x13CA0000 {
|
||||
sysmmu_gscl2: sysmmu@13ca0000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x13CA0000 0x1000>;
|
||||
interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -918,7 +1014,7 @@
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
sysmmu_jpeg: sysmmu@0x15060000 {
|
||||
sysmmu_jpeg: sysmmu@15060000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x15060000 0x1000>;
|
||||
interrupts = <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -928,7 +1024,7 @@
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
sysmmu_mfc_0: sysmmu@0x15200000 {
|
||||
sysmmu_mfc_0: sysmmu@15200000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x15200000 0x1000>;
|
||||
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -938,7 +1034,7 @@
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
sysmmu_mfc_1: sysmmu@0x15210000 {
|
||||
sysmmu_mfc_1: sysmmu@15210000 {
|
||||
compatible = "samsung,exynos-sysmmu";
|
||||
reg = <0x15210000 0x1000>;
|
||||
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -1261,7 +1357,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbdrd30: usb@15400000 {
|
||||
usbdrd30: usbdrd {
|
||||
compatible = "samsung,exynos5250-dwusb3";
|
||||
clocks = <&cmu_fsys CLK_ACLK_USBDRD30>,
|
||||
<&cmu_fsys CLK_SCLK_USBDRD30>;
|
||||
@ -1308,7 +1404,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbhost30: usb@15a00000 {
|
||||
usbhost30: usbhost {
|
||||
compatible = "samsung,exynos5250-dwusb3";
|
||||
clocks = <&cmu_fsys CLK_ACLK_USBHOST30>,
|
||||
<&cmu_fsys CLK_SCLK_USBHOST30>;
|
||||
@ -1398,6 +1494,8 @@
|
||||
audio-subsystem@11400000 {
|
||||
compatible = "samsung,exynos5433-lpass";
|
||||
reg = <0x11400000 0x100>, <0x11500000 0x08>;
|
||||
clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>;
|
||||
clock-names = "sfr0_ctrl";
|
||||
samsung,pmu-syscon = <&pmu_system_controller>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -1458,5 +1556,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
#include "exynos5433-bus.dtsi"
|
||||
#include "exynos5433-pinctrl.dtsi"
|
||||
#include "exynos5433-tmu.dtsi"
|
||||
|
@ -497,49 +497,49 @@
|
||||
samsung,pins = "gpr0-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <0>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
sd0_cmd: sd0-cmd {
|
||||
samsung,pins = "gpr0-1";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
sd0_ds: sd0-ds {
|
||||
samsung,pins = "gpr0-2";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
sd0_qrdy: sd0-qrdy {
|
||||
samsung,pins = "gpr0-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <1>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
sd0_bus1: sd0-bus-width1 {
|
||||
samsung,pins = "gpr1-0";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
sd0_bus4: sd0-bus-width4 {
|
||||
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
sd0_bus8: sd0-bus-width8 {
|
||||
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
|
||||
samsung,pin-function = <2>;
|
||||
samsung,pin-pud = <3>;
|
||||
samsung,pin-drv = <3>;
|
||||
samsung,pin-drv = <4>;
|
||||
};
|
||||
|
||||
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-rdb.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/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
compatible = "fsl,ls1046a";
|
||||
@ -67,6 +68,7 @@
|
||||
clocks = <&clockgen 1 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
@ -279,6 +281,84 @@
|
||||
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 {
|
||||
compatible = "fsl,ls1021a-v1.0-dspi";
|
||||
#address-cells = <1>;
|
||||
|
@ -102,7 +102,6 @@
|
||||
reg = <0x75>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#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) += hip05-d02.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-7040-db.dtb
|
||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-db.dtb
|
||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-mcbin.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
|
@ -16,17 +16,17 @@
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively
|
||||
* 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
|
||||
* 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
|
||||
@ -35,11 +35,11 @@
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
|
@ -15,17 +15,17 @@
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively
|
||||
* 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
|
||||
* 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
|
||||
@ -34,11 +34,11 @@
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
@ -62,11 +62,45 @@
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON3 */
|
||||
&sata {
|
||||
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 */
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
|
@ -14,17 +14,17 @@
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively
|
||||
* 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
|
||||
* 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
|
||||
@ -33,11 +33,11 @@
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
@ -80,3 +80,69 @@
|
||||
&usb3 {
|
||||
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
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively
|
||||
* 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
|
||||
* 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
|
||||
@ -35,11 +35,11 @@
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
|
@ -15,17 +15,17 @@
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively
|
||||
* 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
|
||||
* 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
|
||||
@ -34,11 +34,11 @@
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
@ -98,6 +98,35 @@
|
||||
/* 32M internal register @ 0xd000_0000 */
|
||||
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 {
|
||||
compatible = "marvell,armada-3700-uart";
|
||||
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-pcie_x11", "cpm-pcie_x4", "cpm-pcie-xor",
|
||||
"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-usb3dev", "cpm-eip150", "cpm-eip197";
|
||||
};
|
||||
|
||||
cpm_sata0: sata@540000 {
|
||||
compatible = "marvell,armada-8k-ahci";
|
||||
compatible = "marvell,armada-8k-ahci",
|
||||
"generic-ahci";
|
||||
reg = <0x540000 0x30000>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_syscon0 1 15>;
|
||||
|
@ -74,13 +74,14 @@
|
||||
"cps-gop-dp", "none", "cps-pcie_x10",
|
||||
"cps-pcie_x11", "cps-pcie_x4", "cps-pcie-xor",
|
||||
"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-usb3dev", "cps-eip150", "cps-eip197";
|
||||
};
|
||||
|
||||
cps_sata0: sata@540000 {
|
||||
compatible = "marvell,armada-8k-ahci";
|
||||
compatible = "marvell,armada-8k-ahci",
|
||||
"generic-ahci";
|
||||
reg = <0x540000 0x30000>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_syscon0 1 15>;
|
||||
|
@ -182,12 +182,12 @@
|
||||
map@0 {
|
||||
trip = <&target>;
|
||||
cooling-device = <&cpu0 0 0>;
|
||||
contribution = <1024>;
|
||||
contribution = <3072>;
|
||||
};
|
||||
map@1 {
|
||||
trip = <&target>;
|
||||
cooling-device = <&cpu2 0 0>;
|
||||
contribution = <2048>;
|
||||
contribution = <1024>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -401,6 +401,11 @@
|
||||
efuse: efuse@10206000 {
|
||||
compatible = "mediatek,mt8173-efuse";
|
||||
reg = <0 0x10206000 0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
thermal_calibration: calib@528 {
|
||||
reg = <0x528 0xc>;
|
||||
};
|
||||
};
|
||||
|
||||
apmixedsys: clock-controller@10209000 {
|
||||
@ -574,6 +579,8 @@
|
||||
resets = <&pericfg MT8173_PERI_THERM_SW_RST>;
|
||||
mediatek,auxadc = <&auxadc>;
|
||||
mediatek,apmixedsys = <&apmixedsys>;
|
||||
nvmem-cells = <&thermal_calibration>;
|
||||
nvmem-cell-names = "calibration-data";
|
||||
};
|
||||
|
||||
nor_flash: spi@1100d000 {
|
||||
@ -780,6 +787,8 @@
|
||||
compatible = "mediatek,mt8173-mmsys", "syscon";
|
||||
reg = <0 0x14000000 0 0x1000>;
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
|
||||
assigned-clocks = <&topckgen CLK_TOP_MM_SEL>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
#include <dt-bindings/clock/tegra186-clock.h>
|
||||
#include <dt-bindings/gpio/tegra186-gpio.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";
|
||||
@ -29,9 +32,9 @@
|
||||
reg = <0x0 0x03100000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 55>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTA>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 47>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTA>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -41,9 +44,9 @@
|
||||
reg = <0x0 0x03110000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 56>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTB>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 48>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTB>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -53,9 +56,9 @@
|
||||
reg = <0x0 0x03130000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 77>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTD>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 50>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTD>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -65,9 +68,9 @@
|
||||
reg = <0x0 0x03140000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 194>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTE>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 132>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTE>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -77,9 +80,9 @@
|
||||
reg = <0x0 0x03150000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 195>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTF>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 111>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTF>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -90,9 +93,9 @@
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 47>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C1>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 19>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C1>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -103,9 +106,9 @@
|
||||
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 75>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C3>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 21>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C3>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -117,9 +120,9 @@
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 86>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C4>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 22>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C4>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -131,9 +134,9 @@
|
||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 48>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C5>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 23>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C5>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -145,9 +148,9 @@
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 125>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C6>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 24>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C6>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -158,9 +161,9 @@
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 182>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C7>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 81>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C7>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -171,9 +174,9 @@
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 183>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C9>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 83>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C9>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -182,9 +185,9 @@
|
||||
compatible = "nvidia,tegra186-sdhci";
|
||||
reg = <0x0 0x03400000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 52>;
|
||||
clocks = <&bpmp TEGRA186_CLK_SDMMC1>;
|
||||
clock-names = "sdhci";
|
||||
resets = <&bpmp 33>;
|
||||
resets = <&bpmp TEGRA186_RESET_SDMMC1>;
|
||||
reset-names = "sdhci";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -193,9 +196,9 @@
|
||||
compatible = "nvidia,tegra186-sdhci";
|
||||
reg = <0x0 0x03420000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 53>;
|
||||
clocks = <&bpmp TEGRA186_CLK_SDMMC2>;
|
||||
clock-names = "sdhci";
|
||||
resets = <&bpmp 34>;
|
||||
resets = <&bpmp TEGRA186_RESET_SDMMC2>;
|
||||
reset-names = "sdhci";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -204,9 +207,9 @@
|
||||
compatible = "nvidia,tegra186-sdhci";
|
||||
reg = <0x0 0x03440000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 76>;
|
||||
clocks = <&bpmp TEGRA186_CLK_SDMMC3>;
|
||||
clock-names = "sdhci";
|
||||
resets = <&bpmp 35>;
|
||||
resets = <&bpmp TEGRA186_RESET_SDMMC3>;
|
||||
reset-names = "sdhci";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -215,9 +218,9 @@
|
||||
compatible = "nvidia,tegra186-sdhci";
|
||||
reg = <0x0 0x03460000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 54>;
|
||||
clocks = <&bpmp TEGRA186_CLK_SDMMC4>;
|
||||
clock-names = "sdhci";
|
||||
resets = <&bpmp 36>;
|
||||
resets = <&bpmp TEGRA186_RESET_SDMMC4>;
|
||||
reset-names = "sdhci";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -248,9 +251,9 @@
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 218>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C2>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 20>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C2>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -261,9 +264,9 @@
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&bpmp 219>;
|
||||
clocks = <&bpmp TEGRA186_CLK_I2C8>;
|
||||
clock-names = "div-clk";
|
||||
resets = <&bpmp 82>;
|
||||
resets = <&bpmp TEGRA186_RESET_I2C8>;
|
||||
reset-names = "i2c";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -273,9 +276,9 @@
|
||||
reg = <0x0 0x0c280000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 215>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTC>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 49>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTC>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -285,9 +288,9 @@
|
||||
reg = <0x0 0x0c290000 0x0 0x40>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp 216>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTG>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp 112>;
|
||||
resets = <&bpmp TEGRA186_RESET_UARTG>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -369,7 +372,8 @@
|
||||
|
||||
bpmp: 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>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
||||
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
|
||||
|
||||
&pm8916_gpios {
|
||||
|
||||
@ -30,6 +31,18 @@
|
||||
|
||||
&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 {
|
||||
pinconf {
|
||||
pins = "mpp2", "mpp3";
|
||||
|
@ -72,4 +72,17 @@
|
||||
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 "apq8016-sbc-soc-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>
|
||||
|
||||
/ {
|
||||
@ -85,6 +87,7 @@
|
||||
pinctrl-names = "default","sleep";
|
||||
pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
|
||||
pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
@ -285,6 +288,15 @@
|
||||
qcom,audio-routing =
|
||||
"AMIC2", "MIC BIAS Internal2",
|
||||
"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 */
|
||||
link-name = "WCD";
|
||||
@ -306,6 +318,10 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wcnss@a21b000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
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 {
|
||||
|
@ -5,11 +5,23 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ls_exp_gpio_f>;
|
||||
|
||||
ls_exp_gpio_f: pm8916_mpp4 {
|
||||
ls_exp_gpio_f: pm8994_gpio5 {
|
||||
pinconf {
|
||||
pins = "gpio5";
|
||||
output-low;
|
||||
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 "apq8096-db820c-pins.dtsi"
|
||||
#include "apq8096-db820c-pmic-pins.dtsi"
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
@ -87,4 +89,21 @@
|
||||
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/clock/qcom,gcc-msm8916.h>
|
||||
#include <dt-bindings/reset/qcom,gcc-msm8916.h>
|
||||
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. MSM8916";
|
||||
@ -82,7 +83,7 @@
|
||||
no-map;
|
||||
};
|
||||
|
||||
wcnss@89300000 {
|
||||
wcnss_mem: wcnss@89300000 {
|
||||
reg = <0x0 0x89300000 0x0 0x600000>;
|
||||
no-map;
|
||||
};
|
||||
@ -856,6 +857,316 @@
|
||||
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 {
|
||||
@ -871,7 +1182,7 @@
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: qcom,rpmcc {
|
||||
compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
|
||||
compatible = "qcom,rpmcc-msm8916";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
|
@ -258,6 +258,12 @@
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
firmware {
|
||||
scm {
|
||||
compatible = "qcom,scm-msm8996";
|
||||
};
|
||||
};
|
||||
|
||||
tcsr_mutex: hwlock {
|
||||
compatible = "qcom,tcsr-mutex";
|
||||
syscon = <&tcsr_mutex_regs 0 0x1000>;
|
||||
|
@ -277,6 +277,8 @@
|
||||
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
||||
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
||||
<&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>,
|
||||
<&audio_clk_a>, <&cs2000>,
|
||||
<&audio_clk_c>,
|
||||
|
@ -412,6 +412,8 @@
|
||||
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
||||
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
||||
<&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>,
|
||||
<&audio_clk_a>, <&cs2000>,
|
||||
<&audio_clk_c>,
|
||||
|
@ -166,6 +166,9 @@
|
||||
<0x0 0xf1060000 0 0x20000>;
|
||||
interrupts = <GIC_PPI 9
|
||||
(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 {
|
||||
@ -337,72 +340,6 @@
|
||||
#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 {
|
||||
compatible = "renesas,pfc-r8a7795";
|
||||
reg = <0 0xe6060000 0 0x50c>;
|
||||
@ -522,6 +459,72 @@
|
||||
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 {
|
||||
compatible = "renesas,etheravb-r8a7795",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
@ -563,6 +566,7 @@
|
||||
phy-mode = "rgmii-id";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can0: can@e6c30000 {
|
||||
@ -792,7 +796,8 @@
|
||||
i2c0: i2c@e6500000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6500000 0 0x40>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
@ -806,7 +811,8 @@
|
||||
i2c1: i2c@e6508000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
@ -820,7 +826,8 @@
|
||||
i2c2: i2c@e6510000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6510000 0 0x40>;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
@ -834,7 +841,8 @@
|
||||
i2c3: i2c@e66d0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 928>;
|
||||
@ -848,7 +856,8 @@
|
||||
i2c4: i2c@e66d8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 927>;
|
||||
@ -862,7 +871,8 @@
|
||||
i2c5: i2c@e66e0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66e0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 919>;
|
||||
@ -876,7 +886,8 @@
|
||||
i2c6: i2c@e66e8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7795";
|
||||
compatible = "renesas,i2c-r8a7795",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66e8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 918>;
|
||||
@ -887,6 +898,69 @@
|
||||
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 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
@ -919,6 +993,8 @@
|
||||
<&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
|
||||
<&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
|
||||
<&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>,
|
||||
<&audio_clk_a>, <&audio_clk_b>,
|
||||
<&audio_clk_c>,
|
||||
@ -930,6 +1006,8 @@
|
||||
"src.9", "src.8", "src.7", "src.6",
|
||||
"src.5", "src.4", "src.3", "src.2",
|
||||
"src.1", "src.0",
|
||||
"mix.1", "mix.0",
|
||||
"ctu.1", "ctu.0",
|
||||
"dvc.0", "dvc.1",
|
||||
"clk_a", "clk_b", "clk_c", "clk_i";
|
||||
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 {
|
||||
src0: src-0 {
|
||||
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@ -1058,6 +1152,7 @@
|
||||
reg = <0 0xee300000 0 0x1fff>;
|
||||
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 815>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -1146,7 +1241,8 @@
|
||||
};
|
||||
|
||||
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>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 703>;
|
||||
@ -1156,7 +1252,8 @@
|
||||
};
|
||||
|
||||
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>;
|
||||
clocks = <&cpg CPG_MOD 702>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
@ -1165,7 +1262,8 @@
|
||||
};
|
||||
|
||||
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>;
|
||||
clocks = <&cpg CPG_MOD 701>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
@ -1256,7 +1354,8 @@
|
||||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
compatible = "renesas,pcie-r8a7795";
|
||||
compatible = "renesas,pcie-r8a7795",
|
||||
"renesas,pcie-rcar-gen3";
|
||||
reg = <0 0xfe000000 0 0x80000>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
@ -1281,7 +1380,8 @@
|
||||
};
|
||||
|
||||
pciec1: pcie@ee800000 {
|
||||
compatible = "renesas,pcie-r8a7795";
|
||||
compatible = "renesas,pcie-r8a7795",
|
||||
"renesas,pcie-rcar-gen3";
|
||||
reg = <0 0xee800000 0 0x80000>;
|
||||
#address-cells = <3>;
|
||||
#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 {
|
||||
serial0 = &scif2;
|
||||
ethernet0 = &avb;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@ -31,6 +32,11 @@
|
||||
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||
};
|
||||
|
||||
memory@600000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x6 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
reg_1p8v: regulator0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
@ -102,6 +108,11 @@
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
avb_pins: avb {
|
||||
groups = "avb_mdc";
|
||||
function = "avb";
|
||||
};
|
||||
|
||||
scif2_pins: scif2 {
|
||||
groups = "scif2_data_a";
|
||||
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 {
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
|
@ -69,6 +69,13 @@
|
||||
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 */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
@ -94,6 +101,9 @@
|
||||
<0x0 0xf1060000 0 0x20000>;
|
||||
interrupts = <GIC_PPI 9
|
||||
(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 {
|
||||
@ -262,7 +272,8 @@
|
||||
i2c0: i2c@e6500000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6500000 0 0x40>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
@ -277,7 +288,8 @@
|
||||
i2c1: i2c@e6508000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
@ -292,7 +304,8 @@
|
||||
i2c2: i2c@e6510000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6510000 0 0x40>;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
@ -307,7 +320,8 @@
|
||||
i2c3: i2c@e66d0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 928>;
|
||||
@ -321,7 +335,8 @@
|
||||
i2c4: i2c@e66d8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 927>;
|
||||
@ -335,7 +350,8 @@
|
||||
i2c5: i2c@e66e0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66e0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 919>;
|
||||
@ -349,7 +365,8 @@
|
||||
i2c6: i2c@e66e8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a7796";
|
||||
compatible = "renesas,i2c-r8a7796",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66e8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 918>;
|
||||
@ -360,6 +377,104 @@
|
||||
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 {
|
||||
compatible = "renesas,scif-r8a7796",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
@ -373,6 +488,64 @@
|
||||
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 {
|
||||
compatible = "renesas,dmac-r8a7796",
|
||||
"renesas,rcar-dmac";
|
||||
@ -511,5 +684,63 @@
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
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
|
||||
248 249 250 251 252 253 254 255>;
|
||||
default-brightness-level = <128>;
|
||||
enable-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
|
||||
enable-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bl_en>;
|
||||
pwms = <&pwm0 0 1000000 PWM_POLARITY_INVERTED>;
|
||||
@ -101,7 +101,7 @@
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
pinctrl-0 = <&emmc_reset>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
keys: gpio-keys {
|
||||
@ -111,7 +111,7 @@
|
||||
|
||||
power {
|
||||
wakeup-source;
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO Power";
|
||||
linux,code = <KEY_POWER>;
|
||||
};
|
||||
@ -121,7 +121,7 @@
|
||||
vcc_host: vcc-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
|
||||
gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&host_vbus_drv>;
|
||||
regulator-name = "vcc_host";
|
||||
@ -166,7 +166,7 @@
|
||||
phy-supply = <&vcc_lan>;
|
||||
phy-mode = "rmii";
|
||||
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-delays-us = <0 10000 1000000>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -66,7 +66,7 @@
|
||||
|
||||
ir: ir-receiver {
|
||||
compatible = "gpio-ir-receiver";
|
||||
gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
|
||||
gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir_int>;
|
||||
};
|
||||
@ -77,7 +77,7 @@
|
||||
pinctrl-0 = <&pwr_key>;
|
||||
|
||||
power {
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO Power";
|
||||
linux,code = <KEY_POWER>;
|
||||
wakeup-source;
|
||||
@ -88,13 +88,13 @@
|
||||
compatible = "gpio-leds";
|
||||
|
||||
blue {
|
||||
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
label = "geekbox:blue:led";
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
red {
|
||||
gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
label = "geekbox:red:led";
|
||||
default-state = "off";
|
||||
};
|
||||
@ -146,7 +146,7 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
|
||||
rockchip,system-power-controller;
|
||||
vcc1-supply = <&vcc_sys>;
|
||||
vcc2-supply = <&vcc_sys>;
|
||||
|
@ -61,7 +61,7 @@
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
pinctrl-0 = <&emmc_reset>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
ext_gmac: external-gmac-clock {
|
||||
@ -78,7 +78,7 @@
|
||||
|
||||
power {
|
||||
wakeup-source;
|
||||
gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
label = "GPIO Power";
|
||||
linux,code = <KEY_POWER>;
|
||||
};
|
||||
@ -88,7 +88,7 @@
|
||||
compatible = "gpio-leds";
|
||||
|
||||
red {
|
||||
gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
|
||||
label = "orion:red:led";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_ctl>;
|
||||
@ -96,7 +96,7 @@
|
||||
};
|
||||
|
||||
blue {
|
||||
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
|
||||
label = "orion:blue:led";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&stby_pwren>;
|
||||
@ -117,7 +117,7 @@
|
||||
/* supplies both host and otg */
|
||||
vcc_host: vcc-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
gpio = <&gpio0 4 GPIO_ACTIVE_LOW>;
|
||||
gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&host_vbus_drv>;
|
||||
regulator-name = "vcc_host";
|
||||
@ -149,7 +149,7 @@
|
||||
vcc_sd: vcc-sd-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_sd";
|
||||
gpio = <&gpio3 11 GPIO_ACTIVE_LOW>;
|
||||
gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vcc_io>;
|
||||
@ -217,7 +217,7 @@
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
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-delays-us = <0 10000 1000000>;
|
||||
tx_delay = <0x30>;
|
||||
|
@ -63,7 +63,7 @@
|
||||
pinctrl-0 = <&pwr_key>;
|
||||
|
||||
power {
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO Power";
|
||||
linux,code = <KEY_POWER>;
|
||||
wakeup-source;
|
||||
@ -105,7 +105,7 @@
|
||||
compatible = "rockchip,rk808";
|
||||
reg = <0x1b>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
|
||||
rockchip,system-power-controller;
|
||||
@ -236,7 +236,7 @@
|
||||
compatible = "bosch,bma250";
|
||||
reg = <0x18>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupts = <RK_PC1 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -247,8 +247,8 @@
|
||||
compatible = "silead,gsl1680";
|
||||
reg = <0x40>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
|
||||
power-gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
|
||||
interrupts = <RK_PD4 IRQ_TYPE_EDGE_FALLING>;
|
||||
power-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
touchscreen-size-x = <800>;
|
||||
touchscreen-size-y = <1280>;
|
||||
silead,max-fingers = <5>;
|
||||
|
@ -61,7 +61,7 @@
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
pinctrl-0 = <&emmc_reset>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
keys: gpio-keys {
|
||||
@ -71,7 +71,7 @@
|
||||
|
||||
power {
|
||||
wakeup-source;
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
label = "GPIO Power";
|
||||
linux,code = <KEY_POWER>;
|
||||
};
|
||||
@ -81,7 +81,7 @@
|
||||
compatible = "gpio-leds";
|
||||
|
||||
work {
|
||||
gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
|
||||
gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
|
||||
label = "r88:green:led";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_ctl>;
|
||||
@ -90,7 +90,7 @@
|
||||
|
||||
ir: ir-receiver {
|
||||
compatible = "gpio-ir-receiver";
|
||||
gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
|
||||
gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ir_int>;
|
||||
};
|
||||
@ -104,10 +104,10 @@
|
||||
|
||||
reset-gpios =
|
||||
/* BT_RST_N */
|
||||
<&gpio3 5 GPIO_ACTIVE_LOW>,
|
||||
<&gpio3 RK_PA5 GPIO_ACTIVE_LOW>,
|
||||
|
||||
/* WL_REG_ON */
|
||||
<&gpio3 4 GPIO_ACTIVE_LOW>;
|
||||
<&gpio3 RK_PA4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
vcc_18: vcc18-regulator {
|
||||
@ -124,7 +124,7 @@
|
||||
vcc_host: vcc-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio0 4 GPIO_ACTIVE_HIGH>;
|
||||
gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&host_vbus_drv>;
|
||||
regulator-name = "vcc_host";
|
||||
@ -199,7 +199,7 @@
|
||||
phy-supply = <&vcc_lan>;
|
||||
phy-mode = "rmii";
|
||||
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-delays-us = <0 10000 1000000>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -85,7 +85,7 @@
|
||||
240 241 242 243 244 245 246 247
|
||||
248 249 250 251 252 253 254 255>;
|
||||
default-brightness-level = <200>;
|
||||
enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
|
||||
enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
|
||||
pwms = <&pwm0 0 25000 0>;
|
||||
};
|
||||
|
||||
@ -128,7 +128,7 @@
|
||||
vcc5v0_host: vcc5v0-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
|
||||
gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vcc5v0_host_en>;
|
||||
regulator-name = "vcc5v0_host";
|
||||
@ -163,7 +163,7 @@
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
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-delays-us = <0 10000 50000>;
|
||||
tx_delay = <0x28>;
|
||||
@ -196,7 +196,7 @@
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
ep-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
|
||||
ep-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>;
|
||||
num-lanes = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie_clkreqn>;
|
||||
|
@ -283,6 +283,7 @@
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
aspm-no-l0s;
|
||||
bus-range = <0x0 0x1>;
|
||||
clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
|
||||
<&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
|
||||
@ -297,6 +298,7 @@
|
||||
<0 0 0 2 &pcie0_intc 1>,
|
||||
<0 0 0 3 &pcie0_intc 2>,
|
||||
<0 0 0 4 &pcie0_intc 3>;
|
||||
max-link-speed = <1>;
|
||||
msi-map = <0x0 &its 0x0 0x1000>;
|
||||
phys = <&pcie_phy>;
|
||||
phy-names = "pcie-phy";
|
||||
@ -321,8 +323,10 @@
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x0 0xfe380000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
|
||||
clock-names = "hclk_host0", "hclk_host0_arb";
|
||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
|
||||
<&u2phy0>;
|
||||
clock-names = "usbhost", "arbiter",
|
||||
"utmi";
|
||||
phys = <&u2phy0_host>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
@ -332,8 +336,12 @@
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x0 0xfe3a0000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
|
||||
clock-names = "hclk_host0", "hclk_host0_arb";
|
||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>,
|
||||
<&u2phy0>;
|
||||
clock-names = "usbhost", "arbiter",
|
||||
"utmi";
|
||||
phys = <&u2phy0_host>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -341,8 +349,10 @@
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x0 0xfe3c0000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
|
||||
clock-names = "hclk_host1", "hclk_host1_arb";
|
||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
|
||||
<&u2phy1>;
|
||||
clock-names = "usbhost", "arbiter",
|
||||
"utmi";
|
||||
phys = <&u2phy1_host>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
@ -352,8 +362,12 @@
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x0 0xfe3e0000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
|
||||
clock-names = "hclk_host1", "hclk_host1_arb";
|
||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>,
|
||||
<&u2phy1>;
|
||||
clock-names = "usbhost", "arbiter",
|
||||
"utmi";
|
||||
phys = <&u2phy1_host>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -607,7 +621,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
thermal_zones: thermal-zones {
|
||||
cpu_thermal: cpu {
|
||||
polling-delay-passive = <100>;
|
||||
polling-delay = <1000>;
|
||||
@ -1077,6 +1091,7 @@
|
||||
pmucru: pmu-clock-controller@ff750000 {
|
||||
compatible = "rockchip,rk3399-pmucru";
|
||||
reg = <0x0 0xff750000 0x0 0x1000>;
|
||||
rockchip,grf = <&pmugrf>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
assigned-clocks = <&pmucru PLL_PPLL>;
|
||||
@ -1086,6 +1101,7 @@
|
||||
cru: clock-controller@ff760000 {
|
||||
compatible = "rockchip,rk3399-cru";
|
||||
reg = <0x0 0xff760000 0x0 0x1000>;
|
||||
rockchip,grf = <&grf>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
assigned-clocks =
|
||||
@ -1436,6 +1452,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
edp {
|
||||
edp_hpd: edp-hpd {
|
||||
rockchip,pins =
|
||||
<4 23 RK_FUNC_2 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
gmac {
|
||||
rgmii_pins: rgmii-pins {
|
||||
rockchip,pins =
|
||||
|
@ -273,6 +273,17 @@
|
||||
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 {
|
||||
compatible = "socionext,uniphier-ld11-perictrl",
|
||||
"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 {
|
||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||
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 {
|
||||
compatible = "socionext,uniphier-ld20-soc-glue",
|
||||
"simple-mfd", "syscon";
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/clock/zx296718-clock.h>
|
||||
|
||||
/ {
|
||||
compatible = "zte,zx296718";
|
||||
@ -81,6 +82,8 @@
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "psci";
|
||||
clocks = <&topcrm A53_GATE>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
@ -88,6 +91,8 @@
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "psci";
|
||||
clocks = <&topcrm A53_GATE>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
@ -95,6 +100,8 @@
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x2>;
|
||||
enable-method = "psci";
|
||||
clocks = <&topcrm A53_GATE>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
@ -102,6 +109,38 @@
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x3>;
|
||||
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_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_OUTPUT 1
|
||||
#define EXYNOS_PIN_FUNC_2 2
|
||||
|
Loading…
Reference in New Issue
Block a user