aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/arm/exynos/power_domain.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/gic.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/marvell,kirkwood.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt84
-rw-r--r--Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt40
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt32
-rw-r--r--Documentation/devicetree/bindings/media/ti,omap3isp.txt71
-rw-r--r--Documentation/devicetree/bindings/mfd/qcom,tcsr.txt22
-rw-r--r--Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt47
-rw-r--r--Documentation/devicetree/bindings/serial/omap_serial.txt20
-rw-r--r--Documentation/devicetree/bindings/soc/mediatek/pwrap.txt58
-rw-r--r--Documentation/devicetree/bindings/sound/omap-twl4030.txt3
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt1
-rw-r--r--Documentation/devicetree/bindings/video/atmel,lcdc.txt12
-rw-r--r--MAINTAINERS1
-rw-r--r--arch/arm/boot/dts/Makefile21
-rw-r--r--arch/arm/boot/dts/alpine-db.dts35
-rw-r--r--arch/arm/boot/dts/alpine.dtsi160
-rw-r--r--arch/arm/boot/dts/am335x-chiliboard.dts112
-rw-r--r--arch/arm/boot/dts/am335x-chilisom.dtsi239
-rw-r--r--arch/arm/boot/dts/am335x-evmsk.dts11
-rw-r--r--arch/arm/boot/dts/am335x-nano.dts18
-rw-r--r--arch/arm/boot/dts/am4372.dtsi2
-rw-r--r--arch/arm/boot/dts/am437x-idk-evm.dts22
-rw-r--r--arch/arm/boot/dts/am57xx-beagle-x15.dts9
-rw-r--r--arch/arm/boot/dts/armada-370-db.dts13
-rw-r--r--arch/arm/boot/dts/armada-370-mirabox.dts2
-rw-r--r--arch/arm/boot/dts/armada-370-netgear-rn102.dts2
-rw-r--r--arch/arm/boot/dts/armada-370-netgear-rn104.dts2
-rw-r--r--arch/arm/boot/dts/armada-370-rd.dts2
-rw-r--r--arch/arm/boot/dts/armada-370-synology-ds213j.dts3
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi11
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi3
-rw-r--r--arch/arm/boot/dts/armada-375-db.dts2
-rw-r--r--arch/arm/boot/dts/armada-375.dtsi15
-rw-r--r--arch/arm/boot/dts/armada-385-db-ap.dts44
-rw-r--r--arch/arm/boot/dts/armada-388-db.dts4
-rw-r--r--arch/arm/boot/dts/armada-388-gp.dts5
-rw-r--r--arch/arm/boot/dts/armada-388-rd.dts12
-rw-r--r--arch/arm/boot/dts/armada-38x.dtsi23
-rw-r--r--arch/arm/boot/dts/armada-390.dtsi57
-rw-r--r--arch/arm/boot/dts/armada-398-db.dts153
-rw-r--r--arch/arm/boot/dts/armada-398.dtsi60
-rw-r--r--arch/arm/boot/dts/armada-39x.dtsi508
-rw-r--r--arch/arm/boot/dts/armada-xp-axpwifiap.dts2
-rw-r--r--arch/arm/boot/dts/armada-xp-db.dts2
-rw-r--r--arch/arm/boot/dts/armada-xp-gp.dts2
-rw-r--r--arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts3
-rw-r--r--arch/arm/boot/dts/armada-xp-linksys-mamba.dts393
-rw-r--r--arch/arm/boot/dts/armada-xp-matrix.dts2
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78260.dtsi1
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78460.dtsi1
-rw-r--r--arch/arm/boot/dts/armada-xp-netgear-rn2120.dts2
-rw-r--r--arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts2
-rw-r--r--arch/arm/boot/dts/armada-xp-synology-ds414.dts3
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi8
-rw-r--r--arch/arm/boot/dts/at91-sama5d3_xplained.dts8
-rw-r--r--arch/arm/boot/dts/at91-sama5d4_xplained.dts241
-rw-r--r--arch/arm/boot/dts/at91-sama5d4ek.dts55
-rw-r--r--arch/arm/boot/dts/at91sam9g25.dtsi1
-rw-r--r--arch/arm/boot/dts/at91sam9g25ek.dts18
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi9
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts18
-rw-r--r--arch/arm/boot/dts/at91sam9x5_isi.dtsi46
-rw-r--r--arch/arm/boot/dts/at91sam9x5cm.dtsi4
-rw-r--r--arch/arm/boot/dts/at91sam9x5ek.dtsi48
-rw-r--r--arch/arm/boot/dts/bcm-cygnus.dtsi78
-rw-r--r--arch/arm/boot/dts/bcm4708-netgear-r6250.dts4
-rw-r--r--arch/arm/boot/dts/bcm4709-netgear-r8000.dts77
-rw-r--r--arch/arm/boot/dts/bcm7445.dtsi14
-rw-r--r--arch/arm/boot/dts/bcm911360_entphn.dts13
-rw-r--r--arch/arm/boot/dts/bcm958300k.dts8
-rw-r--r--arch/arm/boot/dts/bcm958305k.dts53
-rw-r--r--arch/arm/boot/dts/dm8168-evm.dts14
-rw-r--r--arch/arm/boot/dts/dm816x.dtsi60
-rw-r--r--arch/arm/boot/dts/dove.dtsi63
-rw-r--r--arch/arm/boot/dts/dra7-evm.dts8
-rw-r--r--arch/arm/boot/dts/dra7.dtsi7
-rw-r--r--arch/arm/boot/dts/dra72-evm.dts8
-rw-r--r--arch/arm/boot/dts/dra7xx-clocks.dtsi8
-rw-r--r--arch/arm/boot/dts/emev2-kzm9d.dts13
-rw-r--r--arch/arm/boot/dts/emev2.dtsi10
-rw-r--r--arch/arm/boot/dts/exynos3250.dtsi4
-rw-r--r--arch/arm/boot/dts/exynos4412-odroid-common.dtsi14
-rw-r--r--arch/arm/boot/dts/exynos5250-snow.dts57
-rw-r--r--arch/arm/boot/dts/exynos5250-spring.dts1
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi2
-rw-r--r--arch/arm/boot/dts/exynos5420-arndale-octa.dts4
-rw-r--r--arch/arm/boot/dts/exynos5420-peach-pit.dts99
-rw-r--r--arch/arm/boot/dts/exynos5420-pinctrl.dtsi7
-rw-r--r--arch/arm/boot/dts/exynos5420-smdk5420.dts7
-rw-r--r--arch/arm/boot/dts/exynos5420.dtsi10
-rw-r--r--arch/arm/boot/dts/exynos5422-odroidxu3.dts21
-rw-r--r--arch/arm/boot/dts/exynos5800-peach-pi.dts71
-rw-r--r--arch/arm/boot/dts/kirkwood-nas2big.dts143
-rw-r--r--arch/arm/boot/dts/kirkwood-net2big.dts5
-rw-r--r--arch/arm/boot/dts/meson.dtsi20
-rw-r--r--arch/arm/boot/dts/meson6-atv1200.dts4
-rw-r--r--arch/arm/boot/dts/meson8-minix-neo-x8.dts128
-rw-r--r--arch/arm/boot/dts/meson8.dtsi68
-rw-r--r--arch/arm/boot/dts/mt6589.dtsi5
-rw-r--r--arch/arm/boot/dts/nspire-classic.dtsi5
-rw-r--r--arch/arm/boot/dts/nspire-cx.dts4
-rw-r--r--arch/arm/boot/dts/nspire.dtsi21
-rw-r--r--arch/arm/boot/dts/omap3-beagle-xm.dts1
-rw-r--r--arch/arm/boot/dts/omap3-beagle.dts53
-rw-r--r--arch/arm/boot/dts/omap3-cm-t3517.dts10
-rw-r--r--arch/arm/boot/dts/omap3-cm-t3730.dts10
-rw-r--r--arch/arm/boot/dts/omap3-cm-t3x30.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-devkit8000.dts1
-rw-r--r--arch/arm/boot/dts/omap3-evm-common.dtsi10
-rw-r--r--arch/arm/boot/dts/omap3-gta04.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-igep.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-igep0020-rev-f.dts9
-rw-r--r--arch/arm/boot/dts/omap3-igep0030-rev-g.dts9
-rw-r--r--arch/arm/boot/dts/omap3-lilly-a83x.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-n9.dts37
-rw-r--r--arch/arm/boot/dts/omap3-n900.dts16
-rw-r--r--arch/arm/boot/dts/omap3-n950-n9.dtsi2
-rw-r--r--arch/arm/boot/dts/omap3-n950.dts37
-rw-r--r--arch/arm/boot/dts/omap3-overo-base.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-pandora-1ghz.dts70
-rw-r--r--arch/arm/boot/dts/omap3-pandora-600mhz.dts65
-rw-r--r--arch/arm/boot/dts/omap3-pandora-common.dtsi640
-rw-r--r--arch/arm/boot/dts/omap3-tao3530.dtsi12
-rw-r--r--arch/arm/boot/dts/omap3-zoom3.dts10
-rw-r--r--arch/arm/boot/dts/omap34xx-hs.dtsi16
-rw-r--r--arch/arm/boot/dts/omap34xx.dtsi17
-rw-r--r--arch/arm/boot/dts/omap36xx-hs.dtsi16
-rw-r--r--arch/arm/boot/dts/omap36xx.dtsi17
-rw-r--r--arch/arm/boot/dts/omap4-panda-common.dtsi10
-rw-r--r--arch/arm/boot/dts/omap4-sdp.dts11
-rw-r--r--arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi10
-rw-r--r--arch/arm/boot/dts/qcom-apq8064.dtsi51
-rw-r--r--arch/arm/boot/dts/qcom-apq8074-dragonboard.dts2
-rw-r--r--arch/arm/boot/dts/qcom-apq8084-ifc6540.dts1
-rw-r--r--arch/arm/boot/dts/qcom-apq8084-mtp.dts1
-rw-r--r--arch/arm/boot/dts/qcom-apq8084.dtsi56
-rw-r--r--arch/arm/boot/dts/qcom-ipq8064.dtsi38
-rw-r--r--arch/arm/boot/dts/qcom-msm8660.dtsi8
-rw-r--r--arch/arm/boot/dts/qcom-msm8960.dtsi15
-rw-r--r--arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts2
-rw-r--r--arch/arm/boot/dts/qcom-msm8974.dtsi56
-rw-r--r--arch/arm/boot/dts/qcom-pm8841.dtsi18
-rw-r--r--arch/arm/boot/dts/qcom-pm8941.dtsi18
-rw-r--r--arch/arm/boot/dts/qcom-pma8084.dtsi18
-rw-r--r--arch/arm/boot/dts/r8a73a4-ape6evm.dts22
-rw-r--r--arch/arm/boot/dts/r8a7740.dtsi79
-rw-r--r--arch/arm/boot/dts/r8a7779-marzen.dts9
-rw-r--r--arch/arm/boot/dts/r8a7790-lager.dts69
-rw-r--r--arch/arm/boot/dts/r8a7790.dtsi259
-rw-r--r--arch/arm/boot/dts/r8a7791-henninger.dts11
-rw-r--r--arch/arm/boot/dts/r8a7791-koelsch.dts69
-rw-r--r--arch/arm/boot/dts/r8a7791.dtsi278
-rw-r--r--arch/arm/boot/dts/r8a7794-alt.dts13
-rw-r--r--arch/arm/boot/dts/r8a7794.dtsi157
-rw-r--r--arch/arm/boot/dts/rk3188-radxarock.dts16
-rw-r--r--arch/arm/boot/dts/rk3288-evb-act8846.dts10
-rw-r--r--arch/arm/boot/dts/rk3288-evb-rk808.dts7
-rw-r--r--arch/arm/boot/dts/rk3288-evb.dtsi13
-rw-r--r--arch/arm/boot/dts/rk3288-firefly.dtsi20
-rw-r--r--arch/arm/boot/dts/rk3288-popmetal.dts447
-rw-r--r--arch/arm/boot/dts/rk3288.dtsi35
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi34
-rw-r--r--arch/arm/boot/dts/sama5d35ek.dts2
-rw-r--r--arch/arm/boot/dts/sama5d3_can.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3_emac.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3_gmac.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3_lcd.dtsi207
-rw-r--r--arch/arm/boot/dts/sama5d3_mci2.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3_tcb1.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3_uart.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d4.dtsi342
-rw-r--r--arch/arm/boot/dts/sh73a0-kzm9g-reference.dts42
-rw-r--r--arch/arm/boot/dts/sh73a0-kzm9g.dts2
-rw-r--r--arch/arm/boot/dts/sh73a0.dtsi82
-rw-r--r--arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi2421
-rw-r--r--arch/arm/boot/dts/tegra124-jetson-tk1.dts557
-rw-r--r--arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi2023
-rw-r--r--arch/arm/boot/dts/tegra124-nyan-big.dts2005
-rw-r--r--arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi2049
-rw-r--r--arch/arm/boot/dts/tegra124-nyan-blaze.dts1334
-rw-r--r--arch/arm/boot/dts/tegra124-nyan.dtsi695
-rw-r--r--arch/arm/boot/dts/tegra124.dtsi19
-rw-r--r--arch/arm/boot/dts/tegra30-beaver.dts1651
-rw-r--r--arch/arm/mach-davinci/Kconfig11
-rw-r--r--arch/arm/mach-davinci/board-da850-evm.c112
-rw-r--r--arch/arm/mach-omap2/pdata-quirks.c74
-rw-r--r--arch/arm/mach-shmobile/smp-r8a7790.c4
-rw-r--r--arch/arm/mach-shmobile/smp-r8a7791.c2
-rw-r--r--drivers/net/wireless/ti/wilink_platform_data.c25
-rw-r--r--drivers/net/wireless/ti/wl12xx/main.c63
-rw-r--r--drivers/net/wireless/ti/wl12xx/wl12xx.h28
-rw-r--r--drivers/net/wireless/ti/wlcore/boot.c1
-rw-r--r--drivers/net/wireless/ti/wlcore/debugfs.c2
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c31
-rw-r--r--drivers/net/wireless/ti/wlcore/sdio.c63
-rw-r--r--drivers/net/wireless/ti/wlcore/spi.c6
-rw-r--r--drivers/net/wireless/ti/wlcore/wlcore.h5
-rw-r--r--drivers/net/wireless/ti/wlcore/wlcore_i.h6
-rw-r--r--include/dt-bindings/clock/r8a7790-clock.h3
-rw-r--r--include/dt-bindings/clock/r8a7791-clock.h3
-rw-r--r--include/dt-bindings/clock/sh73a0-clock.h3
-rw-r--r--include/dt-bindings/media/omap3-isp.h22
-rw-r--r--include/linux/wl12xx.h49
206 files changed, 18954 insertions, 1886 deletions
diff --git a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
index 1e097037349c..5da38c5ed476 100644
--- a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
+++ b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
@@ -22,6 +22,9 @@ Optional Properties:
22 - pclkN, clkN: Pairs of parent of input clock and input clock to the 22 - pclkN, clkN: Pairs of parent of input clock and input clock to the
23 devices in this power domain. Maximum of 4 pairs (N = 0 to 3) 23 devices in this power domain. Maximum of 4 pairs (N = 0 to 3)
24 are supported currently. 24 are supported currently.
25 - asbN: Clocks required by asynchronous bridges (ASB) present in
26 the power domain. These clock should be enabled during power
27 domain on/off operations.
25- power-domains: phandle pointing to the parent power domain, for more details 28- power-domains: phandle pointing to the parent power domain, for more details
26 see Documentation/devicetree/bindings/power/power_domain.txt 29 see Documentation/devicetree/bindings/power/power_domain.txt
27 30
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
index 1e0d21201d3a..2da059a4790c 100644
--- a/Documentation/devicetree/bindings/arm/gic.txt
+++ b/Documentation/devicetree/bindings/arm/gic.txt
@@ -18,6 +18,8 @@ Main node required properties:
18 "arm,arm11mp-gic" 18 "arm,arm11mp-gic"
19 "brcm,brahma-b15-gic" 19 "brcm,brahma-b15-gic"
20 "arm,arm1176jzf-devchip-gic" 20 "arm,arm1176jzf-devchip-gic"
21 "qcom,msm-8660-qgic"
22 "qcom,msm-qgic2"
21- interrupt-controller : Identifies the node as an interrupt controller 23- interrupt-controller : Identifies the node as an interrupt controller
22- #interrupt-cells : Specifies the number of cells needed to encode an 24- #interrupt-cells : Specifies the number of cells needed to encode an
23 interrupt source. The type shall be a <u32> and the value shall be 3. 25 interrupt source. The type shall be a <u32> and the value shall be 3.
diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
index 925ecbf6e7b7..4f40ff3fee4b 100644
--- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
@@ -42,6 +42,7 @@ board. Currently known boards are:
42"lacie,cloudbox" 42"lacie,cloudbox"
43"lacie,inetspace_v2" 43"lacie,inetspace_v2"
44"lacie,laplug" 44"lacie,laplug"
45"lacie,nas2big"
45"lacie,netspace_lite_v2" 46"lacie,netspace_lite_v2"
46"lacie,netspace_max_v2" 47"lacie,netspace_max_v2"
47"lacie,netspace_mini_v2" 48"lacie,netspace_mini_v2"
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt b/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
new file mode 100644
index 000000000000..06df04cc827a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
@@ -0,0 +1,84 @@
1QCOM Idle States for cpuidle driver
2
3ARM provides idle-state node to define the cpuidle states, as defined in [1].
4cpuidle-qcom is the cpuidle driver for Qualcomm SoCs and uses these idle
5states. Idle states have different enter/exit latency and residency values.
6The idle states supported by the QCOM SoC are defined as -
7
8 * Standby
9 * Retention
10 * Standalone Power Collapse (Standalone PC or SPC)
11 * Power Collapse (PC)
12
13Standby: Standby does a little more in addition to architectural clock gating.
14When the WFI instruction is executed the ARM core would gate its internal
15clocks. In addition to gating the clocks, QCOM cpus use this instruction as a
16trigger to execute the SPM state machine. The SPM state machine waits for the
17interrupt to trigger the core back in to active. This triggers the cache
18hierarchy to enter standby states, when all cpus are idle. An interrupt brings
19the SPM state machine out of its wait, the next step is to ensure that the
20cache hierarchy is also out of standby, and then the cpu is allowed to resume
21execution. This state is defined as a generic ARM WFI state by the ARM cpuidle
22driver and is not defined in the DT. The SPM state machine should be
23configured to execute this state by default and after executing every other
24state below.
25
26Retention: Retention is a low power state where the core is clock gated and
27the memory and the registers associated with the core are retained. The
28voltage may be reduced to the minimum value needed to keep the processor
29registers active. The SPM should be configured to execute the retention
30sequence and would wait for interrupt, before restoring the cpu to execution
31state. Retention may have a slightly higher latency than Standby.
32
33Standalone PC: A cpu can power down and warmboot if there is a sufficient time
34between the time it enters idle and the next known wake up. SPC mode is used
35to indicate a core entering a power down state without consulting any other
36cpu or the system resources. This helps save power only on that core. The SPM
37sequence for this idle state is programmed to power down the supply to the
38core, wait for the interrupt, restore power to the core, and ensure the
39system state including cache hierarchy is ready before allowing core to
40resume. Applying power and resetting the core causes the core to warmboot
41back into Elevation Level (EL) which trampolines the control back to the
42kernel. Entering a power down state for the cpu, needs to be done by trapping
43into a EL. Failing to do so, would result in a crash enforced by the warm boot
44code in the EL for the SoC. On SoCs with write-back L1 cache, the cache has to
45be flushed in s/w, before powering down the core.
46
47Power Collapse: This state is similar to the SPC mode, but distinguishes
48itself in that the cpu acknowledges and permits the SoC to enter deeper sleep
49modes. In a hierarchical power domain SoC, this means L2 and other caches can
50be flushed, system bus, clocks - lowered, and SoC main XO clock gated and
51voltages reduced, provided all cpus enter this state. Since the span of low
52power modes possible at this state is vast, the exit latency and the residency
53of this low power mode would be considered high even though at a cpu level,
54this essentially is cpu power down. The SPM in this state also may handshake
55with the Resource power manager (RPM) processor in the SoC to indicate a
56complete application processor subsystem shut down.
57
58The idle-state for QCOM SoCs are distinguished by the compatible property of
59the idle-states device node.
60
61The devicetree representation of the idle state should be -
62
63Required properties:
64
65- compatible: Must be one of -
66 "qcom,idle-state-ret",
67 "qcom,idle-state-spc",
68 "qcom,idle-state-pc",
69 and "arm,idle-state".
70
71Other required and optional properties are specified in [1].
72
73Example:
74
75 idle-states {
76 CPU_SPC: spc {
77 compatible = "qcom,idle-state-spc", "arm,idle-state";
78 entry-latency-us = <150>;
79 exit-latency-us = <200>;
80 min-residency-us = <2000>;
81 };
82 };
83
84[1]. Documentation/devicetree/bindings/arm/idle-states.txt
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
index 1505fb8e131a..ae4afc6dcfe0 100644
--- a/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
@@ -2,22 +2,31 @@ SPM AVS Wrapper 2 (SAW2)
2 2
3The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the 3The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the
4Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable 4Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable
5micro-controller that transitions a piece of hardware (like a processor or 5power-controller that transitions a piece of hardware (like a processor or
6subsystem) into and out of low power modes via a direct connection to 6subsystem) into and out of low power modes via a direct connection to
7the PMIC. It can also be wired up to interact with other processors in the 7the PMIC. It can also be wired up to interact with other processors in the
8system, notifying them when a low power state is entered or exited. 8system, notifying them when a low power state is entered or exited.
9 9
10Multiple revisions of the SAW hardware are supported using these Device Nodes.
11SAW2 revisions differ in the register offset and configuration data. Also, the
12same revision of the SAW in different SoCs may have different configuration
13data due the the differences in hardware capabilities. Hence the SoC name, the
14version of the SAW hardware in that SoC and the distinction between cpu (big
15or Little) or cache, may be needed to uniquely identify the SAW register
16configuration and initialization data. The compatible string is used to
17indicate this parameter.
18
10PROPERTIES 19PROPERTIES
11 20
12- compatible: 21- compatible:
13 Usage: required 22 Usage: required
14 Value type: <string> 23 Value type: <string>
15 Definition: shall contain "qcom,saw2". A more specific value should be 24 Definition: Must have
16 one of: 25 "qcom,saw2"
17 "qcom,saw2-v1" 26 A more specific value could be one of:
18 "qcom,saw2-v1.1" 27 "qcom,apq8064-saw2-v1.1-cpu"
19 "qcom,saw2-v2" 28 "qcom,msm8974-saw2-v2.1-cpu"
20 "qcom,saw2-v2.1" 29 "qcom,apq8084-saw2-v2.1-cpu"
21 30
22- reg: 31- reg:
23 Usage: required 32 Usage: required
@@ -26,10 +35,23 @@ PROPERTIES
26 the register region. An optional second element specifies 35 the register region. An optional second element specifies
27 the base address and size of the alias register region. 36 the base address and size of the alias register region.
28 37
38- regulator:
39 Usage: optional
40 Value type: boolean
41 Definition: Indicates that this SPM device acts as a regulator device
42 device for the core (CPU or Cache) the SPM is attached
43 to.
29 44
30Example: 45Example 1:
31 46
32 regulator@2099000 { 47 power-controller@2099000 {
33 compatible = "qcom,saw2"; 48 compatible = "qcom,saw2";
34 reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 49 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
50 regulator;
51 };
52
53Example 2:
54 saw0: power-controller@f9089000 {
55 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
56 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
35 }; 57 };
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index 6809e4e51ed2..60d4a1e0a9b5 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -22,3 +22,7 @@ Rockchip platforms device tree bindings
22 - compatible = "firefly,firefly-rk3288", "rockchip,rk3288"; 22 - compatible = "firefly,firefly-rk3288", "rockchip,rk3288";
23 or 23 or
24 - compatible = "firefly,firefly-rk3288-beta", "rockchip,rk3288"; 24 - compatible = "firefly,firefly-rk3288-beta", "rockchip,rk3288";
25
26- ChipSPARK PopMetal-RK3288 board:
27 Required root node properties:
28 - compatible = "chipspark,popmetal-rk3288", "rockchip,rk3288";
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt
new file mode 100644
index 000000000000..ea670a5d7ee3
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra30-actmon.txt
@@ -0,0 +1,32 @@
1NVIDIA Tegra Activity Monitor
2
3The activity monitor block collects statistics about the behaviour of other
4components in the system. This information can be used to derive the rate at
5which the external memory needs to be clocked in order to serve all requests
6from the monitored clients.
7
8Required properties:
9- compatible: should be "nvidia,tegra<chip>-actmon"
10- reg: offset and length of the register set for the device
11- interrupts: standard interrupt property
12- clocks: Must contain a phandle and clock specifier pair for each entry in
13clock-names. See ../../clock/clock-bindings.txt for details.
14- clock-names: Must include the following entries:
15 - actmon
16 - emc
17- resets: Must contain an entry for each entry in reset-names. See
18../../reset/reset.txt for details.
19- reset-names: Must include the following entries:
20 - actmon
21
22Example:
23 actmon@6000c800 {
24 compatible = "nvidia,tegra124-actmon";
25 reg = <0x0 0x6000c800 0x0 0x400>;
26 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
27 clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
28 <&tegra_car TEGRA124_CLK_EMC>;
29 clock-names = "actmon", "emc";
30 resets = <&tegra_car 119>;
31 reset-names = "actmon";
32 };
diff --git a/Documentation/devicetree/bindings/media/ti,omap3isp.txt b/Documentation/devicetree/bindings/media/ti,omap3isp.txt
new file mode 100644
index 000000000000..ac23de855641
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/ti,omap3isp.txt
@@ -0,0 +1,71 @@
1OMAP 3 ISP Device Tree bindings
2===============================
3
4The DT definitions can be found in include/dt-bindings/media/omap3-isp.h.
5
6Required properties
7===================
8
9compatible : must contain "ti,omap3-isp"
10
11reg : the two registers sets (physical address and length) for the
12 ISP. The first set contains the core ISP registers up to
13 the end of the SBL block. The second set contains the
14 CSI PHYs and receivers registers.
15interrupts : the ISP interrupt specifier
16iommus : phandle and IOMMU specifier for the IOMMU that serves the ISP
17syscon : the phandle and register offset to the Complex I/O or CSI-PHY
18 register
19ti,phy-type : 0 -- OMAP3ISP_PHY_TYPE_COMPLEX_IO (e.g. 3430)
20 1 -- OMAP3ISP_PHY_TYPE_CSIPHY (e.g. 3630)
21#clock-cells : Must be 1 --- the ISP provides two external clocks,
22 cam_xclka and cam_xclkb, at indices 0 and 1,
23 respectively. Please find more information on common
24 clock bindings in ../clock/clock-bindings.txt.
25
26Port nodes (optional)
27---------------------
28
29More documentation on these bindings is available in
30video-interfaces.txt in the same directory.
31
32reg : The interface:
33 0 - parallel (CCDC)
34 1 - CSIPHY1 -- CSI2C / CCP2B on 3630;
35 CSI1 -- CSIb on 3430
36 2 - CSIPHY2 -- CSI2A / CCP2B on 3630;
37 CSI2 -- CSIa on 3430
38
39Optional properties
40===================
41
42vdd-csiphy1-supply : voltage supply of the CSI-2 PHY 1
43vdd-csiphy2-supply : voltage supply of the CSI-2 PHY 2
44
45Endpoint nodes
46--------------
47
48lane-polarities : lane polarity (required on CSI-2)
49 0 -- not inverted; 1 -- inverted
50data-lanes : an array of data lanes from 1 to 3. The length can
51 be either 1 or 2. (required on CSI-2)
52clock-lanes : the clock lane (from 1 to 3). (required on CSI-2)
53
54
55Example
56=======
57
58 isp@480bc000 {
59 compatible = "ti,omap3-isp";
60 reg = <0x480bc000 0x12fc
61 0x480bd800 0x0600>;
62 interrupts = <24>;
63 iommus = <&mmu_isp>;
64 syscon = <&scm_conf 0x2f0>;
65 ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
66 #clock-cells = <1>;
67 ports {
68 #address-cells = <1>;
69 #size-cells = <0>;
70 };
71 };
diff --git a/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt b/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt
new file mode 100644
index 000000000000..e90519d566a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt
@@ -0,0 +1,22 @@
1QCOM Top Control and Status Register
2
3Qualcomm devices have a set of registers that provide various control and status
4functions for their peripherals. This node is intended to allow access to these
5registers via syscon.
6
7Required properties:
8- compatible: Should contain:
9 "qcom,tcsr-ipq8064", "syscon" for IPQ8064
10 "qcom,tcsr-apq8064", "syscon" for APQ8064
11 "qcom,tcsr-msm8660", "syscon" for MSM8660
12 "qcom,tcsr-msm8960", "syscon" for MSM8960
13 "qcom,tcsr-msm8974", "syscon" for MSM8974
14 "qcom,tcsr-apq8084", "syscon" for APQ8084
15 "qcom,tcsr-msm8916", "syscon" for MSM8916
16- reg: Address range for TCSR registers
17
18Example:
19 tcsr: syscon@1a400000 {
20 compatible = "qcom,tcsr-msm8960", "syscon";
21 reg = <0x1a400000 0x100>;
22 };
diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt b/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
new file mode 100644
index 000000000000..2a3d90de18ee
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
@@ -0,0 +1,47 @@
1TI Wilink 6/7/8 (wl12xx/wl18xx) SDIO devices
2
3This node provides properties for controlling the wilink wireless device. The
4node is expected to be specified as a child node to the SDIO controller that
5connects the device to the system.
6
7Required properties:
8 - compatible: should be one of the following:
9 * "ti,wl1271"
10 * "ti,wl1273"
11 * "ti,wl1281"
12 * "ti,wl1283"
13 * "ti,wl1801"
14 * "ti,wl1805"
15 * "ti,wl1807"
16 * "ti,wl1831"
17 * "ti,wl1835"
18 * "ti,wl1837"
19 - interrupts : specifies attributes for the out-of-band interrupt.
20
21Optional properties:
22 - interrupt-parent : the phandle for the interrupt controller to which the
23 device interrupts are connected.
24 - ref-clock-frequency : ref clock frequency in Hz
25 - tcxo-clock-frequency : tcxo clock frequency in Hz
26
27Note: the *-clock-frequency properties assume internal clocks. In case of external
28clock, new bindings (for parsing the clock nodes) have to be added.
29
30Example:
31
32&mmc3 {
33 status = "okay";
34 vmmc-supply = <&wlan_en_reg>;
35 bus-width = <4>;
36 cap-power-off-card;
37 keep-power-in-suspend;
38
39 #address-cells = <1>;
40 #size-cells = <0>;
41 wlcore: wlcore@2 {
42 compatible = "ti,wl1835";
43 reg = <2>;
44 interrupt-parent = <&gpio0>;
45 interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
46 };
47};
diff --git a/Documentation/devicetree/bindings/serial/omap_serial.txt b/Documentation/devicetree/bindings/serial/omap_serial.txt
index 342eedd10050..54c2a155c783 100644
--- a/Documentation/devicetree/bindings/serial/omap_serial.txt
+++ b/Documentation/devicetree/bindings/serial/omap_serial.txt
@@ -4,7 +4,27 @@ Required properties:
4- compatible : should be "ti,omap2-uart" for OMAP2 controllers 4- compatible : should be "ti,omap2-uart" for OMAP2 controllers
5- compatible : should be "ti,omap3-uart" for OMAP3 controllers 5- compatible : should be "ti,omap3-uart" for OMAP3 controllers
6- compatible : should be "ti,omap4-uart" for OMAP4 controllers 6- compatible : should be "ti,omap4-uart" for OMAP4 controllers
7- reg : address and length of the register space
8- interrupts or interrupts-extended : Should contain the uart interrupt
9 specifier or both the interrupt
10 controller phandle and interrupt
11 specifier.
7- ti,hwmods : Must be "uart<n>", n being the instance number (1-based) 12- ti,hwmods : Must be "uart<n>", n being the instance number (1-based)
8 13
9Optional properties: 14Optional properties:
10- clock-frequency : frequency of the clock input to the UART 15- clock-frequency : frequency of the clock input to the UART
16- dmas : DMA specifier, consisting of a phandle to the DMA controller
17 node and a DMA channel number.
18- dma-names : "rx" for receive channel, "tx" for transmit channel.
19
20Example:
21
22 uart4: serial@49042000 {
23 compatible = "ti,omap3-uart";
24 reg = <0x49042000 0x400>;
25 interrupts = <80>;
26 dmas = <&sdma 81 &sdma 82>;
27 dma-names = "tx", "rx";
28 ti,hwmods = "uart4";
29 clock-frequency = <48000000>;
30 };
diff --git a/Documentation/devicetree/bindings/soc/mediatek/pwrap.txt b/Documentation/devicetree/bindings/soc/mediatek/pwrap.txt
new file mode 100644
index 000000000000..ddeb5b6a53c1
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/mediatek/pwrap.txt
@@ -0,0 +1,58 @@
1MediaTek PMIC Wrapper Driver
2
3This document describes the binding for the MediaTek PMIC wrapper.
4
5On MediaTek SoCs the PMIC is connected via SPI. The SPI master interface
6is not directly visible to the CPU, but only through the PMIC wrapper
7inside the SoC. The communication between the SoC and the PMIC can
8optionally be encrypted. Also a non standard Dual IO SPI mode can be
9used to increase speed.
10
11IP Pairing
12
13on MT8135 the pins of some SoC internal peripherals can be on the PMIC.
14The signals of these pins are routed over the SPI bus using the pwrap
15bridge. In the binding description below the properties needed for bridging
16are marked with "IP Pairing". These are optional on SoCs which do not support
17IP Pairing
18
19Required properties in pwrap device node.
20- compatible:
21 "mediatek,mt8135-pwrap" for MT8135 SoCs
22 "mediatek,mt8173-pwrap" for MT8173 SoCs
23- interrupts: IRQ for pwrap in SOC
24- reg-names: Must include the following entries:
25 "pwrap": Main registers base
26 "pwrap-bridge": bridge base (IP Pairing)
27- reg: Must contain an entry for each entry in reg-names.
28- reset-names: Must include the following entries:
29 "pwrap"
30 "pwrap-bridge" (IP Pairing)
31- resets: Must contain an entry for each entry in reset-names.
32- clock-names: Must include the following entries:
33 "spi": SPI bus clock
34 "wrap": Main module clock
35- clocks: Must contain an entry for each entry in clock-names.
36
37Optional properities:
38- pmic: Mediatek PMIC MFD is the child device of pwrap
39 See the following for child node definitions:
40 Documentation/devicetree/bindings/mfd/mt6397.txt
41
42Example:
43 pwrap: pwrap@1000f000 {
44 compatible = "mediatek,mt8135-pwrap";
45 reg = <0 0x1000f000 0 0x1000>,
46 <0 0x11017000 0 0x1000>;
47 reg-names = "pwrap", "pwrap-bridge";
48 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
49 resets = <&infracfg MT8135_INFRA_PMIC_WRAP_RST>,
50 <&pericfg MT8135_PERI_PWRAP_BRIDGE_SW_RST>;
51 reset-names = "pwrap", "pwrap-bridge";
52 clocks = <&clk26m>, <&clk26m>;
53 clock-names = "spi", "wrap";
54
55 pmic {
56 compatible = "mediatek,mt6397";
57 };
58 };
diff --git a/Documentation/devicetree/bindings/sound/omap-twl4030.txt b/Documentation/devicetree/bindings/sound/omap-twl4030.txt
index 1ab6bc8404d5..f6a715e4ef43 100644
--- a/Documentation/devicetree/bindings/sound/omap-twl4030.txt
+++ b/Documentation/devicetree/bindings/sound/omap-twl4030.txt
@@ -4,9 +4,9 @@ Required properties:
4- compatible: "ti,omap-twl4030" 4- compatible: "ti,omap-twl4030"
5- ti,model: Name of the sound card (for example "omap3beagle") 5- ti,model: Name of the sound card (for example "omap3beagle")
6- ti,mcbsp: phandle for the McBSP node 6- ti,mcbsp: phandle for the McBSP node
7- ti,codec: phandle for the twl4030 audio node
8 7
9Optional properties: 8Optional properties:
9- ti,codec: phandle for the twl4030 audio node
10- ti,mcbsp-voice: phandle for the McBSP node connected to the voice port of twl 10- ti,mcbsp-voice: phandle for the McBSP node connected to the voice port of twl
11- ti, jack-det-gpio: Jack detect GPIO 11- ti, jack-det-gpio: Jack detect GPIO
12- ti,audio-routing: List of connections between audio components. 12- ti,audio-routing: List of connections between audio components.
@@ -59,5 +59,4 @@ sound {
59 ti,model = "omap3beagle"; 59 ti,model = "omap3beagle";
60 60
61 ti,mcbsp = <&mcbsp2>; 61 ti,mcbsp = <&mcbsp2>;
62 ti,codec = <&twl_audio>;
63}; 62};
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 54c1d5790358..83737a3403d7 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -84,6 +84,7 @@ globalscale Globalscale Technologies, Inc.
84gmt Global Mixed-mode Technology, Inc. 84gmt Global Mixed-mode Technology, Inc.
85goodix Shenzhen Huiding Technology Co., Ltd. 85goodix Shenzhen Huiding Technology Co., Ltd.
86google Google, Inc. 86google Google, Inc.
87grinn Grinn
87gumstix Gumstix, Inc. 88gumstix Gumstix, Inc.
88gw Gateworks Corporation 89gw Gateworks Corporation
89hannstar HannStar Display Corporation 90hannstar HannStar Display Corporation
diff --git a/Documentation/devicetree/bindings/video/atmel,lcdc.txt b/Documentation/devicetree/bindings/video/atmel,lcdc.txt
index f059dd0b3d28..ecb8da063d07 100644
--- a/Documentation/devicetree/bindings/video/atmel,lcdc.txt
+++ b/Documentation/devicetree/bindings/video/atmel,lcdc.txt
@@ -10,7 +10,9 @@ Required properties:
10 "atmel,at91sam9g45es-lcdc" , 10 "atmel,at91sam9g45es-lcdc" ,
11 "atmel,at91sam9rl-lcdc" , 11 "atmel,at91sam9rl-lcdc" ,
12 "atmel,at32ap-lcdc" 12 "atmel,at32ap-lcdc"
13- reg : Should contain 1 register ranges(address and length) 13- reg : Should contain 1 register ranges(address and length).
14 Can contain an additional register range(address and length)
15 for fixed framebuffer memory. Useful for dedicated memories.
14- interrupts : framebuffer controller interrupt 16- interrupts : framebuffer controller interrupt
15- display: a phandle pointing to the display node 17- display: a phandle pointing to the display node
16 18
@@ -38,6 +40,14 @@ Example:
38 40
39 }; 41 };
40 42
43Example for fixed framebuffer memory:
44
45 fb0: fb@0x00500000 {
46 compatible = "atmel,at91sam9263-lcdc";
47 reg = <0x00700000 0x1000 0x70000000 0x200000>;
48 [...]
49 };
50
41Atmel LCDC Display 51Atmel LCDC Display
42----------------------------------------------------- 52-----------------------------------------------------
43Required properties (as per of_videomode_helper): 53Required properties (as per of_videomode_helper):
diff --git a/MAINTAINERS b/MAINTAINERS
index e85dbd350c0c..fadb73c40e28 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7132,6 +7132,7 @@ OMAP IMAGING SUBSYSTEM (OMAP3 ISP and OMAP4 ISS)
7132M: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 7132M: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
7133L: linux-media@vger.kernel.org 7133L: linux-media@vger.kernel.org
7134S: Maintained 7134S: Maintained
7135F: Documentation/devicetree/bindings/media/ti,omap3isp.txt
7135F: drivers/media/platform/omap3isp/ 7136F: drivers/media/platform/omap3isp/
7136F: drivers/staging/media/omap4iss/ 7137F: drivers/staging/media/omap4iss/
7137 7138
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a1c776b8dcec..d0c219dfa0a7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1,5 +1,7 @@
1ifeq ($(CONFIG_OF),y) 1ifeq ($(CONFIG_OF),y)
2 2
3dtb-$(CONFIG_ARCH_ALPINE) += \
4 alpine-db.dtb
3dtb-$(CONFIG_MACH_ASM9260) += \ 5dtb-$(CONFIG_MACH_ASM9260) += \
4 alphascale-asm9260-devkit.dtb 6 alphascale-asm9260-devkit.dtb
5# Keep at91 dtb files sorted alphabetically for each SoC 7# Keep at91 dtb files sorted alphabetically for each SoC
@@ -42,6 +44,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
42 sama5d34ek.dtb \ 44 sama5d34ek.dtb \
43 sama5d35ek.dtb \ 45 sama5d35ek.dtb \
44 sama5d36ek.dtb \ 46 sama5d36ek.dtb \
47 at91-sama5d4_xplained.dtb \
45 at91-sama5d4ek.dtb 48 at91-sama5d4ek.dtb
46dtb-$(CONFIG_ARCH_ATLAS6) += \ 49dtb-$(CONFIG_ARCH_ATLAS6) += \
47 atlas6-evb.dtb 50 atlas6-evb.dtb
@@ -59,13 +62,15 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
59 bcm4708-netgear-r6300-v2.dtb \ 62 bcm4708-netgear-r6300-v2.dtb \
60 bcm47081-asus-rt-n18u.dtb \ 63 bcm47081-asus-rt-n18u.dtb \
61 bcm47081-buffalo-wzr-600dhp2.dtb \ 64 bcm47081-buffalo-wzr-600dhp2.dtb \
62 bcm47081-buffalo-wzr-900dhp.dtb 65 bcm47081-buffalo-wzr-900dhp.dtb \
66 bcm4709-netgear-r8000.dtb
63dtb-$(CONFIG_ARCH_BCM_63XX) += \ 67dtb-$(CONFIG_ARCH_BCM_63XX) += \
64 bcm963138dvt.dtb 68 bcm963138dvt.dtb
65dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \ 69dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
66 bcm911360_entphn.dtb \ 70 bcm911360_entphn.dtb \
67 bcm911360k.dtb \ 71 bcm911360k.dtb \
68 bcm958300k.dtb 72 bcm958300k.dtb \
73 bcm958305k.dtb
69dtb-$(CONFIG_ARCH_BCM_MOBILE) += \ 74dtb-$(CONFIG_ARCH_BCM_MOBILE) += \
70 bcm28155-ap.dtb \ 75 bcm28155-ap.dtb \
71 bcm21664-garnet.dtb 76 bcm21664-garnet.dtb
@@ -165,6 +170,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
165 kirkwood-lsxhl.dtb \ 170 kirkwood-lsxhl.dtb \
166 kirkwood-mplcec4.dtb \ 171 kirkwood-mplcec4.dtb \
167 kirkwood-mv88f6281gtw-ge.dtb \ 172 kirkwood-mv88f6281gtw-ge.dtb \
173 kirkwood-nas2big.dtb \
168 kirkwood-net2big.dtb \ 174 kirkwood-net2big.dtb \
169 kirkwood-net5big.dtb \ 175 kirkwood-net5big.dtb \
170 kirkwood-netgear_readynas_duo_v2.dtb \ 176 kirkwood-netgear_readynas_duo_v2.dtb \
@@ -199,6 +205,8 @@ dtb-$(CONFIG_ARCH_LPC32XX) += \
199 ea3250.dtb phy3250.dtb 205 ea3250.dtb phy3250.dtb
200dtb-$(CONFIG_MACH_MESON6) += \ 206dtb-$(CONFIG_MACH_MESON6) += \
201 meson6-atv1200.dtb 207 meson6-atv1200.dtb
208dtb-$(CONFIG_MACH_MESON8) += \
209 meson8-minix-neo-x8.dtb
202dtb-$(CONFIG_ARCH_MMP) += \ 210dtb-$(CONFIG_ARCH_MMP) += \
203 pxa168-aspenite.dtb \ 211 pxa168-aspenite.dtb \
204 pxa910-dkb.dtb \ 212 pxa910-dkb.dtb \
@@ -386,6 +394,8 @@ dtb-$(CONFIG_ARCH_OMAP3) += \
386 omap3-overo-storm-tobi.dtb \ 394 omap3-overo-storm-tobi.dtb \
387 omap3-overo-summit.dtb \ 395 omap3-overo-summit.dtb \
388 omap3-overo-tobi.dtb \ 396 omap3-overo-tobi.dtb \
397 omap3-pandora-600mhz.dtb \
398 omap3-pandora-1ghz.dtb \
389 omap3-sbc-t3517.dtb \ 399 omap3-sbc-t3517.dtb \
390 omap3-sbc-t3530.dtb \ 400 omap3-sbc-t3530.dtb \
391 omap3-sbc-t3730.dtb \ 401 omap3-sbc-t3730.dtb \
@@ -401,7 +411,8 @@ dtb-$(CONFIG_SOC_AM33XX) += \
401 am335x-evmsk.dtb \ 411 am335x-evmsk.dtb \
402 am335x-nano.dtb \ 412 am335x-nano.dtb \
403 am335x-pepper.dtb \ 413 am335x-pepper.dtb \
404 am335x-lxm.dtb 414 am335x-lxm.dtb \
415 am335x-chiliboard.dtb
405dtb-$(CONFIG_ARCH_OMAP4) += \ 416dtb-$(CONFIG_ARCH_OMAP4) += \
406 omap4-duovero-parlor.dtb \ 417 omap4-duovero-parlor.dtb \
407 omap4-panda.dtb \ 418 omap4-panda.dtb \
@@ -577,6 +588,7 @@ dtb-$(CONFIG_ARCH_TEGRA_114_SOC) += \
577dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \ 588dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \
578 tegra124-jetson-tk1.dtb \ 589 tegra124-jetson-tk1.dtb \
579 tegra124-nyan-big.dtb \ 590 tegra124-nyan-big.dtb \
591 tegra124-nyan-blaze.dtb \
580 tegra124-venice2.dtb 592 tegra124-venice2.dtb
581dtb-$(CONFIG_ARCH_U300) += \ 593dtb-$(CONFIG_ARCH_U300) += \
582 ste-u300.dtb 594 ste-u300.dtb
@@ -624,11 +636,14 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
624 armada-388-db.dtb \ 636 armada-388-db.dtb \
625 armada-388-gp.dtb \ 637 armada-388-gp.dtb \
626 armada-388-rd.dtb 638 armada-388-rd.dtb
639dtb-$(CONFIG_MACH_ARMADA_39X) += \
640 armada-398-db.dtb
627dtb-$(CONFIG_MACH_ARMADA_XP) += \ 641dtb-$(CONFIG_MACH_ARMADA_XP) += \
628 armada-xp-axpwifiap.dtb \ 642 armada-xp-axpwifiap.dtb \
629 armada-xp-db.dtb \ 643 armada-xp-db.dtb \
630 armada-xp-gp.dtb \ 644 armada-xp-gp.dtb \
631 armada-xp-lenovo-ix4-300d.dtb \ 645 armada-xp-lenovo-ix4-300d.dtb \
646 armada-xp-linksys-mamba.dtb \
632 armada-xp-matrix.dtb \ 647 armada-xp-matrix.dtb \
633 armada-xp-netgear-rn2120.dtb \ 648 armada-xp-netgear-rn2120.dtb \
634 armada-xp-openblocks-ax3-4.dtb \ 649 armada-xp-openblocks-ax3-4.dtb \
diff --git a/arch/arm/boot/dts/alpine-db.dts b/arch/arm/boot/dts/alpine-db.dts
new file mode 100644
index 000000000000..dfb5a0802273
--- /dev/null
+++ b/arch/arm/boot/dts/alpine-db.dts
@@ -0,0 +1,35 @@
1/*
2 * Copyright 2015 Annapurna Labs Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * Alternatively, redistribution and use in source and binary forms, with or
9 * without modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * * Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * * Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in
17 * the documentation and/or other materials provided with the
18 * distribution.
19 *
20 * This program is distributed in the hope it will be useful, but WITHOUT
21 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
23 * more details.
24 *
25 */
26
27/dts-v1/;
28
29#include "alpine.dtsi"
30
31/ {
32 model = "Annapurna Labs Alpine Dev Board";
33 /* no need for anything outside SOC */
34};
35
diff --git a/arch/arm/boot/dts/alpine.dtsi b/arch/arm/boot/dts/alpine.dtsi
new file mode 100644
index 000000000000..9af2d60e9a7f
--- /dev/null
+++ b/arch/arm/boot/dts/alpine.dtsi
@@ -0,0 +1,160 @@
1/*
2 * Copyright 2015 Annapurna Labs Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * Alternatively, redistribution and use in source and binary forms, with or
9 * without modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * * Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * * Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in
17 * the documentation and/or other materials provided with the
18 * distribution.
19 *
20 * This program is distributed in the hope it will be useful, but WITHOUT
21 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
23 * more details.
24 *
25 */
26
27#include <dt-bindings/interrupt-controller/arm-gic.h>
28#include "skeleton64.dtsi"
29
30/ {
31 /* SOC compatibility */
32 compatible = "al,alpine";
33
34 /* CPU Configuration */
35 cpus {
36 #address-cells = <1>;
37 #size-cells = <0>;
38 enable-method = "al,alpine-smp";
39
40 cpu@0 {
41 compatible = "arm,cortex-a15";
42 device_type = "cpu";
43 reg = <0>;
44 clock-frequency = <0>; /* Filled by loader */
45 };
46
47 cpu@1 {
48 compatible = "arm,cortex-a15";
49 device_type = "cpu";
50 reg = <1>;
51 clock-frequency = <0>; /* Filled by loader */
52 };
53
54 cpu@2 {
55 compatible = "arm,cortex-a15";
56 device_type = "cpu";
57 reg = <2>;
58 clock-frequency = <0>; /* Filled by loader */
59 };
60
61 cpu@3 {
62 compatible = "arm,cortex-a15";
63 device_type = "cpu";
64 reg = <3>;
65 clock-frequency = <0>; /* Filled by loader */
66 };
67 };
68
69 soc {
70 #address-cells = <2>;
71 #size-cells = <2>;
72 compatible = "simple-bus";
73 interrupt-parent = <&gic>;
74 ranges;
75
76 arch-timer {
77 compatible = "arm,cortex-a15-timer",
78 "arm,armv7-timer";
79 interrupts =
80 <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
81 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
82 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
83 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
84 clock-frequency = <0>; /* Filled by loader */
85 };
86
87 /* Interrupt Controller */
88 gic: gic@fb001000 {
89 compatible = "arm,cortex-a15-gic";
90 #interrupt-cells = <3>;
91 #size-cells = <0>;
92 #address-cells = <0>;
93 interrupt-controller;
94 reg = <0x0 0xfb001000 0x0 0x1000>,
95 <0x0 0xfb002000 0x0 0x2000>,
96 <0x0 0xfb004000 0x0 0x1000>,
97 <0x0 0xfb006000 0x0 0x2000>;
98 interrupts =
99 <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
100 };
101
102 /* CPU Resume registers */
103 cpu-resume@fbff5ec0 {
104 compatible = "al,alpine-cpu-resume";
105 reg = <0x0 0xfbff5ec0 0x0 0x30>;
106 };
107
108 /* North Bridge Service Registers */
109 sysfabric-service@fb070000 {
110 compatible = "al,alpine-sysfabric-service", "syscon";
111 reg = <0x0 0xfb070000 0x0 0x10000>;
112 };
113
114 /* Performance Monitor Unit */
115 pmu {
116 compatible = "arm,cortex-a15-pmu";
117 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
118 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
119 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
120 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
121 };
122
123 uart0:uart@fd883000 {
124 compatible = "ns16550a";
125 reg = <0x0 0xfd883000 0x0 0x1000>;
126 clock-frequency = <0>; /* Filled by loader */
127 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
128 reg-shift = <2>;
129 reg-io-width = <4>;
130 };
131
132 uart1:uart@0xfd884000 {
133 compatible = "ns16550a";
134 reg = <0x0 0xfd884000 0x0 0x1000>;
135 clock-frequency = <0>; /* Filled by loader */
136 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
137 reg-shift = <2>;
138 reg-io-width = <4>;
139 };
140
141 /* Internal PCIe Controller */
142 pcie-internal@0xfbc00000 {
143 compatible = "pci-host-ecam-generic";
144 device_type = "pci";
145 #size-cells = <2>;
146 #address-cells = <3>;
147 #interrupt-cells = <1>;
148 reg = <0x0 0xfbc00000 0x0 0x100000>;
149 interrupt-map-mask = <0xf800 0 0 7>;
150 /* Add legacy interrupts for SATA devices only */
151 interrupt-map = <0x4000 0 0 1 &gic 0 43 4>,
152 <0x4800 0 0 1 &gic 0 44 4>;
153
154 /* 32 bit non prefetchable memory space */
155 ranges = <0x02000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
156
157 bus-range = <0x00 0x00>;
158 };
159 };
160};
diff --git a/arch/arm/boot/dts/am335x-chiliboard.dts b/arch/arm/boot/dts/am335x-chiliboard.dts
new file mode 100644
index 000000000000..310da20a8aa7
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-chiliboard.dts
@@ -0,0 +1,112 @@
1/*
2 * Copyright (C) 2015 Jablotron s.r.o. -- http://www.jablotron.com/
3 * Author: Rostislav Lisovy <lisovy@jablotron.cz>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9/dts-v1/;
10#include "am335x-chilisom.dtsi"
11
12/ {
13 model = "AM335x Chiliboard";
14 compatible = "grinn,am335x-chiliboard", "grinn,am335x-chilisom",
15 "ti,am33xx";
16
17 leds {
18 compatible = "gpio-leds";
19 pinctrl-names = "default";
20 pinctrl-0 = <&led_gpio_pins>;
21
22 led0 {
23 label = "led0";
24 gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
25 default-state = "keep";
26 linux,default-trigger = "heartbeat";
27 };
28
29 led1 {
30 label = "led1";
31 gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
32 default-state = "keep";
33 };
34 };
35};
36
37&am33xx_pinmux {
38 usb1_drvvbus: usb1_drvvbus {
39 pinctrl-single,pins = <
40 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usb1_drvvbus.usb1_drvvbus */
41 >;
42 };
43
44 sd_pins: pinmux_sd_card {
45 pinctrl-single,pins = <
46 0xf0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
47 0xf4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
48 0xf8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
49 0xfc (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
50 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
51 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
52 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
53 >;
54 };
55
56 led_gpio_pins: led_gpio_pins {
57 pinctrl-single,pins = <
58 0x1e4 (PIN_OUTPUT | MUX_MODE7) /* emu0.gpio3_7 */
59 0x1e8 (PIN_OUTPUT | MUX_MODE7) /* emu1.gpio3_8 */
60 >;
61 };
62};
63
64&ldo4_reg {
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67};
68
69/* Ethernet */
70&cpsw_emac0 {
71 phy_id = <&davinci_mdio>, <0>;
72 phy-mode = "rmii";
73};
74
75&phy_sel {
76 rmii-clock-ext;
77};
78
79/* USB */
80&usb {
81 status = "okay";
82};
83
84&usb_ctrl_mod {
85 status = "okay";
86};
87
88&usb1_phy {
89 status = "okay";
90};
91
92&usb1 {
93 pinctrl-names = "default";
94 pinctrl-0 = <&usb1_drvvbus>;
95
96 status = "okay";
97 dr_mode = "host";
98};
99
100&cppi41dma {
101 status = "okay";
102};
103
104/* microSD */
105&mmc1 {
106 pinctrl-names = "default";
107 pinctrl-0 = <&sd_pins>;
108 vmmc-supply = <&ldo4_reg>;
109 bus-width = <0x4>;
110 cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
111 status = "okay";
112};
diff --git a/arch/arm/boot/dts/am335x-chilisom.dtsi b/arch/arm/boot/dts/am335x-chilisom.dtsi
new file mode 100644
index 000000000000..7e9a34dffe21
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-chilisom.dtsi
@@ -0,0 +1,239 @@
1/*
2 * Copyright (C) 2015 Jablotron s.r.o. -- http://www.jablotron.com/
3 * Author: Rostislav Lisovy <lisovy@jablotron.cz>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9#include "am33xx.dtsi"
10
11/ {
12 model = "Grinn AM335x ChiliSOM";
13 compatible = "grinn,am335x-chilisom", "ti,am33xx";
14
15 cpus {
16 cpu@0 {
17 cpu0-supply = <&dcdc2_reg>;
18 };
19 };
20
21 memory {
22 device_type = "memory";
23 reg = <0x80000000 0x20000000>; /* 512 MB */
24 };
25};
26
27&am33xx_pinmux {
28 pinctrl-names = "default";
29
30 i2c0_pins: pinmux_i2c0_pins {
31 pinctrl-single,pins = <
32 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
33 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
34 >;
35 };
36
37 uart0_pins: pinmux_uart0_pins {
38 pinctrl-single,pins = <
39 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
40 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
41 >;
42 };
43
44 cpsw_default: cpsw_default {
45 pinctrl-single,pins = <
46 /* Slave 1 */
47 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs */
48 0x110 (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */
49 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txen.rmii1_txen */
50 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */
51 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */
52 0x13c (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */
53 0x140 (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */
54 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_ref_clk.rmii_ref_clk */
55 >;
56 };
57
58 cpsw_sleep: cpsw_sleep {
59 pinctrl-single,pins = <
60 /* Slave 1 reset value */
61 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7)
62 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
63 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
64 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
65 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
66 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
67 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
68 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
69 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7)
70 >;
71 };
72
73 davinci_mdio_default: davinci_mdio_default {
74 pinctrl-single,pins = <
75 /* mdio_data.mdio_data */
76 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)
77 /* mdio_clk.mdio_clk */
78 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)
79 >;
80 };
81
82 davinci_mdio_sleep: davinci_mdio_sleep {
83 pinctrl-single,pins = <
84 /* MDIO reset value */
85 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
86 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
87 >;
88 };
89
90 nandflash_pins: nandflash_pins {
91 pinctrl-single,pins = <
92 0x00 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
93 0x04 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
94 0x08 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
95 0x0c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
96 0x10 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
97 0x14 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
98 0x18 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
99 0x1c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
100
101 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
102 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
103 0x90 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
104 0x94 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
105 0x98 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_wen.gpmc_wen */
106 0x9c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
107 >;
108 };
109};
110
111&uart0 {
112 pinctrl-names = "default";
113 pinctrl-0 = <&uart0_pins>;
114
115 status = "okay";
116};
117
118&i2c0 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&i2c0_pins>;
121
122 status = "okay";
123 clock-frequency = <400000>;
124
125 tps: tps@24 {
126 reg = <0x24>;
127 };
128
129};
130
131/include/ "tps65217.dtsi"
132
133&tps {
134 regulators {
135 dcdc1_reg: regulator@0 {
136 regulator-name = "vdds_dpr";
137 regulator-always-on;
138 };
139
140 dcdc2_reg: regulator@1 {
141 /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
142 regulator-name = "vdd_mpu";
143 regulator-min-microvolt = <925000>;
144 regulator-max-microvolt = <1325000>;
145 regulator-boot-on;
146 regulator-always-on;
147 };
148
149 dcdc3_reg: regulator@2 {
150 /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
151 regulator-name = "vdd_core";
152 regulator-min-microvolt = <925000>;
153 regulator-max-microvolt = <1150000>;
154 regulator-boot-on;
155 regulator-always-on;
156 };
157
158 ldo1_reg: regulator@3 {
159 regulator-name = "vio,vrtc,vdds";
160 regulator-boot-on;
161 regulator-always-on;
162 };
163
164 ldo2_reg: regulator@4 {
165 regulator-name = "vdd_3v3aux";
166 regulator-boot-on;
167 regulator-always-on;
168 };
169
170 ldo3_reg: regulator@5 {
171 regulator-name = "vdd_1v8";
172 regulator-boot-on;
173 regulator-always-on;
174 };
175
176 ldo4_reg: regulator@6 {
177 regulator-name = "vdd_3v3d";
178 regulator-boot-on;
179 regulator-always-on;
180 };
181 };
182};
183
184/* Ethernet MAC */
185&mac {
186 slaves = <1>;
187 pinctrl-names = "default", "sleep";
188 pinctrl-0 = <&cpsw_default>;
189 pinctrl-1 = <&cpsw_sleep>;
190 status = "okay";
191};
192
193&davinci_mdio {
194 pinctrl-names = "default", "sleep";
195 pinctrl-0 = <&davinci_mdio_default>;
196 pinctrl-1 = <&davinci_mdio_sleep>;
197 status = "okay";
198};
199
200/* NAND Flash */
201&elm {
202 status = "okay";
203};
204
205&gpmc {
206 status = "okay";
207 pinctrl-names = "default";
208 pinctrl-0 = <&nandflash_pins>;
209 ranges = <0 0 0x08000000 0x01000000>; /* CS0 0 @addr 0x08000000, size 0x01000000 */
210 nand@0,0 {
211 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
212 ti,nand-ecc-opt = "bch8";
213 ti,elm-id = <&elm>;
214 nand-bus-width = <8>;
215 gpmc,device-width = <1>;
216 gpmc,sync-clk-ps = <0>;
217 gpmc,cs-on-ns = <0>;
218 gpmc,cs-rd-off-ns = <44>;
219 gpmc,cs-wr-off-ns = <44>;
220 gpmc,adv-on-ns = <6>;
221 gpmc,adv-rd-off-ns = <34>;
222 gpmc,adv-wr-off-ns = <44>;
223 gpmc,we-on-ns = <0>;
224 gpmc,we-off-ns = <40>;
225 gpmc,oe-on-ns = <0>;
226 gpmc,oe-off-ns = <54>;
227 gpmc,access-ns = <64>;
228 gpmc,rd-cycle-ns = <82>;
229 gpmc,wr-cycle-ns = <82>;
230 gpmc,wait-on-read = "true";
231 gpmc,wait-on-write = "true";
232 gpmc,bus-turnaround-ns = <0>;
233 gpmc,cycle2cycle-delay-ns = <0>;
234 gpmc,clk-activation-ns = <0>;
235 gpmc,wait-monitoring-ns = <0>;
236 gpmc,wr-access-ns = <40>;
237 gpmc,wr-data-mux-bus-ns = <0>;
238 };
239};
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
index df5fee6b6b4b..87fc7a35e802 100644
--- a/arch/arm/boot/dts/am335x-evmsk.dts
+++ b/arch/arm/boot/dts/am335x-evmsk.dts
@@ -15,6 +15,7 @@
15 15
16#include "am33xx.dtsi" 16#include "am33xx.dtsi"
17#include <dt-bindings/pwm/pwm.h> 17#include <dt-bindings/pwm/pwm.h>
18#include <dt-bindings/interrupt-controller/irq.h>
18 19
19/ { 20/ {
20 model = "TI AM335x EVM-SK"; 21 model = "TI AM335x EVM-SK";
@@ -647,6 +648,16 @@
647 cap-power-off-card; 648 cap-power-off-card;
648 pinctrl-names = "default"; 649 pinctrl-names = "default";
649 pinctrl-0 = <&mmc2_pins>; 650 pinctrl-0 = <&mmc2_pins>;
651
652 #address-cells = <1>;
653 #size-cells = <0>;
654 wlcore: wlcore@2 {
655 compatible = "ti,wl1271";
656 reg = <2>;
657 interrupt-parent = <&gpio1>;
658 interrupts = <31 IRQ_TYPE_LEVEL_HIGH>; /* gpio 31 */
659 ref-clock-frequency = <38400000>;
660 };
650}; 661};
651 662
652&mcasp1 { 663&mcasp1 {
diff --git a/arch/arm/boot/dts/am335x-nano.dts b/arch/arm/boot/dts/am335x-nano.dts
index a3466455b171..5ed4ca6eaf55 100644
--- a/arch/arm/boot/dts/am335x-nano.dts
+++ b/arch/arm/boot/dts/am335x-nano.dts
@@ -213,7 +213,9 @@
213 pinctrl-0 = <&i2c0_pins>; 213 pinctrl-0 = <&i2c0_pins>;
214 214
215 gpio@20 { 215 gpio@20 {
216 compatible = "mcp,mcp23017"; 216 compatible = "microchip,mcp23017";
217 gpio-controller;
218 #gpio-cells = <2>;
217 reg = <0x20>; 219 reg = <0x20>;
218 }; 220 };
219 221
@@ -222,7 +224,7 @@
222 }; 224 };
223 225
224 eeprom@53 { 226 eeprom@53 {
225 compatible = "mcp,24c02"; 227 compatible = "microchip,24c02";
226 reg = <0x53>; 228 reg = <0x53>;
227 pagesize = <8>; 229 pagesize = <8>;
228 }; 230 };
@@ -297,8 +299,8 @@
297 | |-->0x004FFFFF-> Kernel end 299 | |-->0x004FFFFF-> Kernel end
298 | |-->0x00500000-> File system start 300 | |-->0x00500000-> File system start
299 | | 301 | |
300 | |-->0x014FFFFF-> File system end 302 | |-->0x01FFFFFF-> File system end
301 | |-->0x01500000-> User data start 303 | |-->0x02000000-> User data start
302 | | 304 | |
303 | |-->0x03FFFFFF-> User data end 305 | |-->0x03FFFFFF-> User data end
304 | |-->0x04000000-> Data storage start 306 | |-->0x04000000-> Data storage start
@@ -327,12 +329,12 @@
327 329
328 partition@4 { 330 partition@4 {
329 label = "rootfs"; 331 label = "rootfs";
330 reg = <0x00500000 0x01000000>; /* 16MB */ 332 reg = <0x00500000 0x01b00000>; /* 27MB */
331 }; 333 };
332 334
333 partition@5 { 335 partition@5 {
334 label = "user"; 336 label = "user";
335 reg = <0x01500000 0x02b00000>; /* 43MB */ 337 reg = <0x02000000 0x02000000>; /* 32MB */
336 }; 338 };
337 339
338 partition@6 { 340 partition@6 {
@@ -343,7 +345,7 @@
343}; 345};
344 346
345&mac { 347&mac {
346 dual_emac = <1>; 348 dual_emac;
347 status = "okay"; 349 status = "okay";
348}; 350};
349 351
@@ -353,11 +355,13 @@
353 355
354&cpsw_emac0 { 356&cpsw_emac0 {
355 phy_id = <&davinci_mdio>, <0>; 357 phy_id = <&davinci_mdio>, <0>;
358 phy-mode = "mii";
356 dual_emac_res_vlan = <1>; 359 dual_emac_res_vlan = <1>;
357}; 360};
358 361
359&cpsw_emac1 { 362&cpsw_emac1 {
360 phy_id = <&davinci_mdio>, <1>; 363 phy_id = <&davinci_mdio>, <1>;
364 phy-mode = "mii";
361 dual_emac_res_vlan = <2>; 365 dual_emac_res_vlan = <2>;
362}; 366};
363 367
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index ebe4fa691860..1b7bda8c14b1 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -893,7 +893,7 @@
893 }; 893 };
894 894
895 hdq: hdq@48347000 { 895 hdq: hdq@48347000 {
896 compatible = "ti,am43xx-hdq"; 896 compatible = "ti,am4372-hdq";
897 reg = <0x48347000 0x1000>; 897 reg = <0x48347000 0x1000>;
898 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 898 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
899 clocks = <&func_12m_clk>; 899 clocks = <&func_12m_clk>;
diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts b/arch/arm/boot/dts/am437x-idk-evm.dts
index 0198f5a62b96..378344271746 100644
--- a/arch/arm/boot/dts/am437x-idk-evm.dts
+++ b/arch/arm/boot/dts/am437x-idk-evm.dts
@@ -133,6 +133,20 @@
133 >; 133 >;
134 }; 134 };
135 135
136 i2c2_pins_default: i2c2_pins_default {
137 pinctrl-single,pins = <
138 0x1e8 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data1.i2c2_scl */
139 0x1ec (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data0.i2c2_sda */
140 >;
141 };
142
143 i2c2_pins_sleep: i2c2_pins_sleep {
144 pinctrl-single,pins = <
145 0x1e8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
146 0x1ec (PIN_INPUT_PULLDOWN | MUX_MODE7)
147 >;
148 };
149
136 mmc1_pins_default: pinmux_mmc1_pins_default { 150 mmc1_pins_default: pinmux_mmc1_pins_default {
137 pinctrl-single,pins = < 151 pinctrl-single,pins = <
138 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */ 152 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
@@ -263,6 +277,14 @@
263 }; 277 };
264}; 278};
265 279
280&i2c2 {
281 status = "okay";
282 pinctrl-names = "default", "sleep";
283 pinctrl-0 = <&i2c2_pins_default>;
284 pinctrl-1 = <&i2c2_pins_sleep>;
285 clock-frequency = <100000>;
286};
287
266&epwmss0 { 288&epwmss0 {
267 status = "okay"; 289 status = "okay";
268}; 290};
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts
index e580f4ffbde0..15f198e4864d 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15.dts
+++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts
@@ -8,7 +8,6 @@
8/dts-v1/; 8/dts-v1/;
9 9
10#include "dra74x.dtsi" 10#include "dra74x.dtsi"
11#include <dt-bindings/clk/ti-dra7-atl.h>
12#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/interrupt-controller/irq.h>
14 13
@@ -550,6 +549,14 @@
550 pinctrl-0 = <&usb1_pins>; 549 pinctrl-0 = <&usb1_pins>;
551}; 550};
552 551
552&omap_dwc3_1 {
553 extcon = <&extcon_usb1>;
554};
555
556&omap_dwc3_2 {
557 extcon = <&extcon_usb2>;
558};
559
553&usb2 { 560&usb2 {
554 dr_mode = "peripheral"; 561 dr_mode = "peripheral";
555}; 562};
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index e993c46bd472..19f3bf271915 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -45,6 +45,15 @@
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE. 47 * OTHER DEALINGS IN THE SOFTWARE.
48 *
49 * Note: this Device Tree assumes that the bootloader has remapped the
50 * internal registers to 0xf1000000 (instead of the default
51 * 0xd0000000). The 0xf1000000 is the default used by the recent,
52 * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
53 * boards were delivered with an older version of the bootloader that
54 * left internal registers mapped at 0xd0000000. If you are in this
55 * situation, you should either update your bootloader (preferred
56 * solution) or the below Device Tree should be adjusted.
48 */ 57 */
49 58
50/dts-v1/; 59/dts-v1/;
@@ -55,7 +64,7 @@
55 compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp"; 64 compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp";
56 65
57 chosen { 66 chosen {
58 bootargs = "console=ttyS0,115200 earlyprintk"; 67 stdout-path = "serial0:115200n8";
59 }; 68 };
60 69
61 memory { 70 memory {
@@ -64,7 +73,7 @@
64 }; 73 };
65 74
66 soc { 75 soc {
67 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000 76 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
68 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; 77 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
69 78
70 internal-regs { 79 internal-regs {
diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts
index b10ceb488efe..0f40d5da28c3 100644
--- a/arch/arm/boot/dts/armada-370-mirabox.dts
+++ b/arch/arm/boot/dts/armada-370-mirabox.dts
@@ -51,7 +51,7 @@
51 compatible = "globalscale,mirabox", "marvell,armada370", "marvell,armada-370-xp"; 51 compatible = "globalscale,mirabox", "marvell,armada370", "marvell,armada-370-xp";
52 52
53 chosen { 53 chosen {
54 bootargs = "console=ttyS0,115200 earlyprintk"; 54 stdout-path = "serial0:115200n8";
55 }; 55 };
56 56
57 memory { 57 memory {
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn102.dts b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
index 3f8cc3845a5e..a31207860f34 100644
--- a/arch/arm/boot/dts/armada-370-netgear-rn102.dts
+++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
@@ -53,7 +53,7 @@
53 compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp"; 53 compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";
54 54
55 chosen { 55 chosen {
56 bootargs = "console=ttyS0,115200 earlyprintk"; 56 stdout-path = "serial0:115200n8";
57 }; 57 };
58 58
59 memory { 59 memory {
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn104.dts b/arch/arm/boot/dts/armada-370-netgear-rn104.dts
index 99eb8a014ac6..00540f292979 100644
--- a/arch/arm/boot/dts/armada-370-netgear-rn104.dts
+++ b/arch/arm/boot/dts/armada-370-netgear-rn104.dts
@@ -53,7 +53,7 @@
53 compatible = "netgear,readynas-104", "marvell,armada370", "marvell,armada-370-xp"; 53 compatible = "netgear,readynas-104", "marvell,armada370", "marvell,armada-370-xp";
54 54
55 chosen { 55 chosen {
56 bootargs = "console=ttyS0,115200 earlyprintk"; 56 stdout-path = "serial0:115200n8";
57 }; 57 };
58 58
59 memory { 59 memory {
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts
index 6ae36a38beb2..19475e68b8e9 100644
--- a/arch/arm/boot/dts/armada-370-rd.dts
+++ b/arch/arm/boot/dts/armada-370-rd.dts
@@ -64,7 +64,7 @@
64 compatible = "marvell,a370-rd", "marvell,armada370", "marvell,armada-370-xp"; 64 compatible = "marvell,a370-rd", "marvell,armada370", "marvell,armada-370-xp";
65 65
66 chosen { 66 chosen {
67 bootargs = "console=ttyS0,115200 earlyprintk"; 67 stdout-path = "serial0:115200n8";
68 }; 68 };
69 69
70 memory { 70 memory {
diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
index 59f74e66963f..b42b767763aa 100644
--- a/arch/arm/boot/dts/armada-370-synology-ds213j.dts
+++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
@@ -67,8 +67,7 @@
67 "marvell,armada-370-xp"; 67 "marvell,armada-370-xp";
68 68
69 chosen { 69 chosen {
70 bootargs = "console=ttyS0,115200 earlyprintk"; 70 stdout-path = "serial0:115200n8";
71 stdout-path = &uart0;
72 }; 71 };
73 72
74 memory { 73 memory {
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 8a322ad57e5f..ec96f0b36346 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -59,8 +59,8 @@
59 compatible = "marvell,armada-370-xp"; 59 compatible = "marvell,armada-370-xp";
60 60
61 aliases { 61 aliases {
62 eth0 = &eth0; 62 serial0 = &uart0;
63 eth1 = &eth1; 63 serial1 = &uart1;
64 }; 64 };
65 65
66 cpus { 66 cpus {
@@ -73,6 +73,11 @@
73 }; 73 };
74 }; 74 };
75 75
76 pmu {
77 compatible = "arm,cortex-a9-pmu";
78 interrupts-extended = <&mpic 3>;
79 };
80
76 soc { 81 soc {
77 #address-cells = <2>; 82 #address-cells = <2>;
78 #size-cells = <1>; 83 #size-cells = <1>;
@@ -223,7 +228,7 @@
223 <0x20250 0x8>; 228 <0x20250 0x8>;
224 }; 229 };
225 230
226 mpic: interrupt-controller@20000 { 231 mpic: interrupt-controller@20a00 {
227 compatible = "marvell,mpic"; 232 compatible = "marvell,mpic";
228 #interrupt-cells = <1>; 233 #interrupt-cells = <1>;
229 #size-cells = <1>; 234 #size-cells = <1>;
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 27397f151def..00b50db57c9c 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -129,6 +129,7 @@
129 compatible = "marvell,aurora-outer-cache"; 129 compatible = "marvell,aurora-outer-cache";
130 reg = <0x08000 0x1000>; 130 reg = <0x08000 0x1000>;
131 cache-id-part = <0x100>; 131 cache-id-part = <0x100>;
132 cache-level = <2>;
132 cache-unified; 133 cache-unified;
133 wt-override; 134 wt-override;
134 }; 135 };
@@ -232,7 +233,7 @@
232 reg = <0x18330 0x4>; 233 reg = <0x18330 0x4>;
233 }; 234 };
234 235
235 interrupt-controller@20000 { 236 interrupt-controller@20a00 {
236 reg = <0x20a00 0x1d0>, <0x21870 0x58>; 237 reg = <0x20a00 0x1d0>, <0x21870 0x58>;
237 }; 238 };
238 239
diff --git a/arch/arm/boot/dts/armada-375-db.dts b/arch/arm/boot/dts/armada-375-db.dts
index 0440891425c0..4eabc9c21f8d 100644
--- a/arch/arm/boot/dts/armada-375-db.dts
+++ b/arch/arm/boot/dts/armada-375-db.dts
@@ -55,7 +55,7 @@
55 compatible = "marvell,a375-db", "marvell,armada375"; 55 compatible = "marvell,a375-db", "marvell,armada375";
56 56
57 chosen { 57 chosen {
58 bootargs = "console=ttyS0,115200 earlyprintk"; 58 stdout-path = "serial0:115200n8";
59 }; 59 };
60 60
61 memory { 61 memory {
diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index ba3c57e0af72..c675257f2377 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -60,8 +60,8 @@
60 gpio0 = &gpio0; 60 gpio0 = &gpio0;
61 gpio1 = &gpio1; 61 gpio1 = &gpio1;
62 gpio2 = &gpio2; 62 gpio2 = &gpio2;
63 ethernet0 = &eth0; 63 serial0 = &uart0;
64 ethernet1 = &eth1; 64 serial1 = &uart1;
65 }; 65 };
66 66
67 clocks { 67 clocks {
@@ -96,6 +96,11 @@
96 }; 96 };
97 }; 97 };
98 98
99 pmu {
100 compatible = "arm,cortex-a9-pmu";
101 interrupts-extended = <&mpic 3>;
102 };
103
99 soc { 104 soc {
100 compatible = "marvell,armada375-mbus", "simple-bus"; 105 compatible = "marvell,armada375-mbus", "simple-bus";
101 #address-cells = <2>; 106 #address-cells = <2>;
@@ -276,7 +281,7 @@
276 status = "disabled"; 281 status = "disabled";
277 }; 282 };
278 283
279 serial@12000 { 284 uart0: serial@12000 {
280 compatible = "snps,dw-apb-uart"; 285 compatible = "snps,dw-apb-uart";
281 reg = <0x12000 0x100>; 286 reg = <0x12000 0x100>;
282 reg-shift = <2>; 287 reg-shift = <2>;
@@ -286,7 +291,7 @@
286 status = "disabled"; 291 status = "disabled";
287 }; 292 };
288 293
289 serial@12100 { 294 uart1: serial@12100 {
290 compatible = "snps,dw-apb-uart"; 295 compatible = "snps,dw-apb-uart";
291 reg = <0x12100 0x100>; 296 reg = <0x12100 0x100>;
292 reg-shift = <2>; 297 reg-shift = <2>;
@@ -394,7 +399,7 @@
394 reg = <0x20000 0x100>, <0x20180 0x20>; 399 reg = <0x20000 0x100>, <0x20180 0x20>;
395 }; 400 };
396 401
397 mpic: interrupt-controller@20000 { 402 mpic: interrupt-controller@20a00 {
398 compatible = "marvell,mpic"; 403 compatible = "marvell,mpic";
399 reg = <0x20a00 0x2d0>, <0x21070 0x58>; 404 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
400 #interrupt-cells = <1>; 405 #interrupt-cells = <1>;
diff --git a/arch/arm/boot/dts/armada-385-db-ap.dts b/arch/arm/boot/dts/armada-385-db-ap.dts
index 57b9119fb3e0..7219ac3a3d90 100644
--- a/arch/arm/boot/dts/armada-385-db-ap.dts
+++ b/arch/arm/boot/dts/armada-385-db-ap.dts
@@ -49,8 +49,7 @@
49 compatible = "marvell,a385-db-ap", "marvell,armada385", "marvell,armada38x"; 49 compatible = "marvell,a385-db-ap", "marvell,armada385", "marvell,armada38x";
50 50
51 chosen { 51 chosen {
52 bootargs = "console=ttyS0,115200"; 52 stdout-path = "serial1:115200n8";
53 stdout-path = &uart1;
54 }; 53 };
55 54
56 memory { 55 memory {
@@ -126,6 +125,13 @@
126 status = "okay"; 125 status = "okay";
127 }; 126 };
128 127
128 pinctrl@18000 {
129 xhci0_vbus_pins: xhci0-vbus-pins {
130 marvell,pins = "mpp44";
131 marvell,function = "gpio";
132 };
133 };
134
129 ethernet@30000 { 135 ethernet@30000 {
130 status = "okay"; 136 status = "okay";
131 phy = <&phy2>; 137 phy = <&phy2>;
@@ -150,6 +156,24 @@
150 phy = <&phy0>; 156 phy = <&phy0>;
151 phy-mode = "rgmii-id"; 157 phy-mode = "rgmii-id";
152 }; 158 };
159
160 nfc: flash@d0000 {
161 status = "okay";
162 #address-cells = <1>;
163 #size-cells = <1>;
164
165 num-cs = <1>;
166 nand-ecc-strength = <4>;
167 nand-ecc-step-size = <512>;
168 marvell,nand-keep-config;
169 marvell,nand-enable-arbiter;
170 nand-on-flash-bbt;
171 };
172
173 usb3@f0000 {
174 status = "okay";
175 usb-phy = <&usb3_phy>;
176 };
153 }; 177 };
154 178
155 pcie-controller { 179 pcie-controller {
@@ -175,4 +199,20 @@
175 }; 199 };
176 }; 200 };
177 }; 201 };
202
203 usb3_phy: usb3_phy {
204 compatible = "usb-nop-xceiv";
205 vcc-supply = <&reg_xhci0_vbus>;
206 };
207
208 reg_xhci0_vbus: xhci0-vbus {
209 compatible = "regulator-fixed";
210 pinctrl-names = "default";
211 pinctrl-0 = <&xhci0_vbus_pins>;
212 regulator-name = "xhci0-vbus";
213 regulator-min-microvolt = <5000000>;
214 regulator-max-microvolt = <5000000>;
215 enable-active-high;
216 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
217 };
178}; 218};
diff --git a/arch/arm/boot/dts/armada-388-db.dts b/arch/arm/boot/dts/armada-388-db.dts
index 16512efcd32c..51d1623de53e 100644
--- a/arch/arm/boot/dts/armada-388-db.dts
+++ b/arch/arm/boot/dts/armada-388-db.dts
@@ -54,7 +54,7 @@
54 "marvell,armada385", "marvell,armada380"; 54 "marvell,armada385", "marvell,armada380";
55 55
56 chosen { 56 chosen {
57 bootargs = "console=ttyS0,115200 earlyprintk"; 57 stdout-path = "serial0:115200n8";
58 }; 58 };
59 59
60 memory { 60 memory {
@@ -99,7 +99,7 @@
99 phy-mode = "rgmii-id"; 99 phy-mode = "rgmii-id";
100 }; 100 };
101 101
102 usb@50000 { 102 usb@58000 {
103 status = "ok"; 103 status = "ok";
104 }; 104 };
105 105
diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts
index 590b383db323..78514ab0b47a 100644
--- a/arch/arm/boot/dts/armada-388-gp.dts
+++ b/arch/arm/boot/dts/armada-388-gp.dts
@@ -48,8 +48,7 @@
48 compatible = "marvell,a385-gp", "marvell,armada388", "marvell,armada380"; 48 compatible = "marvell,a385-gp", "marvell,armada388", "marvell,armada380";
49 49
50 chosen { 50 chosen {
51 bootargs = "console=ttyS0,115200"; 51 stdout-path = "serial0:115200n8";
52 stdout-path = &uart0;
53 }; 52 };
54 53
55 memory { 54 memory {
@@ -135,7 +134,7 @@
135 }; 134 };
136 135
137 /* CON4 */ 136 /* CON4 */
138 usb@50000 { 137 usb@58000 {
139 vcc-supply = <&reg_usb2_0_vbus>; 138 vcc-supply = <&reg_usb2_0_vbus>;
140 status = "okay"; 139 status = "okay";
141 }; 140 };
diff --git a/arch/arm/boot/dts/armada-388-rd.dts b/arch/arm/boot/dts/armada-388-rd.dts
index d99baac72081..1dc6e2341cc2 100644
--- a/arch/arm/boot/dts/armada-388-rd.dts
+++ b/arch/arm/boot/dts/armada-388-rd.dts
@@ -55,7 +55,7 @@
55 "marvell,armada385","marvell,armada380"; 55 "marvell,armada385","marvell,armada380";
56 56
57 chosen { 57 chosen {
58 bootargs = "console=ttyS0,115200 earlyprintk"; 58 stdout-path = "serial0:115200n8";
59 }; 59 };
60 60
61 memory { 61 memory {
@@ -85,6 +85,16 @@
85 clock-frequency = <100000>; 85 clock-frequency = <100000>;
86 }; 86 };
87 87
88 sdhci@d8000 {
89 pinctrl-names = "default";
90 pinctrl-0 = <&sdhci_pins>;
91 broken-cd;
92 no-1-8-v;
93 wp-inverted;
94 bus-width = <8>;
95 status = "okay";
96 };
97
88 serial@12000 { 98 serial@12000 {
89 status = "okay"; 99 status = "okay";
90 }; 100 };
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index 1dff30a81e24..ed2dd8ba4080 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -59,9 +59,13 @@
59 aliases { 59 aliases {
60 gpio0 = &gpio0; 60 gpio0 = &gpio0;
61 gpio1 = &gpio1; 61 gpio1 = &gpio1;
62 ethernet0 = &eth0; 62 serial0 = &uart0;
63 ethernet1 = &eth1; 63 serial1 = &uart1;
64 ethernet2 = &eth2; 64 };
65
66 pmu {
67 compatible = "arm,cortex-a9-pmu";
68 interrupts-extended = <&mpic 3>;
65 }; 69 };
66 70
67 soc { 71 soc {
@@ -216,7 +220,7 @@
216 status = "disabled"; 220 status = "disabled";
217 }; 221 };
218 222
219 serial@12100 { 223 uart1: serial@12100 {
220 compatible = "snps,dw-apb-uart"; 224 compatible = "snps,dw-apb-uart";
221 reg = <0x12100 0x100>; 225 reg = <0x12100 0x100>;
222 reg-shift = <2>; 226 reg-shift = <2>;
@@ -368,7 +372,7 @@
368 reg = <0x20000 0x100>, <0x20180 0x20>; 372 reg = <0x20000 0x100>, <0x20180 0x20>;
369 }; 373 };
370 374
371 mpic: interrupt-controller@20000 { 375 mpic: interrupt-controller@20a00 {
372 compatible = "marvell,mpic"; 376 compatible = "marvell,mpic";
373 reg = <0x20a00 0x2d0>, <0x21070 0x58>; 377 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
374 #interrupt-cells = <1>; 378 #interrupt-cells = <1>;
@@ -435,7 +439,7 @@
435 status = "disabled"; 439 status = "disabled";
436 }; 440 };
437 441
438 usb@50000 { 442 usb@58000 {
439 compatible = "marvell,orion-ehci"; 443 compatible = "marvell,orion-ehci";
440 reg = <0x58000 0x500>; 444 reg = <0x58000 0x500>;
441 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 445 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
@@ -548,8 +552,11 @@
548 552
549 sdhci@d8000 { 553 sdhci@d8000 {
550 compatible = "marvell,armada-380-sdhci"; 554 compatible = "marvell,armada-380-sdhci";
551 reg = <0xd8000 0x1000>, <0xdc000 0x100>; 555 reg-names = "sdhci", "mbus", "conf-sdio3";
552 interrupts = <0 25 0x4>; 556 reg = <0xd8000 0x1000>,
557 <0xdc000 0x100>,
558 <0x18454 0x4>;
559 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
553 clocks = <&gateclk 17>; 560 clocks = <&gateclk 17>;
554 mrvl,clk-delay-cycles = <0x1F>; 561 mrvl,clk-delay-cycles = <0x1F>;
555 status = "disabled"; 562 status = "disabled";
diff --git a/arch/arm/boot/dts/armada-390.dtsi b/arch/arm/boot/dts/armada-390.dtsi
new file mode 100644
index 000000000000..094e39c66039
--- /dev/null
+++ b/arch/arm/boot/dts/armada-390.dtsi
@@ -0,0 +1,57 @@
1/*
2 * Device Tree Include file for Marvell Armada 390 SoC.
3 *
4 * Copyright (C) 2015 Marvell
5 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */
46
47#include "armada-39x.dtsi"
48
49/ {
50 soc {
51 internal-regs {
52 pinctrl@18000 {
53 compatible = "marvell,mv88f6920-pinctrl";
54 reg = <0x18000 0x20>;
55 };
56 };
57};
diff --git a/arch/arm/boot/dts/armada-398-db.dts b/arch/arm/boot/dts/armada-398-db.dts
new file mode 100644
index 000000000000..bbf83756c43c
--- /dev/null
+++ b/arch/arm/boot/dts/armada-398-db.dts
@@ -0,0 +1,153 @@
1/*
2 * Device Tree Include file for Marvell Armada 398 Development Board
3 *
4 * Copyright (C) 2015 Marvell
5 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */
46
47/dts-v1/;
48#include "armada-398.dtsi"
49
50/ {
51 model = "Marvell Armada 398 Development Board";
52 compatible = "marvell,a398-db", "marvell,armada398", "marvell,armada390";
53
54 chosen {
55 stdout-path = "serial0:115200n8";
56 };
57
58 memory {
59 device_type = "memory";
60 reg = <0x00000000 0x80000000>; /* 2 GB */
61 };
62
63 soc {
64 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
65 MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000>;
66
67 internal-regs {
68 spi@10680 {
69 status = "okay";
70 pinctrl-0 = <&spi1_pins>;
71 pinctrl-names = "default";
72
73 spi-flash@0 {
74 #address-cells = <1>;
75 #size-cells = <0>;
76 compatible = "n25q128a13";
77 reg = <0>;
78 spi-max-frequency = <108000000>;
79
80 partition@0 {
81 label = "U-Boot";
82 reg = <0 0x400000>;
83 };
84
85 partition@400000 {
86 label = "Filesystem";
87 reg = <0x400000 0x1000000>;
88 };
89 };
90 };
91
92 i2c@11000 {
93 pinctrl-0 = <&i2c0_pins>;
94 pinctrl-names = "default";
95 status = "okay";
96 clock-frequency = <100000>;
97 };
98
99 serial@12000 {
100 pinctrl-0 = <&uart0_pins>;
101 pinctrl-names = "default";
102 status = "okay";
103 };
104
105 serial@12100 {
106 pinctrl-0 = <&uart1_pins>;
107 pinctrl-names = "default";
108 status = "okay";
109 };
110
111 flash@d0000 {
112 status = "okay";
113 pinctrl-0 = <&nand_pins>;
114 pinctrl-names = "default";
115 num-cs = <1>;
116 marvell,nand-keep-config;
117 marvell,nand-enable-arbiter;
118 nand-on-flash-bbt;
119 nand-ecc-strength = <8>;
120 nand-ecc-step-size = <512>;
121
122 partition@0 {
123 label = "U-Boot";
124 reg = <0 0x800000>;
125 };
126 partition@800000 {
127 label = "Linux";
128 reg = <0x800000 0x800000>;
129 };
130 partition@1000000 {
131 label = "Filesystem";
132 reg = <0x1000000 0x3f000000>;
133 };
134 };
135 };
136
137 pcie-controller {
138 status = "okay";
139
140 pcie@1,0 {
141 status = "okay";
142 };
143
144 pcie@2,0 {
145 status = "okay";
146 };
147
148 pcie@3,0 {
149 status = "okay";
150 };
151 };
152 };
153};
diff --git a/arch/arm/boot/dts/armada-398.dtsi b/arch/arm/boot/dts/armada-398.dtsi
new file mode 100644
index 000000000000..fdc25914e3a3
--- /dev/null
+++ b/arch/arm/boot/dts/armada-398.dtsi
@@ -0,0 +1,60 @@
1/*
2 * Device Tree Include file for Marvell Armada 398 SoC.
3 *
4 * Copyright (C) 2015 Marvell
5 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */
46
47#include "armada-39x.dtsi"
48
49/ {
50 compatible = "marvell,armada398", "marvell,armada390";
51
52 soc {
53 internal-regs {
54 pinctrl@18000 {
55 compatible = "marvell,mv88f6928-pinctrl";
56 reg = <0x18000 0x20>;
57 };
58 };
59 };
60};
diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
new file mode 100644
index 000000000000..0e85fc15ceda
--- /dev/null
+++ b/arch/arm/boot/dts/armada-39x.dtsi
@@ -0,0 +1,508 @@
1/*
2 * Device Tree Include file for Marvell Armada 39x family of SoCs.
3 *
4 * Copyright (C) 2015 Marvell
5 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */
46
47#include "skeleton.dtsi"
48#include <dt-bindings/interrupt-controller/arm-gic.h>
49#include <dt-bindings/interrupt-controller/irq.h>
50
51#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
52
53/ {
54 model = "Marvell Armada 39x family SoC";
55 compatible = "marvell,armada390";
56
57 aliases {
58 serial0 = &uart0;
59 serial1 = &uart1;
60 serial2 = &uart2;
61 serial3 = &uart3;
62 };
63
64 cpus {
65 #address-cells = <1>;
66 #size-cells = <0>;
67 enable-method = "marvell,armada-390-smp";
68
69 cpu@0 {
70 device_type = "cpu";
71 compatible = "arm,cortex-a9";
72 reg = <0>;
73 };
74 cpu@1 {
75 device_type = "cpu";
76 compatible = "arm,cortex-a9";
77 reg = <1>;
78 };
79 };
80
81 soc {
82 compatible = "marvell,armada390-mbus", "marvell,armadaxp-mbus",
83 "simple-bus";
84 #address-cells = <2>;
85 #size-cells = <1>;
86 controller = <&mbusc>;
87 interrupt-parent = <&gic>;
88 pcie-mem-aperture = <0xe0000000 0x8000000>;
89 pcie-io-aperture = <0xe8000000 0x100000>;
90
91 bootrom {
92 compatible = "marvell,bootrom";
93 reg = <MBUS_ID(0x01, 0x1d) 0 0x200000>;
94 };
95
96 internal-regs {
97 compatible = "simple-bus";
98 #address-cells = <1>;
99 #size-cells = <1>;
100 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
101
102 L2: cache-controller@8000 {
103 compatible = "arm,pl310-cache";
104 reg = <0x8000 0x1000>;
105 cache-unified;
106 cache-level = <2>;
107 };
108
109 scu@c000 {
110 compatible = "arm,cortex-a9-scu";
111 reg = <0xc000 0x100>;
112 };
113
114 timer@c600 {
115 compatible = "arm,cortex-a9-twd-timer";
116 reg = <0xc600 0x20>;
117 interrupts = <GIC_PPI 13 (IRQ_TYPE_EDGE_RISING | GIC_CPU_MASK_SIMPLE(2))>;
118 clocks = <&coreclk 2>;
119 };
120
121 gic: interrupt-controller@d000 {
122 compatible = "arm,cortex-a9-gic";
123 #interrupt-cells = <3>;
124 #size-cells = <0>;
125 interrupt-controller;
126 reg = <0xd000 0x1000>,
127 <0xc100 0x100>;
128 };
129
130 spi0: spi@10600 {
131 compatible = "marvell,orion-spi";
132 reg = <0x10600 0x50>;
133 #address-cells = <1>;
134 #size-cells = <0>;
135 cell-index = <0>;
136 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
137 clocks = <&coreclk 0>;
138 status = "disabled";
139 };
140
141 spi1: spi@10680 {
142 compatible = "marvell,orion-spi";
143 reg = <0x10680 0x50>;
144 #address-cells = <1>;
145 #size-cells = <0>;
146 cell-index = <1>;
147 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
148 clocks = <&coreclk 0>;
149 status = "disabled";
150 };
151
152 i2c0: i2c@11000 {
153 compatible = "marvell,mv64xxx-i2c";
154 reg = <0x11000 0x20>;
155 #address-cells = <1>;
156 #size-cells = <0>;
157 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
158 timeout-ms = <1000>;
159 clocks = <&coreclk 0>;
160 status = "disabled";
161 };
162
163 i2c1: i2c@11100 {
164 compatible = "marvell,mv64xxx-i2c";
165 reg = <0x11100 0x20>;
166 #address-cells = <1>;
167 #size-cells = <0>;
168 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
169 timeout-ms = <1000>;
170 clocks = <&coreclk 0>;
171 status = "disabled";
172 };
173
174 i2c2: i2c@11200 {
175 compatible = "marvell,mv64xxx-i2c";
176 reg = <0x11200 0x20>;
177 #address-cells = <1>;
178 #size-cells = <0>;
179 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
180 timeout-ms = <1000>;
181 clocks = <&coreclk 0>;
182 status = "disabled";
183 };
184
185 i2c3: i2c@11300 {
186 compatible = "marvell,mv64xxx-i2c";
187 reg = <0x11300 0x20>;
188 #address-cells = <1>;
189 #size-cells = <0>;
190 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
191 timeout-ms = <1000>;
192 clocks = <&coreclk 0>;
193 status = "disabled";
194 };
195
196 uart0: serial@12000 {
197 compatible = "snps,dw-apb-uart";
198 reg = <0x12000 0x100>;
199 reg-shift = <2>;
200 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
201 reg-io-width = <1>;
202 clocks = <&coreclk 0>;
203 status = "disabled";
204 };
205
206 uart1: serial@12100 {
207 compatible = "snps,dw-apb-uart";
208 reg = <0x12100 0x100>;
209 reg-shift = <2>;
210 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
211 reg-io-width = <1>;
212 clocks = <&coreclk 0>;
213 status = "disabled";
214 };
215
216 uart2: serial@12200 {
217 compatible = "snps,dw-apb-uart";
218 reg = <0x12200 0x100>;
219 reg-shift = <2>;
220 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
221 reg-io-width = <1>;
222 clocks = <&coreclk 0>;
223 status = "disabled";
224 };
225
226 uart3: serial@12300 {
227 compatible = "snps,dw-apb-uart";
228 reg = <0x12300 0x100>;
229 reg-shift = <2>;
230 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
231 reg-io-width = <1>;
232 clocks = <&coreclk 0>;
233 status = "disabled";
234 };
235
236 pinctrl@18000 {
237 i2c0_pins: i2c0-pins {
238 marvell,pins = "mpp2", "mpp3";
239 marvell,function = "i2c0";
240 };
241
242 uart0_pins: uart0-pins {
243 marvell,pins = "mpp0", "mpp1";
244 marvell,function = "ua0";
245 };
246
247 uart1_pins: uart1-pins {
248 marvell,pins = "mpp19", "mpp20";
249 marvell,function = "ua1";
250 };
251
252 spi1_pins: spi1-pins {
253 marvell,pins = "mpp56", "mpp57", "mpp58", "mpp59";
254 marvell,function = "spi1";
255 };
256
257 nand_pins: nand-pins {
258 marvell,pins = "mpp22", "mpp34", "mpp23", "mpp33",
259 "mpp38", "mpp28", "mpp40", "mpp42",
260 "mpp35", "mpp36", "mpp25", "mpp30",
261 "mpp32";
262 marvell,function = "dev";
263 };
264 };
265
266 system-controller@18200 {
267 compatible = "marvell,armada-390-system-controller",
268 "marvell,armada-370-xp-system-controller";
269 reg = <0x18200 0x100>;
270 };
271
272 gateclk: clock-gating-control@18220 {
273 compatible = "marvell,armada-390-gating-clock";
274 reg = <0x18220 0x4>;
275 clocks = <&coreclk 0>;
276 #clock-cells = <1>;
277 };
278
279 coreclk: mvebu-sar@18600 {
280 compatible = "marvell,armada-390-core-clock";
281 reg = <0x18600 0x04>;
282 #clock-cells = <1>;
283 };
284
285 mbusc: mbus-controller@20000 {
286 compatible = "marvell,mbus-controller";
287 reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>;
288 };
289
290 mpic: interrupt-controller@20a00 {
291 compatible = "marvell,mpic";
292 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
293 #interrupt-cells = <1>;
294 #size-cells = <1>;
295 interrupt-controller;
296 msi-controller;
297 interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
298 };
299
300 timer@20300 {
301 compatible = "marvell,armada-380-timer",
302 "marvell,armada-xp-timer";
303 reg = <0x20300 0x30>, <0x21040 0x30>;
304 interrupts-extended = <&gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
305 <&gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
306 <&gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
307 <&gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
308 <&mpic 5>,
309 <&mpic 6>;
310 clocks = <&coreclk 2>, <&coreclk 5>;
311 clock-names = "nbclk", "fixed";
312 };
313
314 cpurst@20800 {
315 compatible = "marvell,armada-370-cpu-reset";
316 reg = <0x20800 0x10>;
317 };
318
319 pmsu@22000 {
320 compatible = "marvell,armada-390-pmsu",
321 "marvell,armada-380-pmsu";
322 reg = <0x22000 0x1000>;
323 };
324
325 xor@60800 {
326 compatible = "marvell,orion-xor";
327 reg = <0x60800 0x100
328 0x60a00 0x100>;
329 clocks = <&gateclk 22>;
330 status = "okay";
331
332 xor00 {
333 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
334 dmacap,memcpy;
335 dmacap,xor;
336 };
337 xor01 {
338 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
339 dmacap,memcpy;
340 dmacap,xor;
341 dmacap,memset;
342 };
343 };
344
345 xor@60900 {
346 compatible = "marvell,orion-xor";
347 reg = <0x60900 0x100
348 0x60b00 0x100>;
349 clocks = <&gateclk 28>;
350 status = "okay";
351
352 xor10 {
353 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
354 dmacap,memcpy;
355 dmacap,xor;
356 };
357 xor11 {
358 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
359 dmacap,memcpy;
360 dmacap,xor;
361 dmacap,memset;
362 };
363 };
364
365 flash@d0000 {
366 compatible = "marvell,armada370-nand";
367 reg = <0xd0000 0x54>;
368 #address-cells = <1>;
369 #size-cells = <1>;
370 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
371 clocks = <&coredivclk 0>;
372 status = "disabled";
373 };
374
375 sdhci@d8000 {
376 compatible = "marvell,armada-380-sdhci";
377 reg = <0xd8000 0x1000>, <0xdc000 0x100>;
378 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
379 clocks = <&gateclk 17>;
380 mrvl,clk-delay-cycles = <0x1F>;
381 status = "disabled";
382 };
383
384 coredivclk: clock@e4250 {
385 compatible = "marvell,armada-390-corediv-clock",
386 "marvell,armada-380-corediv-clock";
387 reg = <0xe4250 0xc>;
388 #clock-cells = <1>;
389 clocks = <&mainpll>;
390 clock-output-names = "nand";
391 };
392 };
393
394 pcie-controller {
395 compatible = "marvell,armada-370-pcie";
396 status = "disabled";
397 device_type = "pci";
398
399 #address-cells = <3>;
400 #size-cells = <2>;
401
402 msi-parent = <&mpic>;
403 bus-range = <0x00 0xff>;
404
405 ranges =
406 <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000
407 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
408 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000
409 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000
410 0x82000000 0x1 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 0 MEM */
411 0x81000000 0x1 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 0 IO */
412 0x82000000 0x2 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 1 MEM */
413 0x81000000 0x2 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 1 IO */
414 0x82000000 0x3 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 2 MEM */
415 0x81000000 0x3 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 2 IO */
416 0x82000000 0x4 0 MBUS_ID(0x04, 0xb8) 0 1 0 /* Port 3 MEM */
417 0x81000000 0x4 0 MBUS_ID(0x04, 0xb0) 0 1 0 /* Port 3 IO */>;
418
419 /*
420 * This port can be either x4 or x1. When
421 * configured in x4 by the bootloader, then
422 * pcie@4,0 is not available.
423 */
424 pcie@1,0 {
425 device_type = "pci";
426 assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
427 reg = <0x0800 0 0 0 0>;
428 #address-cells = <3>;
429 #size-cells = <2>;
430 #interrupt-cells = <1>;
431 ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
432 0x81000000 0 0 0x81000000 0x1 0 1 0>;
433 interrupt-map-mask = <0 0 0 0>;
434 interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
435 marvell,pcie-port = <0>;
436 marvell,pcie-lane = <0>;
437 clocks = <&gateclk 8>;
438 status = "disabled";
439 };
440
441 /* x1 port */
442 pcie@2,0 {
443 device_type = "pci";
444 assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
445 reg = <0x1000 0 0 0 0>;
446 #address-cells = <3>;
447 #size-cells = <2>;
448 #interrupt-cells = <1>;
449 ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
450 0x81000000 0 0 0x81000000 0x2 0 1 0>;
451 interrupt-map-mask = <0 0 0 0>;
452 interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
453 marvell,pcie-port = <1>;
454 marvell,pcie-lane = <0>;
455 clocks = <&gateclk 5>;
456 status = "disabled";
457 };
458
459 /* x1 port */
460 pcie@3,0 {
461 device_type = "pci";
462 assigned-addresses = <0x82000800 0 0x44000 0 0x2000>;
463 reg = <0x1800 0 0 0 0>;
464 #address-cells = <3>;
465 #size-cells = <2>;
466 #interrupt-cells = <1>;
467 ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
468 0x81000000 0 0 0x81000000 0x3 0 1 0>;
469 interrupt-map-mask = <0 0 0 0>;
470 interrupt-map = <0 0 0 0 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
471 marvell,pcie-port = <2>;
472 marvell,pcie-lane = <0>;
473 clocks = <&gateclk 6>;
474 status = "disabled";
475 };
476
477 /*
478 * x1 port only available when pcie@1,0 is
479 * configured as a x1 port
480 */
481 pcie@4,0 {
482 device_type = "pci";
483 assigned-addresses = <0x82000800 0 0x48000 0 0x2000>;
484 reg = <0x2000 0 0 0 0>;
485 #address-cells = <3>;
486 #size-cells = <2>;
487 #interrupt-cells = <1>;
488 ranges = <0x82000000 0 0 0x82000000 0x4 0 1 0
489 0x81000000 0 0 0x81000000 0x4 0 1 0>;
490 interrupt-map-mask = <0 0 0 0>;
491 interrupt-map = <0 0 0 0 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
492 marvell,pcie-port = <3>;
493 marvell,pcie-lane = <0>;
494 clocks = <&gateclk 7>;
495 status = "disabled";
496 };
497 };
498 };
499
500 clocks {
501 /* 2 GHz fixed main PLL */
502 mainpll: mainpll {
503 compatible = "fixed-clock";
504 #clock-cells = <0>;
505 clock-frequency = <2000000000>;
506 };
507 };
508};
diff --git a/arch/arm/boot/dts/armada-xp-axpwifiap.dts b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
index c1fbab243609..dfd782b44e50 100644
--- a/arch/arm/boot/dts/armada-xp-axpwifiap.dts
+++ b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
@@ -59,7 +59,7 @@
59 compatible = "marvell,rd-axpwifiap", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp"; 59 compatible = "marvell,rd-axpwifiap", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp";
60 60
61 chosen { 61 chosen {
62 bootargs = "console=ttyS0,115200 earlyprintk"; 62 stdout-path = "serial0:115200n8";
63 }; 63 };
64 64
65 memory { 65 memory {
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
index 48bdafe17526..103782407618 100644
--- a/arch/arm/boot/dts/armada-xp-db.dts
+++ b/arch/arm/boot/dts/armada-xp-db.dts
@@ -64,7 +64,7 @@
64 compatible = "marvell,axp-db", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp"; 64 compatible = "marvell,axp-db", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
65 65
66 chosen { 66 chosen {
67 bootargs = "console=ttyS0,115200 earlyprintk"; 67 stdout-path = "serial0:115200n8";
68 }; 68 };
69 69
70 memory { 70 memory {
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
index 206aebba01be..565227eacf06 100644
--- a/arch/arm/boot/dts/armada-xp-gp.dts
+++ b/arch/arm/boot/dts/armada-xp-gp.dts
@@ -65,7 +65,7 @@
65 compatible = "marvell,axp-gp", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp"; 65 compatible = "marvell,axp-gp", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
66 66
67 chosen { 67 chosen {
68 bootargs = "console=ttyS0,115200 earlyprintk"; 68 stdout-path = "serial0:115200n8";
69 }; 69 };
70 70
71 memory { 71 memory {
diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
index 5fb3c8b687cf..06a6a6c1fdf7 100644
--- a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
+++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
@@ -54,8 +54,7 @@
54 "marvell,armadaxp", "marvell,armada-370-xp"; 54 "marvell,armadaxp", "marvell,armada-370-xp";
55 55
56 chosen { 56 chosen {
57 bootargs = "console=ttyS0,115200 earlyprintk"; 57 stdout-path = "serial0:115200n8";
58 stdout-path = &uart0;
59 }; 58 };
60 59
61 memory { 60 memory {
diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
new file mode 100644
index 000000000000..a2cf2154dcdb
--- /dev/null
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
@@ -0,0 +1,393 @@
1/*
2 * Device Tree file for the Linksys WRT1900AC (Mamba).
3 *
4 * Note: this board is shipped with a new generation boot loader that
5 * remaps internal registers at 0xf1000000. Therefore, if earlyprintk
6 * is used, the CONFIG_DEBUG_MVEBU_UART0_ALTERNATE option should be
7 * used.
8 *
9 * Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
10 *
11 * Based on armada-xp-axpwifiap.dts:
12 *
13 * Copyright (C) 2013 Marvell
14 *
15 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
16 *
17 * This file is dual-licensed: you can use it either under the terms
18 * of the GPL or the X11 license, at your option. Note that this dual
19 * licensing only applies to this file, and not this project as a
20 * whole.
21 *
22 * a) This file is licensed under the terms of the GNU General Public
23 * License version 2. This program is licensed "as is" without
24 * any warranty of any kind, whether express or implied.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 */
49
50/dts-v1/;
51#include <dt-bindings/gpio/gpio.h>
52#include <dt-bindings/input/input.h>
53#include "armada-xp-mv78230.dtsi"
54
55/ {
56 model = "Linksys WRT1900AC";
57 compatible = "linksys,mamba", "marvell,armadaxp-mv78230",
58 "marvell,armadaxp", "marvell,armada-370-xp";
59
60 chosen {
61 bootargs = "console=ttyS0,115200";
62 stdout-path = &uart0;
63 };
64
65 memory {
66 device_type = "memory";
67 reg = <0x00000000 0x00000000 0x00000000 0x10000000>; /* 256MB */
68 };
69
70 soc {
71 ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
72 MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>;
73
74 pcie-controller {
75 status = "okay";
76
77 /* Etron EJ168 USB 3.0 controller */
78 pcie@1,0 {
79 /* Port 0, Lane 0 */
80 status = "okay";
81 };
82
83 /* First mini-PCIe port */
84 pcie@2,0 {
85 /* Port 0, Lane 1 */
86 status = "okay";
87 };
88
89 /* Second mini-PCIe port */
90 pcie@3,0 {
91 /* Port 0, Lane 3 */
92 status = "okay";
93 };
94 };
95
96 internal-regs {
97
98 /* J10: VCC, NC, RX, NC, TX, GND */
99 serial@12000 {
100 status = "okay";
101 };
102
103 sata@a0000 {
104 nr-ports = <1>;
105 status = "okay";
106 };
107
108 ethernet@70000 {
109 pinctrl-0 = <&ge0_rgmii_pins>;
110 pinctrl-names = "default";
111 status = "okay";
112 phy-mode = "rgmii-id";
113 fixed-link {
114 speed = <1000>;
115 full-duplex;
116 };
117 };
118
119 ethernet@74000 {
120 pinctrl-0 = <&ge1_rgmii_pins>;
121 pinctrl-names = "default";
122 status = "okay";
123 phy-mode = "rgmii-id";
124 fixed-link {
125 speed = <1000>;
126 full-duplex;
127 };
128 };
129
130 /* USB part of the eSATA/USB 2.0 port */
131 usb@50000 {
132 status = "okay";
133 };
134
135 i2c@11000 {
136 status = "okay";
137 clock-frequency = <100000>;
138
139 tmp421@4c {
140 compatible = "ti,tmp421";
141 reg = <0x4c>;
142 };
143
144 tlc59116@68 {
145 #address-cells = <1>;
146 #size-cells = <0>;
147 #gpio-cells = <2>;
148 compatible = "ti,tlc59116";
149 reg = <0x68>;
150
151 wan_amber@0 {
152 label = "mamba:amber:wan";
153 reg = <0x0>;
154 };
155
156 wan_white@1 {
157 label = "mamba:white:wan";
158 reg = <0x1>;
159 };
160
161 wlan_2g@2 {
162 label = "mamba:white:wlan_2g";
163 reg = <0x2>;
164 };
165
166 wlan_5g@3 {
167 label = "mamba:white:wlan_5g";
168 reg = <0x3>;
169 };
170
171 esata@4 {
172 label = "mamba:white:esata";
173 reg = <0x4>;
174 };
175
176 usb2@5 {
177 label = "mamba:white:usb2";
178 reg = <0x5>;
179 };
180
181 usb3_1@6 {
182 label = "mamba:white:usb3_1";
183 reg = <0x6>;
184 };
185
186 usb3_2@7 {
187 label = "mamba:white:usb3_2";
188 reg = <0x7>;
189 };
190
191 wps_white@8 {
192 label = "mamba:white:wps";
193 reg = <0x8>;
194 };
195
196 wps_amber@9 {
197 label = "mamba:amber:wps";
198 reg = <0x9>;
199 };
200 };
201 };
202
203 nand@d0000 {
204 status = "okay";
205 num-cs = <1>;
206 marvell,nand-keep-config;
207 marvell,nand-enable-arbiter;
208 nand-on-flash-bbt;
209 nand-ecc-strength = <4>;
210 nand-ecc-step-size = <512>;
211
212 partition@0 {
213 label = "u-boot";
214 reg = <0x0000000 0x100000>; /* 1MB */
215 read-only;
216 };
217
218 partition@100000 {
219 label = "u_env";
220 reg = <0x100000 0x40000>; /* 256KB */
221 };
222
223 partition@140000 {
224 label = "s_env";
225 reg = <0x140000 0x40000>; /* 256KB */
226 };
227
228 partition@900000 {
229 label = "devinfo";
230 reg = <0x900000 0x100000>; /* 1MB */
231 read-only;
232 };
233
234 /* kernel1 overlaps with rootfs1 by design */
235 partition@a00000 {
236 label = "kernel1";
237 reg = <0xa00000 0x2800000>; /* 40MB */
238 };
239
240 partition@d00000 {
241 label = "rootfs1";
242 reg = <0xd00000 0x2500000>; /* 37MB */
243 };
244
245 /* kernel2 overlaps with rootfs2 by design */
246 partition@3200000 {
247 label = "kernel2";
248 reg = <0x3200000 0x2800000>; /* 40MB */
249 };
250
251 partition@3500000 {
252 label = "rootfs2";
253 reg = <0x3500000 0x2500000>; /* 37MB */
254 };
255
256 /*
257 * 38MB, last MB is for the BBT, not writable
258 */
259 partition@5a00000 {
260 label = "syscfg";
261 reg = <0x5a00000 0x2600000>;
262 };
263
264 /*
265 * Unused area between "s_env" and "devinfo".
266 * Moved here because otherwise the renumbered
267 * partitions would break the bootloader
268 * supplied bootargs
269 */
270 partition@180000 {
271 label = "unused_area";
272 reg = <0x180000 0x780000>; /* 7.5MB */
273 };
274 };
275
276 spi0: spi@10600 {
277 status = "okay";
278
279 spi-flash@0 {
280 #address-cells = <1>;
281 #size-cells = <1>;
282 compatible = "everspin,mr25h256";
283 reg = <0>; /* Chip select 0 */
284 spi-max-frequency = <40000000>;
285 };
286 };
287 };
288 };
289
290 gpio_keys {
291 compatible = "gpio-keys";
292 #address-cells = <1>;
293 #size-cells = <0>;
294 pinctrl-0 = <&keys_pin>;
295 pinctrl-names = "default";
296
297 button@1 {
298 label = "WPS";
299 linux,code = <KEY_WPS_BUTTON>;
300 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
301 };
302
303 button@2 {
304 label = "Factory Reset Button";
305 linux,code = <KEY_RESTART>;
306 gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
307 };
308 };
309
310 gpio-leds {
311 compatible = "gpio-leds";
312 pinctrl-0 = <&power_led_pin>;
313 pinctrl-names = "default";
314
315 power {
316 label = "mamba:white:power";
317 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
318 default-state = "on";
319 };
320 };
321
322 gpio_fan {
323 /* SUNON HA4010V4-0000-C99 */
324 compatible = "gpio-fan";
325 gpios = <&gpio0 24 0>;
326
327 gpio-fan,speed-map = <0 0
328 4500 1>;
329 };
330
331 dsa@0 {
332 compatible = "marvell,dsa";
333 #address-cells = <2>;
334 #size-cells = <0>;
335
336 dsa,ethernet = <&eth0>;
337 dsa,mii-bus = <&mdio>;
338
339 switch@0 {
340 #address-cells = <1>;
341 #size-cells = <0>;
342 reg = <0x0 0>; /* MDIO address 0, switch 0 in tree */
343
344 port@0 {
345 reg = <0>;
346 label = "lan4";
347 };
348
349 port@1 {
350 reg = <1>;
351 label = "lan3";
352 };
353
354 port@2 {
355 reg = <2>;
356 label = "lan2";
357 };
358
359 port@3 {
360 reg = <3>;
361 label = "lan1";
362 };
363
364 port@4 {
365 reg = <4>;
366 label = "internet";
367 };
368
369 port@5 {
370 reg = <5>;
371 label = "cpu";
372 };
373 };
374 };
375};
376
377&pinctrl {
378
379 keys_pin: keys-pin {
380 marvell,pins = "mpp32", "mpp33";
381 marvell,function = "gpio";
382 };
383
384 power_led_pin: power-led-pin {
385 marvell,pins = "mpp40";
386 marvell,function = "gpio";
387 };
388
389 gpio_fan_pin: gpio-fan-pin {
390 marvell,pins = "mpp24";
391 marvell,function = "gpio";
392 };
393};
diff --git a/arch/arm/boot/dts/armada-xp-matrix.dts b/arch/arm/boot/dts/armada-xp-matrix.dts
index 56f958eb1ede..f894bc83e957 100644
--- a/arch/arm/boot/dts/armada-xp-matrix.dts
+++ b/arch/arm/boot/dts/armada-xp-matrix.dts
@@ -52,7 +52,7 @@
52 compatible = "marvell,axp-matrix", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp"; 52 compatible = "marvell,axp-matrix", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
53 53
54 chosen { 54 chosen {
55 bootargs = "console=ttyS0,115200 earlyprintk"; 55 stdout-path = "serial0:115200n8";
56 }; 56 };
57 57
58 memory { 58 memory {
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index 4a7cbed79b07..8479fdc9e9c2 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -57,7 +57,6 @@
57 gpio0 = &gpio0; 57 gpio0 = &gpio0;
58 gpio1 = &gpio1; 58 gpio1 = &gpio1;
59 gpio2 = &gpio2; 59 gpio2 = &gpio2;
60 eth3 = &eth3;
61 }; 60 };
62 61
63 cpus { 62 cpus {
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
index 36ce63a96cc9..661d54c81580 100644
--- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
@@ -57,7 +57,6 @@
57 gpio0 = &gpio0; 57 gpio0 = &gpio0;
58 gpio1 = &gpio1; 58 gpio1 = &gpio1;
59 gpio2 = &gpio2; 59 gpio2 = &gpio2;
60 eth3 = &eth3;
61 }; 60 };
62 61
63 62
diff --git a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
index 99cb9a8401b4..1516fc2627f9 100644
--- a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
+++ b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
@@ -53,7 +53,7 @@
53 compatible = "netgear,readynas-2120", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp"; 53 compatible = "netgear,readynas-2120", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp";
54 54
55 chosen { 55 chosen {
56 bootargs = "console=ttyS0,115200 earlyprintk"; 56 stdout-path = "serial0:115200n8";
57 }; 57 };
58 58
59 memory { 59 memory {
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
index 0c76d9f05fd0..e3b08fb959e5 100644
--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
@@ -54,7 +54,7 @@
54 compatible = "plathome,openblocks-ax3-4", "marvell,armadaxp-mv78260", "marvell,armadaxp", "marvell,armada-370-xp"; 54 compatible = "plathome,openblocks-ax3-4", "marvell,armadaxp-mv78260", "marvell,armadaxp", "marvell,armada-370-xp";
55 55
56 chosen { 56 chosen {
57 bootargs = "console=ttyS0,115200 earlyprintk"; 57 stdout-path = "serial0:115200n8";
58 }; 58 };
59 59
60 memory { 60 memory {
diff --git a/arch/arm/boot/dts/armada-xp-synology-ds414.dts b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
index e9fb225169aa..6063428fa6a0 100644
--- a/arch/arm/boot/dts/armada-xp-synology-ds414.dts
+++ b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
@@ -67,8 +67,7 @@
67 "marvell,armadaxp", "marvell,armada-370-xp"; 67 "marvell,armadaxp", "marvell,armada-370-xp";
68 68
69 chosen { 69 chosen {
70 bootargs = "console=ttyS0,115200 earlyprintk"; 70 stdout-path = "serial0:115200n8";
71 stdout-path = &uart0;
72 }; 71 };
73 72
74 memory { 73 memory {
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 82917236a2fb..013d63f69e36 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -57,7 +57,8 @@
57 compatible = "marvell,armadaxp", "marvell,armada-370-xp"; 57 compatible = "marvell,armadaxp", "marvell,armada-370-xp";
58 58
59 aliases { 59 aliases {
60 eth2 = &eth2; 60 serial2 = &uart2;
61 serial3 = &uart3;
61 }; 62 };
62 63
63 soc { 64 soc {
@@ -78,6 +79,7 @@
78 compatible = "marvell,aurora-system-cache"; 79 compatible = "marvell,aurora-system-cache";
79 reg = <0x08000 0x1000>; 80 reg = <0x08000 0x1000>;
80 cache-id-part = <0x100>; 81 cache-id-part = <0x100>;
82 cache-level = <2>;
81 cache-unified; 83 cache-unified;
82 wt-override; 84 wt-override;
83 }; 85 };
@@ -149,11 +151,11 @@
149 cpuclk: clock-complex@18700 { 151 cpuclk: clock-complex@18700 {
150 #clock-cells = <1>; 152 #clock-cells = <1>;
151 compatible = "marvell,armada-xp-cpu-clock"; 153 compatible = "marvell,armada-xp-cpu-clock";
152 reg = <0x18700 0xA0>, <0x1c054 0x10>; 154 reg = <0x18700 0x24>, <0x1c054 0x10>;
153 clocks = <&coreclk 1>; 155 clocks = <&coreclk 1>;
154 }; 156 };
155 157
156 interrupt-controller@20000 { 158 interrupt-controller@20a00 {
157 reg = <0x20a00 0x2d0>, <0x21070 0x58>; 159 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
158 }; 160 };
159 161
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index 6c4bc53cbf4e..9991240b7438 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -194,6 +194,11 @@
194 <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; 194 <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
195 }; 195 };
196 196
197 pinctrl_key_gpio: key_gpio_0 {
198 atmel,pins =
199 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
200 };
201
197 pinctrl_mmc0_cd: mmc0_cd { 202 pinctrl_mmc0_cd: mmc0_cd {
198 atmel,pins = 203 atmel,pins =
199 <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 204 <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
@@ -282,6 +287,9 @@
282 gpio_keys { 287 gpio_keys {
283 compatible = "gpio-keys"; 288 compatible = "gpio-keys";
284 289
290 pinctrl-names = "default";
291 pinctrl-0 = <&pinctrl_key_gpio>;
292
285 bp3 { 293 bp3 {
286 label = "PB_USER"; 294 label = "PB_USER";
287 gpios = <&pioE 29 GPIO_ACTIVE_LOW>; 295 gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
new file mode 100644
index 000000000000..c740e1a2a3a5
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -0,0 +1,241 @@
1/*
2 * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board
3 *
4 * Copyright (C) 2015 Atmel,
5 * 2015 Josh Wu <josh.wu@atmel.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */
45/dts-v1/;
46#include "sama5d4.dtsi"
47
48/ {
49 model = "Atmel SAMA5D4 Xplained";
50 compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5";
51
52 chosen {
53 bootargs = "console=ttyS0,115200 ignore_loglevel earlyprintk";
54 };
55
56 memory {
57 reg = <0x20000000 0x20000000>;
58 };
59
60 clocks {
61 #address-cells = <1>;
62 #size-cells = <1>;
63 ranges;
64
65 main_clock: clock@0 {
66 compatible = "atmel,osc", "fixed-clock";
67 clock-frequency = <12000000>;
68 };
69
70 slow_xtal {
71 clock-frequency = <32768>;
72 };
73
74 main_xtal {
75 clock-frequency = <12000000>;
76 };
77 };
78
79 ahb {
80 apb {
81 spi0: spi@f8010000 {
82 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
83 status = "okay";
84 m25p80@0 {
85 compatible = "atmel,at25df321a";
86 spi-max-frequency = <50000000>;
87 reg = <0>;
88 };
89 };
90
91 i2c0: i2c@f8014000 {
92 status = "okay";
93 };
94
95 macb0: ethernet@f8020000 {
96 phy-mode = "rmii";
97 status = "okay";
98
99 phy0: ethernet-phy@1 {
100 interrupt-parent = <&pioE>;
101 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
102 reg = <1>;
103 };
104 };
105
106 mmc1: mmc@fc000000 {
107 pinctrl-names = "default";
108 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
109 status = "okay";
110 slot@0 {
111 reg = <0>;
112 bus-width = <4>;
113 cd-gpios = <&pioE 3 0>;
114 };
115 };
116
117 usart3: serial@fc00c000 {
118 status = "okay";
119 };
120
121 usart4: serial@fc010000 {
122 status = "okay";
123 };
124
125 adc0: adc@fc034000 {
126 atmel,adc-vref = <3300>;
127 status = "okay";
128 };
129
130 watchdog@fc068640 {
131 status = "okay";
132 };
133
134 pinctrl@fc06a000 {
135 board {
136 pinctrl_mmc1_cd: mmc1_cd {
137 atmel,pins =
138 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
139 };
140 pinctrl_usba_vbus: usba_vbus {
141 atmel,pins =
142 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
143 };
144 pinctrl_key_gpio: key_gpio_0 {
145 atmel,pins =
146 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
147 };
148 };
149 };
150 };
151
152 usb0: gadget@00400000 {
153 atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>;
154 pinctrl-names = "default";
155 pinctrl-0 = <&pinctrl_usba_vbus>;
156 status = "okay";
157 };
158
159 usb1: ohci@00500000 {
160 num-ports = <3>;
161 atmel,vbus-gpio = <0
162 &pioE 11 GPIO_ACTIVE_HIGH
163 &pioE 14 GPIO_ACTIVE_HIGH
164 >;
165 status = "okay";
166 };
167
168 usb2: ehci@00600000 {
169 status = "okay";
170 };
171
172 nand0: nand@80000000 {
173 nand-bus-width = <8>;
174 nand-ecc-mode = "hw";
175 nand-on-flash-bbt;
176 atmel,has-pmecc;
177 status = "okay";
178
179 at91bootstrap@0 {
180 label = "at91bootstrap";
181 reg = <0x0 0x40000>;
182 };
183
184 bootloader@40000 {
185 label = "bootloader";
186 reg = <0x40000 0x80000>;
187 };
188
189 bootloaderenv@c0000 {
190 label = "bootloader env";
191 reg = <0xc0000 0xc0000>;
192 };
193
194 dtb@180000 {
195 label = "device tree";
196 reg = <0x180000 0x80000>;
197 };
198
199 kernel@200000 {
200 label = "kernel";
201 reg = <0x200000 0x600000>;
202 };
203
204 rootfs@800000 {
205 label = "rootfs";
206 reg = <0x800000 0x0f800000>;
207 };
208 };
209 };
210
211 gpio_keys {
212 compatible = "gpio-keys";
213
214 pinctrl-names = "default";
215 pinctrl-0 = <&pinctrl_key_gpio>;
216
217 pb_user1 {
218 label = "pb_user1";
219 gpios = <&pioE 8 GPIO_ACTIVE_HIGH>;
220 linux,code = <0x100>;
221 gpio-key,wakeup;
222 };
223 };
224
225 leds {
226 compatible = "gpio-leds";
227 status = "okay";
228
229 d8 {
230 label = "d8";
231 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
232 status = "disabled";
233 };
234
235 d10 {
236 label = "d10";
237 gpios = <&pioE 15 GPIO_ACTIVE_LOW>;
238 linux,default-trigger = "heartbeat";
239 };
240 };
241};
diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index 9198b719d0ef..89ef4a540db5 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -115,6 +115,10 @@
115 }; 115 };
116 }; 116 };
117 117
118 ssc0: ssc@f8008000 {
119 status = "okay";
120 };
121
118 spi0: spi@f8010000 { 122 spi0: spi@f8010000 {
119 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>; 123 cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
120 status = "okay"; 124 status = "okay";
@@ -127,6 +131,13 @@
127 131
128 i2c0: i2c@f8014000 { 132 i2c0: i2c@f8014000 {
129 status = "okay"; 133 status = "okay";
134
135 wm8904: codec@1a {
136 compatible = "wlf,wm8904";
137 reg = <0x1a>;
138 clocks = <&pck2>;
139 clock-names = "mclk";
140 };
130 }; 141 };
131 142
132 macb0: ethernet@f8020000 { 143 macb0: ethernet@f8020000 {
@@ -171,6 +182,10 @@
171 atmel,pins = 182 atmel,pins =
172 <AT91_PIOE 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 183 <AT91_PIOE 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
173 }; 184 };
185 pinctrl_pck2_as_audio_mck: pck2_as_audio_mck {
186 atmel,pins =
187 <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
188 };
174 pinctrl_usba_vbus: usba_vbus { 189 pinctrl_usba_vbus: usba_vbus {
175 atmel,pins = 190 atmel,pins =
176 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; 191 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
@@ -244,8 +259,6 @@
244 259
245 gpio_keys { 260 gpio_keys {
246 compatible = "gpio-keys"; 261 compatible = "gpio-keys";
247 #address-cells = <1>;
248 #size-cells = <0>;
249 262
250 pinctrl-names = "default"; 263 pinctrl-names = "default";
251 pinctrl-0 = <&pinctrl_key_gpio>; 264 pinctrl-0 = <&pinctrl_key_gpio>;
@@ -257,4 +270,42 @@
257 gpio-key,wakeup; 270 gpio-key,wakeup;
258 }; 271 };
259 }; 272 };
273
274 leds {
275 compatible = "gpio-leds";
276 status = "okay";
277
278 d8 {
279 label = "d8";
280 /* PE28, conflicts with usart4 rts pin */
281 gpios = <&pioE 28 GPIO_ACTIVE_LOW>;
282 };
283
284 d9 {
285 label = "d9";
286 gpios = <&pioE 9 GPIO_ACTIVE_HIGH>;
287 };
288
289 d10 {
290 label = "d10";
291 gpios = <&pioE 8 GPIO_ACTIVE_LOW>;
292 linux,default-trigger = "heartbeat";
293 };
294 };
295
296 sound {
297 compatible = "atmel,asoc-wm8904";
298 pinctrl-names = "default";
299 pinctrl-0 = <&pinctrl_pck2_as_audio_mck>;
300
301 atmel,model = "wm8904 @ SAMA5D4EK";
302 atmel,audio-routing =
303 "Headphone Jack", "HPOUTL",
304 "Headphone Jack", "HPOUTR",
305 "IN1L", "Line In Jack",
306 "IN1R", "Line In Jack";
307
308 atmel,ssc-controller = <&ssc0>;
309 atmel,audio-codec = <&wm8904>;
310 };
260}; 311};
diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi b/arch/arm/boot/dts/at91sam9g25.dtsi
index 17b879990914..a7da0dd0c98f 100644
--- a/arch/arm/boot/dts/at91sam9g25.dtsi
+++ b/arch/arm/boot/dts/at91sam9g25.dtsi
@@ -7,6 +7,7 @@
7 */ 7 */
8 8
9#include "at91sam9x5.dtsi" 9#include "at91sam9x5.dtsi"
10#include "at91sam9x5_isi.dtsi"
10#include "at91sam9x5_usart3.dtsi" 11#include "at91sam9x5_usart3.dtsi"
11#include "at91sam9x5_macb0.dtsi" 12#include "at91sam9x5_macb0.dtsi"
12 13
diff --git a/arch/arm/boot/dts/at91sam9g25ek.dts b/arch/arm/boot/dts/at91sam9g25ek.dts
index 1e4c49c584d3..707fd4ea58f5 100644
--- a/arch/arm/boot/dts/at91sam9g25ek.dts
+++ b/arch/arm/boot/dts/at91sam9g25ek.dts
@@ -16,10 +16,28 @@
16 16
17 ahb { 17 ahb {
18 apb { 18 apb {
19 spi0: spi@f0000000 {
20 status = "disabled";
21 };
22
23 mmc1: mmc@f000c000 {
24 status = "disabled";
25 };
26
27 i2c0: i2c@f8010000 {
28 ov2640: camera@0x30 {
29 status = "okay";
30 };
31 };
32
19 macb0: ethernet@f802c000 { 33 macb0: ethernet@f802c000 {
20 phy-mode = "rmii"; 34 phy-mode = "rmii";
21 status = "okay"; 35 status = "okay";
22 }; 36 };
37
38 isi: isi@f8048000 {
39 status = "okay";
40 };
23 }; 41 };
24 }; 42 };
25}; 43};
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index ea0af0f6ec7d..a9e35dfc12d9 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -912,6 +912,15 @@
912 clocks = <&pwm_clk>; 912 clocks = <&pwm_clk>;
913 status = "disabled"; 913 status = "disabled";
914 }; 914 };
915
916 usb1: gadget@f803c000 {
917 compatible = "atmel,at91sam9260-udc";
918 reg = <0xf803c000 0x4000>;
919 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
920 clocks = <&udphs_clk>, <&udpck>;
921 clock-names = "pclk", "hclk";
922 status = "disabled";
923 };
915 }; 924 };
916 925
917 nand0: nand@40000000 { 926 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index 9575c0d895c9..6e067c8a3502 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -108,6 +108,13 @@
108 <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>; 108 <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
109 }; 109 };
110 }; 110 };
111
112 usb1 {
113 pinctrl_usb1_vbus_sense: usb1_vbus_sense {
114 atmel,pins =
115 <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PB16 gpio usb vbus sense, no pull up and deglitch */
116 };
117 };
111 }; 118 };
112 119
113 spi0: spi@f0000000 { 120 spi0: spi@f0000000 {
@@ -120,9 +127,20 @@
120 }; 127 };
121 }; 128 };
122 129
130 usb1: gadget@f803c000 {
131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_usb1_vbus_sense>;
133 atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
134 status = "okay";
135 };
136
123 watchdog@fffffe40 { 137 watchdog@fffffe40 {
124 status = "okay"; 138 status = "okay";
125 }; 139 };
140
141 rtc@fffffeb0 {
142 status = "okay";
143 };
126 }; 144 };
127 145
128 nand0: nand@40000000 { 146 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9x5_isi.dtsi b/arch/arm/boot/dts/at91sam9x5_isi.dtsi
index 98bc877a68ef..8fc45ca4dcb5 100644
--- a/arch/arm/boot/dts/at91sam9x5_isi.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5_isi.dtsi
@@ -13,6 +13,37 @@
13/ { 13/ {
14 ahb { 14 ahb {
15 apb { 15 apb {
16 pinctrl@fffff400 {
17 isi {
18 pinctrl_isi_data_0_7: isi-0-data-0-7 {
19 atmel,pins =
20 <AT91_PIOC 0 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D0, conflicts with LCDDAT0 */
21 AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D1, conflicts with LCDDAT1 */
22 AT91_PIOC 2 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D2, conflicts with LCDDAT2 */
23 AT91_PIOC 3 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D3, conflicts with LCDDAT3 */
24 AT91_PIOC 4 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D4, conflicts with LCDDAT4 */
25 AT91_PIOC 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D5, conflicts with LCDDAT5 */
26 AT91_PIOC 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D6, conflicts with LCDDAT6 */
27 AT91_PIOC 7 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D7, conflicts with LCDDAT7 */
28 AT91_PIOC 12 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_PCK, conflicts with LCDDAT12 */
29 AT91_PIOC 14 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_HSYNC, conflicts with LCDDAT14 */
30 AT91_PIOC 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* ISI_VSYNC, conflicts with LCDDAT13 */
31 };
32
33 pinctrl_isi_data_8_9: isi-0-data-8-9 {
34 atmel,pins =
35 <AT91_PIOC 8 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D8, conflicts with LCDDAT8 */
36 AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* ISI_D9, conflicts with LCDDAT9 */
37 };
38
39 pinctrl_isi_data_10_11: isi-0-data-10-11 {
40 atmel,pins =
41 <AT91_PIOC 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* ISI_D10, conflicts with LCDDAT10 */
42 AT91_PIOC 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* ISI_D11, conflicts with LCDDAT11 */
43 };
44 };
45 };
46
16 pmc: pmc@fffffc00 { 47 pmc: pmc@fffffc00 {
17 periphck { 48 periphck {
18 isi_clk: isi_clk { 49 isi_clk: isi_clk {
@@ -21,6 +52,21 @@
21 }; 52 };
22 }; 53 };
23 }; 54 };
55
56 isi: isi@f8048000 {
57 compatible = "atmel,at91sam9g45-isi";
58 reg = <0xf8048000 0x4000>;
59 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 5>;
60 pinctrl-names = "default";
61 pinctrl-0 = <&pinctrl_isi_data_0_7>;
62 clocks = <&isi_clk>;
63 clock-names = "isi_clk";
64 status = "disabled";
65 port {
66 #address-cells = <1>;
67 #size-cells = <0>;
68 };
69 };
24 }; 70 };
25 }; 71 };
26}; 72};
diff --git a/arch/arm/boot/dts/at91sam9x5cm.dtsi b/arch/arm/boot/dts/at91sam9x5cm.dtsi
index 229d6c24a9c4..26112ebd15fc 100644
--- a/arch/arm/boot/dts/at91sam9x5cm.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5cm.dtsi
@@ -42,6 +42,10 @@
42 }; 42 };
43 }; 43 };
44 }; 44 };
45
46 rtc@fffffeb0 {
47 status = "okay";
48 };
45 }; 49 };
46 50
47 nand0: nand@40000000 { 51 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi
index bd16bd360272..cc83a37a7311 100644
--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi
@@ -59,6 +59,16 @@
59 status = "okay"; 59 status = "okay";
60 }; 60 };
61 61
62 isi: isi@f8048000 {
63 status = "disabled";
64 port {
65 isi_0: endpoint@0 {
66 remote-endpoint = <&ov2640_0>;
67 bus-width = <8>;
68 };
69 };
70 };
71
62 i2c0: i2c@f8010000 { 72 i2c0: i2c@f8010000 {
63 status = "okay"; 73 status = "okay";
64 74
@@ -66,9 +76,47 @@
66 compatible = "wm8731"; 76 compatible = "wm8731";
67 reg = <0x1a>; 77 reg = <0x1a>;
68 }; 78 };
79
80 ov2640: camera@0x30 {
81 compatible = "ovti,ov2640";
82 reg = <0x30>;
83 pinctrl-names = "default";
84 pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
85 resetb-gpios = <&pioA 7 GPIO_ACTIVE_LOW>;
86 pwdn-gpios = <&pioA 13 GPIO_ACTIVE_HIGH>;
87 clocks = <&pck0>;
88 clock-names = "xvclk";
89 assigned-clocks = <&pck0>;
90 assigned-clock-rates = <25000000>;
91 status = "disabled";
92
93 port {
94 ov2640_0: endpoint {
95 remote-endpoint = <&isi_0>;
96 bus-width = <8>;
97 };
98 };
99 };
69 }; 100 };
70 101
71 pinctrl@fffff400 { 102 pinctrl@fffff400 {
103 camera_sensor {
104 pinctrl_pck0_as_isi_mck: pck0_as_isi_mck-0 {
105 atmel,pins =
106 <AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* ISI_MCK */
107 };
108
109 pinctrl_sensor_power: sensor_power-0 {
110 atmel,pins =
111 <AT91_PIOA 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
112 };
113
114 pinctrl_sensor_reset: sensor_reset-0 {
115 atmel,pins =
116 <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
117 };
118 };
119
72 mmc0 { 120 mmc0 {
73 pinctrl_board_mmc0: mmc0-board { 121 pinctrl_board_mmc0: mmc0-board {
74 atmel,pins = 122 atmel,pins =
diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi
index ff5fb6ab0b97..7b52c33ea69a 100644
--- a/arch/arm/boot/dts/bcm-cygnus.dtsi
+++ b/arch/arm/boot/dts/bcm-cygnus.dtsi
@@ -54,6 +54,42 @@
54 54
55 /include/ "bcm-cygnus-clock.dtsi" 55 /include/ "bcm-cygnus-clock.dtsi"
56 56
57 pinctrl: pinctrl@0x0301d0c8 {
58 compatible = "brcm,cygnus-pinmux";
59 reg = <0x0301d0c8 0x30>,
60 <0x0301d24c 0x2c>;
61 };
62
63 gpio_crmu: gpio@03024800 {
64 compatible = "brcm,cygnus-crmu-gpio";
65 reg = <0x03024800 0x50>,
66 <0x03024008 0x18>;
67 #gpio-cells = <2>;
68 gpio-controller;
69 };
70
71 gpio_ccm: gpio@1800a000 {
72 compatible = "brcm,cygnus-ccm-gpio";
73 reg = <0x1800a000 0x50>,
74 <0x0301d164 0x20>;
75 #gpio-cells = <2>;
76 gpio-controller;
77 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
78 interrupt-controller;
79 };
80
81 gpio_asiu: gpio@180a5000 {
82 compatible = "brcm,cygnus-asiu-gpio";
83 reg = <0x180a5000 0x668>;
84 #gpio-cells = <2>;
85 gpio-controller;
86
87 pinmux = <&pinctrl>;
88
89 interrupt-controller;
90 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
91 };
92
57 amba { 93 amba {
58 #address-cells = <1>; 94 #address-cells = <1>;
59 #size-cells = <1>; 95 #size-cells = <1>;
@@ -90,6 +126,48 @@
90 status = "disabled"; 126 status = "disabled";
91 }; 127 };
92 128
129 pcie0: pcie@18012000 {
130 compatible = "brcm,iproc-pcie";
131 reg = <0x18012000 0x1000>;
132
133 #interrupt-cells = <1>;
134 interrupt-map-mask = <0 0 0 0>;
135 interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>;
136
137 linux,pci-domain = <0>;
138
139 bus-range = <0x00 0xff>;
140
141 #address-cells = <3>;
142 #size-cells = <2>;
143 device_type = "pci";
144 ranges = <0x81000000 0 0 0x28000000 0 0x00010000
145 0x82000000 0 0x20000000 0x20000000 0 0x04000000>;
146
147 status = "disabled";
148 };
149
150 pcie1: pcie@18013000 {
151 compatible = "brcm,iproc-pcie";
152 reg = <0x18013000 0x1000>;
153
154 #interrupt-cells = <1>;
155 interrupt-map-mask = <0 0 0 0>;
156 interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>;
157
158 linux,pci-domain = <1>;
159
160 bus-range = <0x00 0xff>;
161
162 #address-cells = <3>;
163 #size-cells = <2>;
164 device_type = "pci";
165 ranges = <0x81000000 0 0 0x48000000 0 0x00010000
166 0x82000000 0 0x40000000 0x40000000 0 0x04000000>;
167
168 status = "disabled";
169 };
170
93 uart0: serial@18020000 { 171 uart0: serial@18020000 {
94 compatible = "snps,dw-apb-uart"; 172 compatible = "snps,dw-apb-uart";
95 reg = <0x18020000 0x100>; 173 reg = <0x18020000 0x100>;
diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
index f18c9d9b2f2c..2ed9e5794785 100644
--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
@@ -45,13 +45,13 @@
45 power0 { 45 power0 {
46 label = "bcm53xx:green:power"; 46 label = "bcm53xx:green:power";
47 gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; 47 gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
48 linux,default-trigger = "default-off"; 48 linux,default-trigger = "default-on";
49 }; 49 };
50 50
51 power1 { 51 power1 {
52 label = "bcm53xx:amber:power"; 52 label = "bcm53xx:amber:power";
53 gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; 53 gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
54 linux,default-trigger = "default-on"; 54 linux,default-trigger = "default-off";
55 }; 55 };
56 56
57 usb { 57 usb {
diff --git a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
new file mode 100644
index 000000000000..ea26dd3ec03a
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
@@ -0,0 +1,77 @@
1/*
2 * Broadcom BCM470X / BCM5301X ARM platform code.
3 * DTS for Netgear R8000
4 *
5 * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com>
6 *
7 * Licensed under the GNU/GPL. See COPYING for details.
8 */
9
10/dts-v1/;
11
12#include "bcm4708.dtsi"
13
14/ {
15 compatible = "netgear,r8000", "brcm,bcm4709", "brcm,bcm4708";
16 model = "Netgear R8000 (BCM4709)";
17
18 chosen {
19 bootargs = "console=ttyS0,115200";
20 };
21
22 memory {
23 reg = <0x00000000 0x08000000>;
24 };
25
26 leds {
27 compatible = "gpio-leds";
28
29 power0 {
30 label = "bcm53xx:white:power";
31 gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
32 linux,default-trigger = "default-on";
33 };
34
35 power1 {
36 label = "bcm53xx:amber:power";
37 gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
38 linux,default-trigger = "default-off";
39 };
40
41 5ghz-1 {
42 label = "bcm53xx:white:5ghz-1";
43 gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
44 linux,default-trigger = "default-off";
45 };
46
47 2ghz {
48 label = "bcm53xx:white:2ghz";
49 gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
50 linux,default-trigger = "default-off";
51 };
52 };
53
54 gpio-keys {
55 compatible = "gpio-keys";
56 #address-cells = <1>;
57 #size-cells = <0>;
58
59 rfkill {
60 label = "WiFi";
61 linux,code = <KEY_RFKILL>;
62 gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
63 };
64
65 wps {
66 label = "WPS";
67 linux,code = <KEY_WPS_BUTTON>;
68 gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
69 };
70
71 restart {
72 label = "Reset";
73 linux,code = <KEY_RESTART>;
74 gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
75 };
76 };
77};
diff --git a/arch/arm/boot/dts/bcm7445.dtsi b/arch/arm/boot/dts/bcm7445.dtsi
index 0ca0f4e523d0..39ac7840d7ee 100644
--- a/arch/arm/boot/dts/bcm7445.dtsi
+++ b/arch/arm/boot/dts/bcm7445.dtsi
@@ -76,7 +76,7 @@
76 reg-shift = <2>; 76 reg-shift = <2>;
77 reg-io-width = <4>; 77 reg-io-width = <4>;
78 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 78 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
79 clock-frequency = <0x4d3f640>; 79 clock-frequency = <81000000>;
80 }; 80 };
81 81
82 sun_top_ctrl: syscon@404000 { 82 sun_top_ctrl: syscon@404000 {
@@ -96,6 +96,18 @@
96 "syscon"; 96 "syscon";
97 reg = <0x452000 0x100>; 97 reg = <0x452000 0x100>;
98 }; 98 };
99
100 irq0_intc: interrupt-controller@40a780 {
101 compatible = "brcm,bcm7120-l2-intc";
102 interrupt-parent = <&gic>;
103 #interrupt-cells = <1>;
104 reg = <0x40a780 0x8>;
105 interrupt-controller;
106 interrupts = <GIC_SPI 0x45 0x0>,
107 <GIC_SPI 0x43 0x0>;
108 brcm,int-map-mask = <0x25c>, <0x7000000>;
109 brcm,int-fwd-mask = <0x70000>;
110 };
99 }; 111 };
100 112
101 smpboot { 113 smpboot {
diff --git a/arch/arm/boot/dts/bcm911360_entphn.dts b/arch/arm/boot/dts/bcm911360_entphn.dts
index d2ee95280548..7db484323fd6 100644
--- a/arch/arm/boot/dts/bcm911360_entphn.dts
+++ b/arch/arm/boot/dts/bcm911360_entphn.dts
@@ -33,6 +33,7 @@
33/dts-v1/; 33/dts-v1/;
34 34
35#include "bcm-cygnus.dtsi" 35#include "bcm-cygnus.dtsi"
36#include "dt-bindings/input/input.h"
36 37
37/ { 38/ {
38 model = "Cygnus Enterprise Phone (BCM911360_ENTPHN)"; 39 model = "Cygnus Enterprise Phone (BCM911360_ENTPHN)";
@@ -50,4 +51,16 @@
50 uart3: serial@18023000 { 51 uart3: serial@18023000 {
51 status = "okay"; 52 status = "okay";
52 }; 53 };
54
55 gpio_keys {
56 compatible = "gpio-keys";
57 #address-cells = <1>;
58 #size-cells = <0>;
59
60 hook {
61 label = "HOOK";
62 linux,code = <KEY_O>;
63 gpios = <&gpio_asiu 48 0>;
64 };
65 };
53}; 66};
diff --git a/arch/arm/boot/dts/bcm958300k.dts b/arch/arm/boot/dts/bcm958300k.dts
index f1bb36f3975c..c9eb8565eac5 100644
--- a/arch/arm/boot/dts/bcm958300k.dts
+++ b/arch/arm/boot/dts/bcm958300k.dts
@@ -47,6 +47,14 @@
47 bootargs = "console=ttyS0,115200"; 47 bootargs = "console=ttyS0,115200";
48 }; 48 };
49 49
50 pcie0: pcie@18012000 {
51 status = "okay";
52 };
53
54 pcie1: pcie@18013000 {
55 status = "okay";
56 };
57
50 uart3: serial@18023000 { 58 uart3: serial@18023000 {
51 status = "okay"; 59 status = "okay";
52 }; 60 };
diff --git a/arch/arm/boot/dts/bcm958305k.dts b/arch/arm/boot/dts/bcm958305k.dts
new file mode 100644
index 000000000000..56b429abbedb
--- /dev/null
+++ b/arch/arm/boot/dts/bcm958305k.dts
@@ -0,0 +1,53 @@
1/*
2 * BSD LICENSE
3 *
4 * Copyright(c) 2015 Broadcom Corporation. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 * * Neither the name of Broadcom Corporation nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33/dts-v1/;
34
35#include "bcm-cygnus.dtsi"
36
37/ {
38 model = "Cygnus Wireless Audio (BCM958305K)";
39 compatible = "brcm,bcm58305", "brcm,cygnus";
40
41 aliases {
42 serial0 = &uart3;
43 };
44
45 chosen {
46 stdout-path = &uart3;
47 bootargs = "console=ttyS0,115200";
48 };
49
50 uart3: serial@18023000 {
51 status = "okay";
52 };
53};
diff --git a/arch/arm/boot/dts/dm8168-evm.dts b/arch/arm/boot/dts/dm8168-evm.dts
index afe678f6d2e9..169a85578fc9 100644
--- a/arch/arm/boot/dts/dm8168-evm.dts
+++ b/arch/arm/boot/dts/dm8168-evm.dts
@@ -29,10 +29,10 @@
29&dm816x_pinmux { 29&dm816x_pinmux {
30 mcspi1_pins: pinmux_mcspi1_pins { 30 mcspi1_pins: pinmux_mcspi1_pins {
31 pinctrl-single,pins = < 31 pinctrl-single,pins = <
32 DM816X_IOPAD(0x0a94, PIN_INPUT | MUX_MODE0) /* SPI_SCLK */ 32 DM816X_IOPAD(0x0a94, MUX_MODE0) /* SPI_SCLK */
33 DM816X_IOPAD(0x0a98, PIN_OUTPUT | MUX_MODE0) /* SPI_SCS0 */ 33 DM816X_IOPAD(0x0a98, MUX_MODE0) /* SPI_SCS0 */
34 DM816X_IOPAD(0x0aa8, PIN_INPUT | MUX_MODE0) /* SPI_D0 */ 34 DM816X_IOPAD(0x0aa8, MUX_MODE0) /* SPI_D0 */
35 DM816X_IOPAD(0x0aac, PIN_INPUT | MUX_MODE0) /* SPI_D1 */ 35 DM816X_IOPAD(0x0aac, MUX_MODE0) /* SPI_D1 */
36 >; 36 >;
37 }; 37 };
38 38
@@ -52,13 +52,13 @@
52 52
53 usb0_pins: pinmux_usb0_pins { 53 usb0_pins: pinmux_usb0_pins {
54 pinctrl-single,pins = < 54 pinctrl-single,pins = <
55 DM816X_IOPAD(0x0d00, MUX_MODE0) /* USB0_DRVVBUS */ 55 DM816X_IOPAD(0x0d04, MUX_MODE0) /* USB0_DRVVBUS */
56 >; 56 >;
57 }; 57 };
58 58
59 usb1_pins: pinmux_usb0_pins { 59 usb1_pins: pinmux_usb1_pins {
60 pinctrl-single,pins = < 60 pinctrl-single,pins = <
61 DM816X_IOPAD(0x0d04, MUX_MODE0) /* USB1_DRVVBUS */ 61 DM816X_IOPAD(0x0d08, MUX_MODE0) /* USB1_DRVVBUS */
62 >; 62 >;
63 }; 63 };
64}; 64};
diff --git a/arch/arm/boot/dts/dm816x.dtsi b/arch/arm/boot/dts/dm816x.dtsi
index f35715bc6992..de8427be830a 100644
--- a/arch/arm/boot/dts/dm816x.dtsi
+++ b/arch/arm/boot/dts/dm816x.dtsi
@@ -396,6 +396,29 @@
396 mentor,num-eps = <16>; 396 mentor,num-eps = <16>;
397 mentor,ram-bits = <12>; 397 mentor,ram-bits = <12>;
398 mentor,power = <500>; 398 mentor,power = <500>;
399
400 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
401 &cppi41dma 2 0 &cppi41dma 3 0
402 &cppi41dma 4 0 &cppi41dma 5 0
403 &cppi41dma 6 0 &cppi41dma 7 0
404 &cppi41dma 8 0 &cppi41dma 9 0
405 &cppi41dma 10 0 &cppi41dma 11 0
406 &cppi41dma 12 0 &cppi41dma 13 0
407 &cppi41dma 14 0 &cppi41dma 0 1
408 &cppi41dma 1 1 &cppi41dma 2 1
409 &cppi41dma 3 1 &cppi41dma 4 1
410 &cppi41dma 5 1 &cppi41dma 6 1
411 &cppi41dma 7 1 &cppi41dma 8 1
412 &cppi41dma 9 1 &cppi41dma 10 1
413 &cppi41dma 11 1 &cppi41dma 12 1
414 &cppi41dma 13 1 &cppi41dma 14 1>;
415 dma-names =
416 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
417 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
418 "rx14", "rx15",
419 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
420 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
421 "tx14", "tx15";
399 }; 422 };
400 423
401 usb1: usb@47401800 { 424 usb1: usb@47401800 {
@@ -413,6 +436,43 @@
413 mentor,num-eps = <16>; 436 mentor,num-eps = <16>;
414 mentor,ram-bits = <12>; 437 mentor,ram-bits = <12>;
415 mentor,power = <500>; 438 mentor,power = <500>;
439
440 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
441 &cppi41dma 17 0 &cppi41dma 18 0
442 &cppi41dma 19 0 &cppi41dma 20 0
443 &cppi41dma 21 0 &cppi41dma 22 0
444 &cppi41dma 23 0 &cppi41dma 24 0
445 &cppi41dma 25 0 &cppi41dma 26 0
446 &cppi41dma 27 0 &cppi41dma 28 0
447 &cppi41dma 29 0 &cppi41dma 15 1
448 &cppi41dma 16 1 &cppi41dma 17 1
449 &cppi41dma 18 1 &cppi41dma 19 1
450 &cppi41dma 20 1 &cppi41dma 21 1
451 &cppi41dma 22 1 &cppi41dma 23 1
452 &cppi41dma 24 1 &cppi41dma 25 1
453 &cppi41dma 26 1 &cppi41dma 27 1
454 &cppi41dma 28 1 &cppi41dma 29 1>;
455 dma-names =
456 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
457 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
458 "rx14", "rx15",
459 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
460 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
461 "tx14", "tx15";
462 };
463
464 cppi41dma: dma-controller@47402000 {
465 compatible = "ti,am3359-cppi41";
466 reg = <0x47400000 0x1000
467 0x47402000 0x1000
468 0x47403000 0x1000
469 0x47404000 0x4000>;
470 reg-names = "glue", "controller", "scheduler", "queuemgr";
471 interrupts = <17>;
472 interrupt-names = "glue";
473 #dma-cells = <2>;
474 #dma-channels = <30>;
475 #dma-requests = <256>;
416 }; 476 };
417 }; 477 };
418 478
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index a5441d5482a6..9ad829523a13 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -1,5 +1,8 @@
1/include/ "skeleton.dtsi" 1/include/ "skeleton.dtsi"
2 2
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/interrupt-controller/irq.h>
5
3#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16)) 6#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
4 7
5/ { 8/ {
@@ -61,7 +64,7 @@
61 0x82000000 0x2 0x0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 1.0 Mem */ 64 0x82000000 0x2 0x0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 1.0 Mem */
62 0x81000000 0x2 0x0 MBUS_ID(0x08, 0xe0) 0 1 0>; /* Port 1.0 I/O */ 65 0x81000000 0x2 0x0 MBUS_ID(0x08, 0xe0) 0 1 0>; /* Port 1.0 I/O */
63 66
64 pcie-port@0 { 67 pcie0: pcie-port@0 {
65 device_type = "pci"; 68 device_type = "pci";
66 status = "disabled"; 69 status = "disabled";
67 assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; 70 assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
@@ -79,7 +82,7 @@
79 interrupt-map = <0 0 0 0 &intc 16>; 82 interrupt-map = <0 0 0 0 &intc 16>;
80 }; 83 };
81 84
82 pcie-port@1 { 85 pcie1: pcie-port@1 {
83 device_type = "pci"; 86 device_type = "pci";
84 status = "disabled"; 87 status = "disabled";
85 assigned-addresses = <0x82002800 0 0x80000 0 0x2000>; 88 assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
@@ -154,7 +157,7 @@
154 157
155 uart2: serial@12200 { 158 uart2: serial@12200 {
156 compatible = "ns16550a"; 159 compatible = "ns16550a";
157 reg = <0x12000 0x100>; 160 reg = <0x12200 0x100>;
158 reg-shift = <2>; 161 reg-shift = <2>;
159 interrupts = <9>; 162 interrupts = <9>;
160 clocks = <&core_clk 0>; 163 clocks = <&core_clk 0>;
@@ -163,7 +166,7 @@
163 166
164 uart3: serial@12300 { 167 uart3: serial@12300 {
165 compatible = "ns16550a"; 168 compatible = "ns16550a";
166 reg = <0x12100 0x100>; 169 reg = <0x12300 0x100>;
167 reg-shift = <2>; 170 reg-shift = <2>;
168 interrupts = <10>; 171 interrupts = <10>;
169 clocks = <&core_clk 0>; 172 clocks = <&core_clk 0>;
@@ -448,6 +451,11 @@
448 marvell,function = "gpio"; 451 marvell,function = "gpio";
449 }; 452 };
450 453
454 pmx_pcie1_clkreq: pmx-pcie1-clkreq {
455 marvell,pins = "mpp9";
456 marvell,function = "pex1";
457 };
458
451 pmx_gpio_10: pmx-gpio-10 { 459 pmx_gpio_10: pmx-gpio-10 {
452 marvell,pins = "mpp10"; 460 marvell,pins = "mpp10";
453 marvell,function = "gpio"; 461 marvell,function = "gpio";
@@ -458,6 +466,11 @@
458 marvell,function = "gpio"; 466 marvell,function = "gpio";
459 }; 467 };
460 468
469 pmx_pcie0_clkreq: pmx-pcie0-clkreq {
470 marvell,pins = "mpp11";
471 marvell,function = "pex0";
472 };
473
461 pmx_gpio_12: pmx-gpio-12 { 474 pmx_gpio_12: pmx-gpio-12 {
462 marvell,pins = "mpp12"; 475 marvell,pins = "mpp12";
463 marvell,function = "gpio"; 476 marvell,function = "gpio";
@@ -563,6 +576,18 @@
563 marvell,function = "gpio"; 576 marvell,function = "gpio";
564 }; 577 };
565 578
579 pmx_spi1_4_7: pmx-spi1-4-7 {
580 marvell,pins = "mpp4", "mpp5",
581 "mpp6", "mpp7";
582 marvell,function = "spi1";
583 };
584
585 pmx_spi1_20_23: pmx-spi1-20-23 {
586 marvell,pins = "mpp20", "mpp21",
587 "mpp22", "mpp23";
588 marvell,function = "spi1";
589 };
590
566 pmx_uart1: pmx-uart1 { 591 pmx_uart1: pmx-uart1 {
567 marvell,pins = "mpp_uart1"; 592 marvell,pins = "mpp_uart1";
568 marvell,function = "uart1"; 593 marvell,function = "uart1";
@@ -582,6 +607,36 @@
582 marvell,pins = "mpp_nand"; 607 marvell,pins = "mpp_nand";
583 marvell,function = "gpo"; 608 marvell,function = "gpo";
584 }; 609 };
610
611 pmx_i2c1: pmx-i2c1 {
612 marvell,pins = "mpp17", "mpp19";
613 marvell,function = "twsi";
614 };
615
616 pmx_i2c2: pmx-i2c2 {
617 marvell,pins = "mpp_audio1";
618 marvell,function = "twsi";
619 };
620
621 pmx_ssp_i2c2: pmx-ssp-i2c2 {
622 marvell,pins = "mpp_audio1";
623 marvell,function = "ssp/twsi";
624 };
625
626 pmx_i2cmux_0: pmx-i2cmux-0 {
627 marvell,pins = "twsi";
628 marvell,function = "twsi-opt1";
629 };
630
631 pmx_i2cmux_1: pmx-i2cmux-1 {
632 marvell,pins = "twsi";
633 marvell,function = "twsi-opt2";
634 };
635
636 pmx_i2cmux_2: pmx-i2cmux-2 {
637 marvell,pins = "twsi";
638 marvell,function = "twsi-opt3";
639 };
585 }; 640 };
586 641
587 core_clk: core-clocks@d0214 { 642 core_clk: core-clocks@d0214 {
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index b1bd06c6c2a8..aa465904f6cc 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -541,6 +541,14 @@
541 }; 541 };
542}; 542};
543 543
544&omap_dwc3_1 {
545 extcon = <&extcon_usb1>;
546};
547
548&omap_dwc3_2 {
549 extcon = <&extcon_usb2>;
550};
551
544&usb1 { 552&usb1 {
545 dr_mode = "peripheral"; 553 dr_mode = "peripheral";
546 pinctrl-names = "default"; 554 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index fe55938bc978..082882c616e8 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -678,7 +678,6 @@
678 reg = <0x48820000 0x80>; 678 reg = <0x48820000 0x80>;
679 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 679 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
680 ti,hwmods = "timer5"; 680 ti,hwmods = "timer5";
681 ti,timer-dsp;
682 }; 681 };
683 682
684 timer6: timer@48822000 { 683 timer6: timer@48822000 {
@@ -686,8 +685,6 @@
686 reg = <0x48822000 0x80>; 685 reg = <0x48822000 0x80>;
687 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 686 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
688 ti,hwmods = "timer6"; 687 ti,hwmods = "timer6";
689 ti,timer-dsp;
690 ti,timer-pwm;
691 }; 688 };
692 689
693 timer7: timer@48824000 { 690 timer7: timer@48824000 {
@@ -695,7 +692,6 @@
695 reg = <0x48824000 0x80>; 692 reg = <0x48824000 0x80>;
696 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 693 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
697 ti,hwmods = "timer7"; 694 ti,hwmods = "timer7";
698 ti,timer-dsp;
699 }; 695 };
700 696
701 timer8: timer@48826000 { 697 timer8: timer@48826000 {
@@ -703,8 +699,6 @@
703 reg = <0x48826000 0x80>; 699 reg = <0x48826000 0x80>;
704 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 700 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
705 ti,hwmods = "timer8"; 701 ti,hwmods = "timer8";
706 ti,timer-dsp;
707 ti,timer-pwm;
708 }; 702 };
709 703
710 timer9: timer@4803e000 { 704 timer9: timer@4803e000 {
@@ -726,7 +720,6 @@
726 reg = <0x48088000 0x80>; 720 reg = <0x48088000 0x80>;
727 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 721 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
728 ti,hwmods = "timer11"; 722 ti,hwmods = "timer11";
729 ti,timer-pwm;
730 }; 723 };
731 724
732 timer13: timer@48828000 { 725 timer13: timer@48828000 {
diff --git a/arch/arm/boot/dts/dra72-evm.dts b/arch/arm/boot/dts/dra72-evm.dts
index daf28110d487..ce0390f081d9 100644
--- a/arch/arm/boot/dts/dra72-evm.dts
+++ b/arch/arm/boot/dts/dra72-evm.dts
@@ -377,6 +377,14 @@
377 phy-supply = <&ldo4_reg>; 377 phy-supply = <&ldo4_reg>;
378}; 378};
379 379
380&omap_dwc3_1 {
381 extcon = <&extcon_usb1>;
382};
383
384&omap_dwc3_2 {
385 extcon = <&extcon_usb2>;
386};
387
380&usb1 { 388&usb1 {
381 dr_mode = "peripheral"; 389 dr_mode = "peripheral";
382 pinctrl-names = "default"; 390 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/dra7xx-clocks.dtsi b/arch/arm/boot/dts/dra7xx-clocks.dtsi
index 99b09a44e269..3b933f74d000 100644
--- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
+++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
@@ -1493,6 +1493,14 @@
1493 ti,dividers = <1>, <8>; 1493 ti,dividers = <1>, <8>;
1494 }; 1494 };
1495 1495
1496 clkout2_clk: clkout2_clk {
1497 #clock-cells = <0>;
1498 compatible = "ti,gate-clock";
1499 clocks = <&clkoutmux2_clk_mux>;
1500 ti,bit-shift = <8>;
1501 reg = <0x06b0>;
1502 };
1503
1496 l3init_960m_gfclk: l3init_960m_gfclk { 1504 l3init_960m_gfclk: l3init_960m_gfclk {
1497 #clock-cells = <0>; 1505 #clock-cells = <0>;
1498 compatible = "ti,gate-clock"; 1506 compatible = "ti,gate-clock";
diff --git a/arch/arm/boot/dts/emev2-kzm9d.dts b/arch/arm/boot/dts/emev2-kzm9d.dts
index 667d323e80a3..19446273e4a7 100644
--- a/arch/arm/boot/dts/emev2-kzm9d.dts
+++ b/arch/arm/boot/dts/emev2-kzm9d.dts
@@ -94,3 +94,16 @@
94 vdd33a-supply = <&reg_3p3v>; 94 vdd33a-supply = <&reg_3p3v>;
95 }; 95 };
96}; 96};
97
98&pfc {
99 uart1_pins: uart@e1030000 {
100 renesas,groups = "uart1_ctrl", "uart1_data";
101 renesas,function = "uart1";
102 };
103};
104
105&uart1 {
106 pinctrl-0 = <&uart1_pins>;
107 pinctrl-names = "default";
108 status = "okay";
109};
diff --git a/arch/arm/boot/dts/emev2.dtsi b/arch/arm/boot/dts/emev2.dtsi
index cc7bfe0ba40a..bb45694d91bc 100644
--- a/arch/arm/boot/dts/emev2.dtsi
+++ b/arch/arm/boot/dts/emev2.dtsi
@@ -169,12 +169,18 @@
169 clock-names = "sclk"; 169 clock-names = "sclk";
170 }; 170 };
171 171
172 pfc: pfc@e0140200 {
173 compatible = "renesas,pfc-emev2";
174 reg = <0xe0140200 0x100>;
175 };
176
172 gpio0: gpio@e0050000 { 177 gpio0: gpio@e0050000 {
173 compatible = "renesas,em-gio"; 178 compatible = "renesas,em-gio";
174 reg = <0xe0050000 0x2c>, <0xe0050040 0x20>; 179 reg = <0xe0050000 0x2c>, <0xe0050040 0x20>;
175 interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>, 180 interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>,
176 <0 68 IRQ_TYPE_LEVEL_HIGH>; 181 <0 68 IRQ_TYPE_LEVEL_HIGH>;
177 gpio-controller; 182 gpio-controller;
183 gpio-ranges = <&pfc 0 0 32>;
178 #gpio-cells = <2>; 184 #gpio-cells = <2>;
179 ngpios = <32>; 185 ngpios = <32>;
180 interrupt-controller; 186 interrupt-controller;
@@ -186,6 +192,7 @@
186 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>, 192 interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>,
187 <0 70 IRQ_TYPE_LEVEL_HIGH>; 193 <0 70 IRQ_TYPE_LEVEL_HIGH>;
188 gpio-controller; 194 gpio-controller;
195 gpio-ranges = <&pfc 0 32 32>;
189 #gpio-cells = <2>; 196 #gpio-cells = <2>;
190 ngpios = <32>; 197 ngpios = <32>;
191 interrupt-controller; 198 interrupt-controller;
@@ -197,6 +204,7 @@
197 interrupts = <0 71 IRQ_TYPE_LEVEL_HIGH>, 204 interrupts = <0 71 IRQ_TYPE_LEVEL_HIGH>,
198 <0 72 IRQ_TYPE_LEVEL_HIGH>; 205 <0 72 IRQ_TYPE_LEVEL_HIGH>;
199 gpio-controller; 206 gpio-controller;
207 gpio-ranges = <&pfc 0 64 32>;
200 #gpio-cells = <2>; 208 #gpio-cells = <2>;
201 ngpios = <32>; 209 ngpios = <32>;
202 interrupt-controller; 210 interrupt-controller;
@@ -208,6 +216,7 @@
208 interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>, 216 interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>,
209 <0 74 IRQ_TYPE_LEVEL_HIGH>; 217 <0 74 IRQ_TYPE_LEVEL_HIGH>;
210 gpio-controller; 218 gpio-controller;
219 gpio-ranges = <&pfc 0 96 32>;
211 #gpio-cells = <2>; 220 #gpio-cells = <2>;
212 ngpios = <32>; 221 ngpios = <32>;
213 interrupt-controller; 222 interrupt-controller;
@@ -219,6 +228,7 @@
219 interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>, 228 interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>,
220 <0 76 IRQ_TYPE_LEVEL_HIGH>; 229 <0 76 IRQ_TYPE_LEVEL_HIGH>;
221 gpio-controller; 230 gpio-controller;
231 gpio-ranges = <&pfc 0 128 31>;
222 #gpio-cells = <2>; 232 #gpio-cells = <2>;
223 ngpios = <31>; 233 ngpios = <31>;
224 interrupt-controller; 234 interrupt-controller;
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
index 14ab515aa83c..e3bfb11c6ef8 100644
--- a/arch/arm/boot/dts/exynos3250.dtsi
+++ b/arch/arm/boot/dts/exynos3250.dtsi
@@ -176,6 +176,10 @@
176 compatible = "samsung,exynos3250-cmu"; 176 compatible = "samsung,exynos3250-cmu";
177 reg = <0x10030000 0x20000>; 177 reg = <0x10030000 0x20000>;
178 #clock-cells = <1>; 178 #clock-cells = <1>;
179 assigned-clocks = <&cmu CLK_MOUT_ACLK_400_MCUISP_SUB>,
180 <&cmu CLK_MOUT_ACLK_266_SUB>;
181 assigned-clock-parents = <&cmu CLK_FIN_PLL>,
182 <&cmu CLK_FIN_PLL>;
179 }; 183 };
180 184
181 cmu_dmc: clock-controller@105C0000 { 185 cmu_dmc: clock-controller@105C0000 {
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index adb4f6a97a1d..8de12af7c276 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -75,10 +75,18 @@
75 }; 75 };
76 }; 76 };
77 77
78 emmc_pwrseq: pwrseq {
79 pinctrl-0 = <&sd1_cd>;
80 pinctrl-names = "default";
81 compatible = "mmc-pwrseq-emmc";
82 reset-gpios = <&gpk1 2 1>;
83 };
84
78 mmc@12550000 { 85 mmc@12550000 {
79 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 86 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
80 pinctrl-names = "default"; 87 pinctrl-names = "default";
81 vmmc-supply = <&ldo20_reg &buck8_reg>; 88 vmmc-supply = <&ldo20_reg &buck8_reg>;
89 mmc-pwrseq = <&emmc_pwrseq>;
82 status = "okay"; 90 status = "okay";
83 91
84 num-slots = <1>; 92 num-slots = <1>;
@@ -472,6 +480,12 @@
472 }; 480 };
473}; 481};
474 482
483/* RSTN signal for eMMC */
484&sd1_cd {
485 samsung,pin-pud = <0>;
486 samsung,pin-drv = <0>;
487};
488
475&pinctrl_1 { 489&pinctrl_1 {
476 gpio_power_key: power_key { 490 gpio_power_key: power_key {
477 samsung,pins = "gpx1-3"; 491 samsung,pins = "gpx1-3";
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index b9aeec430527..2657e842e5a5 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -29,6 +29,7 @@
29 29
30 chosen { 30 chosen {
31 bootargs = "console=tty1"; 31 bootargs = "console=tty1";
32 stdout-path = "serial3:115200n8";
32 }; 33 };
33 34
34 gpio-keys { 35 gpio-keys {
@@ -183,7 +184,20 @@
183 powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>; 184 powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
184 reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>; 185 reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
185 edid-emulation = <5>; 186 edid-emulation = <5>;
186 panel = <&panel>; 187
188 ports {
189 port@0 {
190 bridge_out: endpoint {
191 remote-endpoint = <&panel_in>;
192 };
193 };
194
195 port@1 {
196 bridge_in: endpoint {
197 remote-endpoint = <&dp_out>;
198 };
199 };
200 };
187 }; 201 };
188 }; 202 };
189 203
@@ -228,6 +242,20 @@
228 compatible = "auo,b116xw03"; 242 compatible = "auo,b116xw03";
229 power-supply = <&fet6>; 243 power-supply = <&fet6>;
230 backlight = <&backlight>; 244 backlight = <&backlight>;
245
246 port {
247 panel_in: endpoint {
248 remote-endpoint = <&bridge_out>;
249 };
250 };
251 };
252
253 mmc3_pwrseq: mmc3_pwrseq {
254 compatible = "mmc-pwrseq-simple";
255 reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */
256 <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */
257 clocks = <&max77686 MAX77686_CLK_PMIC>;
258 clock-names = "ext_clock";
231 }; 259 };
232}; 260};
233 261
@@ -242,7 +270,14 @@
242 samsung,link-rate = <0x0a>; 270 samsung,link-rate = <0x0a>;
243 samsung,lane-count = <2>; 271 samsung,lane-count = <2>;
244 samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>; 272 samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
245 bridge = <&ptn3460>; 273
274 ports {
275 port@0 {
276 dp_out: endpoint {
277 remote-endpoint = <&bridge_in>;
278 };
279 };
280 };
246}; 281};
247 282
248&ehci { 283&ehci {
@@ -531,17 +566,33 @@
531 status = "okay"; 566 status = "okay";
532 num-slots = <1>; 567 num-slots = <1>;
533 broken-cd; 568 broken-cd;
569 cap-sdio-irq;
534 card-detect-delay = <200>; 570 card-detect-delay = <200>;
535 samsung,dw-mshc-ciu-div = <3>; 571 samsung,dw-mshc-ciu-div = <3>;
536 samsung,dw-mshc-sdr-timing = <2 3>; 572 samsung,dw-mshc-sdr-timing = <2 3>;
537 samsung,dw-mshc-ddr-timing = <1 2>; 573 samsung,dw-mshc-ddr-timing = <1 2>;
538 pinctrl-names = "default"; 574 pinctrl-names = "default";
539 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>; 575 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>;
540 bus-width = <4>; 576 bus-width = <4>;
541 cap-sd-highspeed; 577 cap-sd-highspeed;
578 mmc-pwrseq = <&mmc3_pwrseq>;
542}; 579};
543 580
544&pinctrl_0 { 581&pinctrl_0 {
582 wifi_en: wifi-en {
583 samsung,pins = "gpx0-1";
584 samsung,pin-function = <1>;
585 samsung,pin-pud = <0>;
586 samsung,pin-drv = <0>;
587 };
588
589 wifi_rst: wifi-rst {
590 samsung,pins = "gpx0-2";
591 samsung,pin-function = <1>;
592 samsung,pin-pud = <0>;
593 samsung,pin-drv = <0>;
594 };
595
545 power_key_irq: power-key-irq { 596 power_key_irq: power-key-irq {
546 samsung,pins = "gpx1-3"; 597 samsung,pins = "gpx1-3";
547 samsung,pin-function = <0xf>; 598 samsung,pin-function = <0xf>;
diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
index d075a68ac078..d03f9b8d376d 100644
--- a/arch/arm/boot/dts/exynos5250-spring.dts
+++ b/arch/arm/boot/dts/exynos5250-spring.dts
@@ -25,6 +25,7 @@
25 25
26 chosen { 26 chosen {
27 bootargs = "console=tty1"; 27 bootargs = "console=tty1";
28 stdout-path = "serial3:115200n8";
28 }; 29 };
29 30
30 gpio-keys { 31 gpio-keys {
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 77f656eb8e6b..257e2f10525d 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -143,7 +143,7 @@
143 compatible = "samsung,exynos4210-mct"; 143 compatible = "samsung,exynos4210-mct";
144 reg = <0x101C0000 0x800>; 144 reg = <0x101C0000 0x800>;
145 interrupt-controller; 145 interrupt-controller;
146 #interrups-cells = <2>; 146 #interrupt-cells = <2>;
147 interrupt-parent = <&mct_map>; 147 interrupt-parent = <&mct_map>;
148 interrupts = <0 0>, <1 0>, <2 0>, <3 0>, 148 interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
149 <4 0>, <5 0>; 149 <4 0>, <5 0>;
diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
index db2c1c4cd900..b82b6fa15f48 100644
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
@@ -55,7 +55,7 @@
55 samsung,dw-mshc-sdr-timing = <0 4>; 55 samsung,dw-mshc-sdr-timing = <0 4>;
56 samsung,dw-mshc-ddr-timing = <0 2>; 56 samsung,dw-mshc-ddr-timing = <0 2>;
57 pinctrl-names = "default"; 57 pinctrl-names = "default";
58 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 58 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
59 vmmc-supply = <&ldo10_reg>; 59 vmmc-supply = <&ldo10_reg>;
60 bus-width = <8>; 60 bus-width = <8>;
61 cap-mmc-highspeed; 61 cap-mmc-highspeed;
@@ -68,7 +68,7 @@
68 samsung,dw-mshc-sdr-timing = <2 3>; 68 samsung,dw-mshc-sdr-timing = <2 3>;
69 samsung,dw-mshc-ddr-timing = <1 2>; 69 samsung,dw-mshc-ddr-timing = <1 2>;
70 pinctrl-names = "default"; 70 pinctrl-names = "default";
71 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 71 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
72 vmmc-supply = <&ldo19_reg>; 72 vmmc-supply = <&ldo19_reg>;
73 vqmmc-supply = <&ldo13_reg>; 73 vqmmc-supply = <&ldo13_reg>;
74 bus-width = <4>; 74 bus-width = <4>;
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index c47bb70665c1..0788d08fb43e 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -43,6 +43,10 @@
43 pinctrl-names = "default"; 43 pinctrl-names = "default";
44 }; 44 };
45 45
46 chosen {
47 stdout-path = "serial3:115200n8";
48 };
49
46 fixed-rate-clocks { 50 fixed-rate-clocks {
47 oscclk { 51 oscclk {
48 compatible = "samsung,exynos5420-oscclk"; 52 compatible = "samsung,exynos5420-oscclk";
@@ -118,6 +122,19 @@
118 compatible = "auo,b116xw03"; 122 compatible = "auo,b116xw03";
119 power-supply = <&tps65090_fet6>; 123 power-supply = <&tps65090_fet6>;
120 backlight = <&backlight>; 124 backlight = <&backlight>;
125
126 port {
127 panel_in: endpoint {
128 remote-endpoint = <&bridge_out>;
129 };
130 };
131 };
132
133 mmc1_pwrseq: mmc1_pwrseq {
134 compatible = "mmc-pwrseq-simple";
135 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
136 clocks = <&max77802 MAX77802_CLK_32K_CP>;
137 clock-names = "ext_clock";
121 }; 138 };
122}; 139};
123 140
@@ -137,7 +154,14 @@
137 samsung,link-rate = <0x06>; 154 samsung,link-rate = <0x06>;
138 samsung,lane-count = <2>; 155 samsung,lane-count = <2>;
139 samsung,hpd-gpio = <&gpx2 6 0>; 156 samsung,hpd-gpio = <&gpx2 6 0>;
140 bridge = <&ps8625>; 157
158 ports {
159 port@0 {
160 dp_out: endpoint {
161 remote-endpoint = <&bridge_in>;
162 };
163 };
164 };
141}; 165};
142 166
143&fimd { 167&fimd {
@@ -581,6 +605,8 @@
581 interrupt-parent = <&gpx0>; 605 interrupt-parent = <&gpx0>;
582 pinctrl-names = "default"; 606 pinctrl-names = "default";
583 pinctrl-0 = <&max98090_irq>; 607 pinctrl-0 = <&max98090_irq>;
608 clocks = <&pmu_system_controller 0>;
609 clock-names = "mclk";
584 }; 610 };
585 611
586 light-sensor@44 { 612 light-sensor@44 {
@@ -595,8 +621,22 @@
595 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>; 621 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
596 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>; 622 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
597 lane-count = <2>; 623 lane-count = <2>;
598 panel = <&panel>;
599 use-external-pwm; 624 use-external-pwm;
625
626 ports {
627 port@0 {
628 bridge_out: endpoint {
629 remote-endpoint = <&panel_in>;
630 };
631 };
632
633 port@1 {
634 bridge_in: endpoint {
635 remote-endpoint = <&dp_out>;
636 };
637 };
638 };
639
600 }; 640 };
601}; 641};
602 642
@@ -659,11 +699,32 @@
659 samsung,dw-mshc-ciu-div = <3>; 699 samsung,dw-mshc-ciu-div = <3>;
660 samsung,dw-mshc-sdr-timing = <0 4>; 700 samsung,dw-mshc-sdr-timing = <0 4>;
661 samsung,dw-mshc-ddr-timing = <0 2>; 701 samsung,dw-mshc-ddr-timing = <0 2>;
702 samsung,dw-mshc-hs400-timing = <0 2>;
703 samsung,read-strobe-delay = <90>;
662 pinctrl-names = "default"; 704 pinctrl-names = "default";
663 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 705 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
664 bus-width = <8>; 706 bus-width = <8>;
665}; 707};
666 708
709&mmc_1 {
710 status = "okay";
711 num-slots = <1>;
712 broken-cd;
713 cap-sdio-irq;
714 card-detect-delay = <200>;
715 clock-frequency = <400000000>;
716 samsung,dw-mshc-ciu-div = <1>;
717 samsung,dw-mshc-sdr-timing = <0 1>;
718 samsung,dw-mshc-ddr-timing = <0 2>;
719 pinctrl-names = "default";
720 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
721 <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
722 bus-width = <4>;
723 cap-sd-highspeed;
724 mmc-pwrseq = <&mmc1_pwrseq>;
725 vqmmc-supply = <&buck10_reg>;
726};
727
667&mmc_2 { 728&mmc_2 {
668 status = "okay"; 729 status = "okay";
669 num-slots = <1>; 730 num-slots = <1>;
@@ -674,7 +735,7 @@
674 samsung,dw-mshc-sdr-timing = <2 3>; 735 samsung,dw-mshc-sdr-timing = <2 3>;
675 samsung,dw-mshc-ddr-timing = <1 2>; 736 samsung,dw-mshc-ddr-timing = <1 2>;
676 pinctrl-names = "default"; 737 pinctrl-names = "default";
677 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 738 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
678 bus-width = <4>; 739 bus-width = <4>;
679}; 740};
680 741
@@ -683,6 +744,13 @@
683 pinctrl-names = "default"; 744 pinctrl-names = "default";
684 pinctrl-0 = <&mask_tpm_reset>; 745 pinctrl-0 = <&mask_tpm_reset>;
685 746
747 wifi_en: wifi-en {
748 samsung,pins = "gpx0-0";
749 samsung,pin-function = <1>;
750 samsung,pin-pud = <0>;
751 samsung,pin-drv = <0>;
752 };
753
686 max98090_irq: max98090-irq { 754 max98090_irq: max98090-irq {
687 samsung,pins = "gpx0-2"; 755 samsung,pins = "gpx0-2";
688 samsung,pin-function = <0>; 756 samsung,pin-function = <0>;
@@ -770,6 +838,29 @@
770 }; 838 };
771}; 839};
772 840
841&pinctrl_1 {
842 /* Adjust WiFi drive strengths lower for EMI */
843 sd1_clk: sd1-clk {
844 samsung,pin-drv = <2>;
845 };
846
847 sd1_cmd: sd1-cmd {
848 samsung,pin-drv = <2>;
849 };
850
851 sd1_bus1: sd1-bus-width1 {
852 samsung,pin-drv = <2>;
853 };
854
855 sd1_bus4: sd1-bus-width4 {
856 samsung,pin-drv = <2>;
857 };
858
859 sd1_bus8: sd1-bus-width8 {
860 samsung,pin-drv = <2>;
861 };
862};
863
773&pinctrl_2 { 864&pinctrl_2 {
774 pmic_dvs_2: pmic-dvs-2 { 865 pmic_dvs_2: pmic-dvs-2 {
775 samsung,pins = "gpj4-2"; 866 samsung,pins = "gpj4-2";
diff --git a/arch/arm/boot/dts/exynos5420-pinctrl.dtsi b/arch/arm/boot/dts/exynos5420-pinctrl.dtsi
index ba686e40eac7..8b153166ebdb 100644
--- a/arch/arm/boot/dts/exynos5420-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos5420-pinctrl.dtsi
@@ -201,6 +201,13 @@
201 samsung,pin-drv = <3>; 201 samsung,pin-drv = <3>;
202 }; 202 };
203 203
204 sd0_rclk: sd0-rclk {
205 samsung,pins = "gpc0-7";
206 samsung,pin-function = <2>;
207 samsung,pin-pud = <1>;
208 samsung,pin-drv = <3>;
209 };
210
204 sd1_cmd: sd1-cmd { 211 sd1_cmd: sd1-cmd {
205 samsung,pins = "gpc1-1"; 212 samsung,pins = "gpc1-1";
206 samsung,pin-function = <2>; 213 samsung,pin-function = <2>;
diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index 8be3d7b489ff..9103f2381a6d 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -80,8 +80,11 @@
80 samsung,dw-mshc-ciu-div = <3>; 80 samsung,dw-mshc-ciu-div = <3>;
81 samsung,dw-mshc-sdr-timing = <0 4>; 81 samsung,dw-mshc-sdr-timing = <0 4>;
82 samsung,dw-mshc-ddr-timing = <0 2>; 82 samsung,dw-mshc-ddr-timing = <0 2>;
83 samsung,dw-mshc-hs400-timing = <0 2>;
84 samsung,read-strobe-delay = <90>;
83 pinctrl-names = "default"; 85 pinctrl-names = "default";
84 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 86 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
87 &sd0_rclk>;
85 bus-width = <8>; 88 bus-width = <8>;
86 cap-mmc-highspeed; 89 cap-mmc-highspeed;
87 }; 90 };
@@ -93,7 +96,7 @@
93 samsung,dw-mshc-sdr-timing = <2 3>; 96 samsung,dw-mshc-sdr-timing = <2 3>;
94 samsung,dw-mshc-ddr-timing = <1 2>; 97 samsung,dw-mshc-ddr-timing = <1 2>;
95 pinctrl-names = "default"; 98 pinctrl-names = "default";
96 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 99 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
97 bus-width = <4>; 100 bus-width = <4>;
98 cap-sd-highspeed; 101 cap-sd-highspeed;
99 }; 102 };
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index b3d2d53820e3..f67b23f303c3 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -221,7 +221,7 @@
221 compatible = "samsung,exynos4210-mct"; 221 compatible = "samsung,exynos4210-mct";
222 reg = <0x101C0000 0x800>; 222 reg = <0x101C0000 0x800>;
223 interrupt-controller; 223 interrupt-controller;
224 #interrups-cells = <1>; 224 #interrupt-cells = <1>;
225 interrupt-parent = <&mct_map>; 225 interrupt-parent = <&mct_map>;
226 interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, 226 interrupts = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>,
227 <8>, <9>, <10>, <11>; 227 <8>, <9>, <10>, <11>;
@@ -251,6 +251,8 @@
251 compatible = "samsung,exynos4210-pd"; 251 compatible = "samsung,exynos4210-pd";
252 reg = <0x10044000 0x20>; 252 reg = <0x10044000 0x20>;
253 #power-domain-cells = <0>; 253 #power-domain-cells = <0>;
254 clocks = <&clock CLK_GSCL0>, <&clock CLK_GSCL1>;
255 clock-names = "asb0", "asb1";
254 }; 256 };
255 257
256 isp_pd: power-domain@10044020 { 258 isp_pd: power-domain@10044020 {
@@ -283,9 +285,11 @@
283 <&clock CLK_MOUT_SW_ACLK300>, 285 <&clock CLK_MOUT_SW_ACLK300>,
284 <&clock CLK_MOUT_USER_ACLK300_DISP1>, 286 <&clock CLK_MOUT_USER_ACLK300_DISP1>,
285 <&clock CLK_MOUT_SW_ACLK400>, 287 <&clock CLK_MOUT_SW_ACLK400>,
286 <&clock CLK_MOUT_USER_ACLK400_DISP1>; 288 <&clock CLK_MOUT_USER_ACLK400_DISP1>,
289 <&clock CLK_FIMD1>, <&clock CLK_MIXER>;
287 clock-names = "oscclk", "pclk0", "clk0", 290 clock-names = "oscclk", "pclk0", "clk0",
288 "pclk1", "clk1", "pclk2", "clk2"; 291 "pclk1", "clk1", "pclk2", "clk2",
292 "asb0", "asb1";
289 }; 293 };
290 294
291 pinctrl_0: pinctrl@13400000 { 295 pinctrl_0: pinctrl@13400000 {
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index a519c863248d..edc25cf1d717 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -264,6 +264,13 @@
264 }; 264 };
265 }; 265 };
266 266
267 emmc_pwrseq: pwrseq {
268 pinctrl-0 = <&emmc_nrst_pin>;
269 pinctrl-names = "default";
270 compatible = "mmc-pwrseq-emmc";
271 reset-gpios = <&gpd1 0 1>;
272 };
273
267 i2c_2: i2c@12C80000 { 274 i2c_2: i2c@12C80000 {
268 samsung,i2c-sda-delay = <100>; 275 samsung,i2c-sda-delay = <100>;
269 samsung,i2c-max-bus-freq = <66000>; 276 samsung,i2c-max-bus-freq = <66000>;
@@ -298,13 +305,14 @@
298 305
299&mmc_0 { 306&mmc_0 {
300 status = "okay"; 307 status = "okay";
308 mmc-pwrseq = <&emmc_pwrseq>;
301 broken-cd; 309 broken-cd;
302 card-detect-delay = <200>; 310 card-detect-delay = <200>;
303 samsung,dw-mshc-ciu-div = <3>; 311 samsung,dw-mshc-ciu-div = <3>;
304 samsung,dw-mshc-sdr-timing = <0 4>; 312 samsung,dw-mshc-sdr-timing = <0 4>;
305 samsung,dw-mshc-ddr-timing = <0 2>; 313 samsung,dw-mshc-ddr-timing = <0 2>;
306 pinctrl-names = "default"; 314 pinctrl-names = "default";
307 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 315 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
308 bus-width = <8>; 316 bus-width = <8>;
309 cap-mmc-highspeed; 317 cap-mmc-highspeed;
310}; 318};
@@ -316,7 +324,7 @@
316 samsung,dw-mshc-sdr-timing = <0 4>; 324 samsung,dw-mshc-sdr-timing = <0 4>;
317 samsung,dw-mshc-ddr-timing = <0 2>; 325 samsung,dw-mshc-ddr-timing = <0 2>;
318 pinctrl-names = "default"; 326 pinctrl-names = "default";
319 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 327 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
320 bus-width = <4>; 328 bus-width = <4>;
321 cap-sd-highspeed; 329 cap-sd-highspeed;
322}; 330};
@@ -330,6 +338,15 @@
330 }; 338 };
331}; 339};
332 340
341&pinctrl_1 {
342 emmc_nrst_pin: emmc-nrst {
343 samsung,pins = "gpd1-0";
344 samsung,pin-function = <0>;
345 samsung,pin-pud = <0>;
346 samsung,pin-drv = <0>;
347 };
348};
349
333&usbdrd_dwc3_0 { 350&usbdrd_dwc3_0 {
334 dr_mode = "host"; 351 dr_mode = "host";
335}; 352};
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 06737c60d333..412f41d62686 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -42,6 +42,10 @@
42 pinctrl-names = "default"; 42 pinctrl-names = "default";
43 }; 43 };
44 44
45 chosen {
46 stdout-path = "serial3:115200n8";
47 };
48
45 fixed-rate-clocks { 49 fixed-rate-clocks {
46 oscclk { 50 oscclk {
47 compatible = "samsung,exynos5420-oscclk"; 51 compatible = "samsung,exynos5420-oscclk";
@@ -119,6 +123,13 @@
119 power-supply = <&tps65090_fet6>; 123 power-supply = <&tps65090_fet6>;
120 backlight = <&backlight>; 124 backlight = <&backlight>;
121 }; 125 };
126
127 mmc1_pwrseq: mmc1_pwrseq {
128 compatible = "mmc-pwrseq-simple";
129 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
130 clocks = <&max77802 MAX77802_CLK_32K_CP>;
131 clock-names = "ext_clock";
132 };
122}; 133};
123 134
124&adc { 135&adc {
@@ -581,6 +592,8 @@
581 interrupt-parent = <&gpx0>; 592 interrupt-parent = <&gpx0>;
582 pinctrl-names = "default"; 593 pinctrl-names = "default";
583 pinctrl-0 = <&max98091_irq>; 594 pinctrl-0 = <&max98091_irq>;
595 clocks = <&pmu_system_controller 0>;
596 clock-names = "mclk";
584 }; 597 };
585 598
586 light-sensor@44 { 599 light-sensor@44 {
@@ -641,18 +654,40 @@
641 num-slots = <1>; 654 num-slots = <1>;
642 broken-cd; 655 broken-cd;
643 mmc-hs200-1_8v; 656 mmc-hs200-1_8v;
657 mmc-hs400-1_8v;
644 cap-mmc-highspeed; 658 cap-mmc-highspeed;
645 non-removable; 659 non-removable;
646 card-detect-delay = <200>; 660 card-detect-delay = <200>;
647 clock-frequency = <400000000>; 661 clock-frequency = <800000000>;
648 samsung,dw-mshc-ciu-div = <3>; 662 samsung,dw-mshc-ciu-div = <3>;
649 samsung,dw-mshc-sdr-timing = <0 4>; 663 samsung,dw-mshc-sdr-timing = <0 4>;
650 samsung,dw-mshc-ddr-timing = <0 2>; 664 samsung,dw-mshc-ddr-timing = <0 2>;
665 samsung,dw-mshc-hs400-timing = <0 2>;
666 samsung,read-strobe-delay = <90>;
651 pinctrl-names = "default"; 667 pinctrl-names = "default";
652 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 668 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
653 bus-width = <8>; 669 bus-width = <8>;
654}; 670};
655 671
672&mmc_1 {
673 status = "okay";
674 num-slots = <1>;
675 broken-cd;
676 cap-sdio-irq;
677 card-detect-delay = <200>;
678 clock-frequency = <400000000>;
679 samsung,dw-mshc-ciu-div = <1>;
680 samsung,dw-mshc-sdr-timing = <0 1>;
681 samsung,dw-mshc-ddr-timing = <0 2>;
682 pinctrl-names = "default";
683 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
684 <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
685 bus-width = <4>;
686 cap-sd-highspeed;
687 mmc-pwrseq = <&mmc1_pwrseq>;
688 vqmmc-supply = <&buck10_reg>;
689};
690
656&mmc_2 { 691&mmc_2 {
657 status = "okay"; 692 status = "okay";
658 num-slots = <1>; 693 num-slots = <1>;
@@ -663,7 +698,7 @@
663 samsung,dw-mshc-sdr-timing = <2 3>; 698 samsung,dw-mshc-sdr-timing = <2 3>;
664 samsung,dw-mshc-ddr-timing = <1 2>; 699 samsung,dw-mshc-ddr-timing = <1 2>;
665 pinctrl-names = "default"; 700 pinctrl-names = "default";
666 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 701 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
667 bus-width = <4>; 702 bus-width = <4>;
668}; 703};
669 704
@@ -672,6 +707,13 @@
672 pinctrl-names = "default"; 707 pinctrl-names = "default";
673 pinctrl-0 = <&mask_tpm_reset>; 708 pinctrl-0 = <&mask_tpm_reset>;
674 709
710 wifi_en: wifi-en {
711 samsung,pins = "gpx0-0";
712 samsung,pin-function = <1>;
713 samsung,pin-pud = <0>;
714 samsung,pin-drv = <0>;
715 };
716
675 max98091_irq: max98091-irq { 717 max98091_irq: max98091-irq {
676 samsung,pins = "gpx0-2"; 718 samsung,pins = "gpx0-2";
677 samsung,pin-function = <0>; 719 samsung,pin-function = <0>;
@@ -759,6 +801,29 @@
759 }; 801 };
760}; 802};
761 803
804&pinctrl_1 {
805 /* Adjust WiFi drive strengths lower for EMI */
806 sd1_clk: sd1-clk {
807 samsung,pin-drv = <2>;
808 };
809
810 sd1_cmd: sd1-cmd {
811 samsung,pin-drv = <2>;
812 };
813
814 sd1_bus1: sd1-bus-width1 {
815 samsung,pin-drv = <2>;
816 };
817
818 sd1_bus4: sd1-bus-width4 {
819 samsung,pin-drv = <2>;
820 };
821
822 sd1_bus8: sd1-bus-width8 {
823 samsung,pin-drv = <2>;
824 };
825};
826
762&pinctrl_2 { 827&pinctrl_2 {
763 pmic_dvs_2: pmic-dvs-2 { 828 pmic_dvs_2: pmic-dvs-2 {
764 samsung,pins = "gpj4-2"; 829 samsung,pins = "gpj4-2";
diff --git a/arch/arm/boot/dts/kirkwood-nas2big.dts b/arch/arm/boot/dts/kirkwood-nas2big.dts
new file mode 100644
index 000000000000..7427ec50b829
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-nas2big.dts
@@ -0,0 +1,143 @@
1/*
2 * Device Tree file for LaCie 2Big NAS
3 *
4 * Copyright (C) 2015 Seagate
5 *
6 * Author: Simon Guinot <simon.guinot@sequanux.org>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11*/
12
13/dts-v1/;
14
15#include "kirkwood-netxbig.dtsi"
16
17/ {
18 model = "LaCie 2Big NAS";
19 compatible = "lacie,nas2big", "lacie,netxbig", "marvell,kirkwood-88f6282", "marvell,kirkwood";
20
21 memory {
22 device_type = "memory";
23 reg = <0x00000000 0x10000000>;
24 };
25
26 chosen {
27 bootargs = "console=ttyS0,115200n8";
28 stdout-path = &uart0;
29 };
30
31 mbus {
32 pcie-controller {
33 status = "okay";
34
35 pcie@1,0 {
36 status = "okay";
37 };
38 };
39 };
40
41 ocp@f1000000 {
42 rtc@10300 {
43 /* The on-chip RTC is not powered (no supercap). */
44 status = "disabled";
45 };
46 spi@10600 {
47 /*
48 * A NAND flash is used instead of an SPI flash for
49 * the other netxbig-compatible boards.
50 */
51 status = "disabled";
52 };
53 };
54
55 fan {
56 /*
57 * An I2C fan controller (GMT G762) is used but alarm is
58 * wired to a separate GPIO.
59 */
60 compatible = "gpio-fan";
61 alarm-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
62 };
63
64 regulators: regulators {
65 status = "okay";
66 compatible = "simple-bus";
67 #address-cells = <1>;
68 #size-cells = <0>;
69 pinctrl-names = "default";
70
71 regulator@2 {
72 compatible = "regulator-fixed";
73 reg = <2>;
74 regulator-name = "hdd1power";
75 regulator-min-microvolt = <5000000>;
76 regulator-max-microvolt = <5000000>;
77 enable-active-high;
78 regulator-always-on;
79 regulator-boot-on;
80 gpio = <&gpio0 17 GPIO_ACTIVE_HIGH>;
81 };
82 clocks {
83 g762_clk: g762-oscillator {
84 compatible = "fixed-clock";
85 #clock-cells = <0>;
86 clock-frequency = <32768>;
87 };
88 };
89 };
90};
91
92&mdio {
93 status = "okay";
94
95 ethphy0: ethernet-phy@0 {
96 reg = <0>;
97 };
98};
99
100&i2c0 {
101 status = "okay";
102
103 /*
104 * An external I2C RTC (Dallas DS1337S+) is used. This allows
105 * to power-up the board on an RTC alarm. The external RTC can
106 * be kept powered, even when the SoC is off.
107 */
108 rtc@68 {
109 compatible = "dallas,ds1307";
110 reg = <0x68>;
111 interrupts = <43>;
112 };
113 g762@3e {
114 compatible = "gmt,g762";
115 reg = <0x3e>;
116 clocks = <&g762_clk>;
117 };
118};
119
120&nand {
121 chip-delay = <50>;
122 status = "okay";
123
124 partition@0 {
125 label = "U-Boot";
126 reg = <0x0 0x100000>;
127 };
128
129 partition@100000 {
130 label = "uImage";
131 reg = <0x100000 0x1000000>;
132 };
133
134 partition@1100000 {
135 label = "root";
136 reg = <0x1100000 0x8000000>;
137 };
138
139 partition@9100000 {
140 label = "unused";
141 reg = <0x9100000 0x6f00000>;
142 };
143};
diff --git a/arch/arm/boot/dts/kirkwood-net2big.dts b/arch/arm/boot/dts/kirkwood-net2big.dts
index 53dc37a3b687..13a44773b6df 100644
--- a/arch/arm/boot/dts/kirkwood-net2big.dts
+++ b/arch/arm/boot/dts/kirkwood-net2big.dts
@@ -27,6 +27,11 @@
27 device_type = "memory"; 27 device_type = "memory";
28 reg = <0x00000000 0x10000000>; 28 reg = <0x00000000 0x10000000>;
29 }; 29 };
30
31 fan {
32 compatible = "gpio-fan";
33 alarm-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
34 };
30}; 35};
31 36
32&regulators { 37&regulators {
diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi
index b67ede515bcd..548441384d2a 100644
--- a/arch/arm/boot/dts/meson.dtsi
+++ b/arch/arm/boot/dts/meson.dtsi
@@ -150,5 +150,25 @@
150 interrupts = <0 15 1>; 150 interrupts = <0 15 1>;
151 status = "disabled"; 151 status = "disabled";
152 }; 152 };
153
154 spifc: spi@c1108c80 {
155 compatible = "amlogic,meson6-spifc";
156 reg = <0xc1108c80 0x80>;
157 #address-cells = <1>;
158 #size-cells = <0>;
159 clocks = <&clk81>;
160 status = "disabled";
161 };
162
163 ethmac: ethernet@c9410000 {
164 compatible = "amlogic,meson6-dwmac", "snps,dwmac";
165 reg = <0xc9410000 0x10000
166 0xc1108108 0x4>;
167 interrupts = <0 8 1>;
168 interrupt-names = "macirq";
169 clocks = <&clk81>;
170 clock-names = "stmmaceth";
171 status = "disabled";
172 };
153 }; 173 };
154}; /* end of / */ 174}; /* end of / */
diff --git a/arch/arm/boot/dts/meson6-atv1200.dts b/arch/arm/boot/dts/meson6-atv1200.dts
index d7d351a68944..1237faa63ce6 100644
--- a/arch/arm/boot/dts/meson6-atv1200.dts
+++ b/arch/arm/boot/dts/meson6-atv1200.dts
@@ -64,3 +64,7 @@
64&uart_AO { 64&uart_AO {
65 status = "okay"; 65 status = "okay";
66}; 66};
67
68&ethmac {
69 status = "okay";
70};
diff --git a/arch/arm/boot/dts/meson8-minix-neo-x8.dts b/arch/arm/boot/dts/meson8-minix-neo-x8.dts
new file mode 100644
index 000000000000..4f536bb1f002
--- /dev/null
+++ b/arch/arm/boot/dts/meson8-minix-neo-x8.dts
@@ -0,0 +1,128 @@
1/*
2 * Copyright 2014 Beniamino Galvani <b.galvani@gmail.com>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/dts-v1/;
44#include <dt-bindings/gpio/gpio.h>
45#include "meson8.dtsi"
46
47/ {
48 model = "MINIX NEO-X8";
49 compatible = "minix,neo-x8", "amlogic,meson8";
50
51 aliases {
52 serial0 = &uart_AO;
53 };
54
55 memory {
56 reg = <0x40000000 0x80000000>;
57 };
58
59 gpio-leds {
60 compatible = "gpio-leds";
61
62 blue {
63 label = "x8:blue:power";
64 gpios = <&gpio_ao GPIO_TEST_N GPIO_ACTIVE_HIGH>;
65 };
66 };
67};
68
69&uart_AO {
70 status = "okay";
71 pinctrl-0 = <&uart_ao_a_pins>;
72 pinctrl-names = "default";
73};
74
75&i2c_AO {
76 status = "okay";
77 pinctrl-0 = <&i2c_ao_pins>;
78 pinctrl-names = "default";
79
80 pmic@32 {
81 compatible = "ricoh,rn5t618";
82 reg = <0x32>;
83
84 regulators {
85 };
86 };
87
88 rtc@51 {
89 compatible = "nxp,pcf8563";
90 reg = <0x51>;
91 };
92};
93
94&spifc {
95 status = "okay";
96 pinctrl-0 = <&spi_nor_pins>;
97 pinctrl-names = "default";
98
99 spi-flash@0 {
100 compatible = "mxicy,mx25l1606e";
101 #address-cells = <1>;
102 #size-cells = <1>;
103 reg = <0>;
104 spi-max-frequency = <30000000>;
105
106 partition@0 {
107 label = "boot";
108 reg = <0x0 0x100000>;
109 };
110
111 partition@100000 {
112 label = "env";
113 reg = <0x100000 0x10000>;
114 };
115 };
116};
117
118&ir_receiver {
119 status = "okay";
120 pinctrl-0 = <&ir_recv_pins>;
121 pinctrl-names = "default";
122};
123
124&ethmac {
125 status = "okay";
126 pinctrl-0 = <&eth_pins>;
127 pnictrl-names = "default";
128};
diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi
index 1f442a7fe03b..a2ddcb8c545a 100644
--- a/arch/arm/boot/dts/meson8.dtsi
+++ b/arch/arm/boot/dts/meson8.dtsi
@@ -43,6 +43,7 @@
43 * OTHER DEALINGS IN THE SOFTWARE. 43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 44 */
45 45
46#include <dt-bindings/gpio/meson8-gpio.h>
46/include/ "meson.dtsi" 47/include/ "meson.dtsi"
47 48
48/ { 49/ {
@@ -89,4 +90,71 @@
89 compatible = "fixed-clock"; 90 compatible = "fixed-clock";
90 clock-frequency = <141666666>; 91 clock-frequency = <141666666>;
91 }; 92 };
93
94 pinctrl: pinctrl@c1109880 {
95 compatible = "amlogic,meson8-pinctrl";
96 reg = <0xc1109880 0x10>;
97 #address-cells = <1>;
98 #size-cells = <1>;
99 ranges;
100
101 gpio: banks@c11080b0 {
102 reg = <0xc11080b0 0x28>,
103 <0xc11080e8 0x18>,
104 <0xc1108120 0x18>,
105 <0xc1108030 0x30>;
106 reg-names = "mux", "pull", "pull-enable", "gpio";
107 gpio-controller;
108 #gpio-cells = <2>;
109 };
110
111 gpio_ao: ao-bank@c1108030 {
112 reg = <0xc8100014 0x4>,
113 <0xc810002c 0x4>,
114 <0xc8100024 0x8>;
115 reg-names = "mux", "pull", "gpio";
116 gpio-controller;
117 #gpio-cells = <2>;
118 };
119
120 uart_ao_a_pins: uart_ao_a {
121 mux {
122 groups = "uart_tx_ao_a", "uart_rx_ao_a";
123 function = "uart_ao";
124 };
125 };
126
127 i2c_ao_pins: i2c_mst_ao {
128 mux {
129 groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
130 function = "i2c_mst_ao";
131 };
132 };
133
134 spi_nor_pins: nor {
135 mux {
136 groups = "nor_d", "nor_q", "nor_c", "nor_cs";
137 function = "nor";
138 };
139 };
140
141 ir_recv_pins: remote {
142 mux {
143 groups = "remote_input";
144 function = "remote";
145 };
146 };
147
148 eth_pins: ethernet {
149 mux {
150 groups = "eth_tx_clk_50m", "eth_tx_en",
151 "eth_txd1", "eth_txd0",
152 "eth_rx_clk_in", "eth_rx_dv",
153 "eth_rxd1", "eth_rxd0", "eth_mdio",
154 "eth_mdc";
155 function = "ethernet";
156 };
157 };
158 };
159
92}; /* end of / */ 160}; /* end of / */
diff --git a/arch/arm/boot/dts/mt6589.dtsi b/arch/arm/boot/dts/mt6589.dtsi
index 106b61b10030..88b3cb128698 100644
--- a/arch/arm/boot/dts/mt6589.dtsi
+++ b/arch/arm/boot/dts/mt6589.dtsi
@@ -138,5 +138,10 @@
138 clocks = <&uart_clk>; 138 clocks = <&uart_clk>;
139 status = "disabled"; 139 status = "disabled";
140 }; 140 };
141
142 wdt: watchdog@010000000 {
143 compatible = "mediatek,mt6589-wdt";
144 reg = <0x10000000 0x44>;
145 };
141 }; 146 };
142}; 147};
diff --git a/arch/arm/boot/dts/nspire-classic.dtsi b/arch/arm/boot/dts/nspire-classic.dtsi
index 9565199bce7a..4907c5085d4b 100644
--- a/arch/arm/boot/dts/nspire-classic.dtsi
+++ b/arch/arm/boot/dts/nspire-classic.dtsi
@@ -51,6 +51,11 @@
51 compatible = "lsi,nspire-classic-ahb-divider"; 51 compatible = "lsi,nspire-classic-ahb-divider";
52}; 52};
53 53
54
55&vbus_reg {
56 gpio = <&gpio 5 0>;
57};
58
54/ { 59/ {
55 memory { 60 memory {
56 device_type = "memory"; 61 device_type = "memory";
diff --git a/arch/arm/boot/dts/nspire-cx.dts b/arch/arm/boot/dts/nspire-cx.dts
index 375b924f60d8..08e0b81b3385 100644
--- a/arch/arm/boot/dts/nspire-cx.dts
+++ b/arch/arm/boot/dts/nspire-cx.dts
@@ -69,6 +69,10 @@
69 0x0709001d 0x070a0033 >; 69 0x0709001d 0x070a0033 >;
70}; 70};
71 71
72&vbus_reg {
73 gpio = <&gpio 2 0>;
74};
75
72/ { 76/ {
73 model = "TI-NSPIRE CX"; 77 model = "TI-NSPIRE CX";
74 compatible = "ti,nspire-cx"; 78 compatible = "ti,nspire-cx";
diff --git a/arch/arm/boot/dts/nspire.dtsi b/arch/arm/boot/dts/nspire.dtsi
index a22ffe633b49..390c91aea16d 100644
--- a/arch/arm/boot/dts/nspire.dtsi
+++ b/arch/arm/boot/dts/nspire.dtsi
@@ -54,6 +54,20 @@
54 clocks = <&ahb_clk>; 54 clocks = <&ahb_clk>;
55 }; 55 };
56 56
57 usb_phy: usb_phy {
58 compatible = "usb-nop-xceiv";
59 };
60
61 vbus_reg: vbus_reg {
62 compatible = "regulator-fixed";
63
64 regulator-name = "USB VBUS output";
65 regulator-type = "voltage";
66
67 regulator-min-microvolt = <5000000>;
68 regulator-max-microvolt = <5000000>;
69 };
70
57 ahb { 71 ahb {
58 compatible = "simple-bus"; 72 compatible = "simple-bus";
59 #address-cells = <1>; 73 #address-cells = <1>;
@@ -65,8 +79,12 @@
65 }; 79 };
66 80
67 usb0: usb@B0000000 { 81 usb0: usb@B0000000 {
82 compatible = "lsi,zevio-usb";
68 reg = <0xB0000000 0x1000>; 83 reg = <0xB0000000 0x1000>;
69 interrupts = <8>; 84 interrupts = <8>;
85
86 usb-phy = <&usb_phy>;
87 vbus-supply = <&vbus_reg>;
70 }; 88 };
71 89
72 usb1: usb@B4000000 { 90 usb1: usb@B4000000 {
@@ -105,8 +123,11 @@
105 ranges; 123 ranges;
106 124
107 gpio: gpio@90000000 { 125 gpio: gpio@90000000 {
126 compatible = "lsi,zevio-gpio";
108 reg = <0x90000000 0x1000>; 127 reg = <0x90000000 0x1000>;
109 interrupts = <7>; 128 interrupts = <7>;
129 gpio-controller;
130 #gpio-cells = <2>;
110 }; 131 };
111 132
112 fast_timer: timer@90010000 { 133 fast_timer: timer@90010000 {
diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
index 8cdca51b6984..7c4dca122a91 100644
--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -60,7 +60,6 @@
60 ti,model = "omap3beagle"; 60 ti,model = "omap3beagle";
61 61
62 ti,mcbsp = <&mcbsp2>; 62 ti,mcbsp = <&mcbsp2>;
63 ti,codec = <&twl_audio>;
64 }; 63 };
65 64
66 gpio_keys { 65 gpio_keys {
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts
index 6d4c46be8c39..a5474113cd50 100644
--- a/arch/arm/boot/dts/omap3-beagle.dts
+++ b/arch/arm/boot/dts/omap3-beagle.dts
@@ -71,7 +71,6 @@
71 ti,model = "omap3beagle"; 71 ti,model = "omap3beagle";
72 72
73 ti,mcbsp = <&mcbsp2>; 73 ti,mcbsp = <&mcbsp2>;
74 ti,codec = <&twl_audio>;
75 }; 74 };
76 75
77 gpio_keys { 76 gpio_keys {
@@ -378,3 +377,55 @@
378 }; 377 };
379 }; 378 };
380}; 379};
380
381&gpmc {
382 status = "ok";
383 ranges = <0 0 0x30000000 0x1000000>; /* CS0 space, 16MB */
384
385 /* Chip select 0 */
386 nand@0,0 {
387 reg = <0 0 4>; /* NAND I/O window, 4 bytes */
388 interrupts = <20>;
389 ti,nand-ecc-opt = "ham1";
390 nand-bus-width = <16>;
391 #address-cells = <1>;
392 #size-cells = <1>;
393
394 gpmc,device-width = <2>;
395 gpmc,cs-on-ns = <0>;
396 gpmc,cs-rd-off-ns = <36>;
397 gpmc,cs-wr-off-ns = <36>;
398 gpmc,adv-on-ns = <6>;
399 gpmc,adv-rd-off-ns = <24>;
400 gpmc,adv-wr-off-ns = <36>;
401 gpmc,oe-on-ns = <6>;
402 gpmc,oe-off-ns = <48>;
403 gpmc,we-on-ns = <6>;
404 gpmc,we-off-ns = <30>;
405 gpmc,rd-cycle-ns = <72>;
406 gpmc,wr-cycle-ns = <72>;
407 gpmc,access-ns = <54>;
408 gpmc,wr-access-ns = <30>;
409
410 partition@0 {
411 label = "X-Loader";
412 reg = <0 0x80000>;
413 };
414 partition@80000 {
415 label = "U-Boot";
416 reg = <0x80000 0x1e0000>;
417 };
418 partition@1c0000 {
419 label = "U-Boot Env";
420 reg = <0x260000 0x20000>;
421 };
422 partition@280000 {
423 label = "Kernel";
424 reg = <0x280000 0x400000>;
425 };
426 partition@780000 {
427 label = "Filesystem";
428 reg = <0x680000 0xf980000>;
429 };
430 };
431};
diff --git a/arch/arm/boot/dts/omap3-cm-t3517.dts b/arch/arm/boot/dts/omap3-cm-t3517.dts
index 0ab748cf7749..f5b5a1d96cd7 100644
--- a/arch/arm/boot/dts/omap3-cm-t3517.dts
+++ b/arch/arm/boot/dts/omap3-cm-t3517.dts
@@ -133,6 +133,16 @@
133 non-removable; 133 non-removable;
134 bus-width = <4>; 134 bus-width = <4>;
135 cap-power-off-card; 135 cap-power-off-card;
136
137 #address-cells = <1>;
138 #size-cells = <0>;
139 wlcore: wlcore@2 {
140 compatible = "ti,wl1271";
141 reg = <2>;
142 interrupt-parent = <&gpio5>;
143 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; /* gpio 145 */
144 ref-clock-frequency = <38400000>;
145 };
136}; 146};
137 147
138&dss { 148&dss {
diff --git a/arch/arm/boot/dts/omap3-cm-t3730.dts b/arch/arm/boot/dts/omap3-cm-t3730.dts
index 46eadb21b5ef..2294f5b0aa10 100644
--- a/arch/arm/boot/dts/omap3-cm-t3730.dts
+++ b/arch/arm/boot/dts/omap3-cm-t3730.dts
@@ -73,6 +73,16 @@
73 non-removable; 73 non-removable;
74 bus-width = <4>; 74 bus-width = <4>;
75 cap-power-off-card; 75 cap-power-off-card;
76
77 #address-cells = <1>;
78 #size-cells = <0>;
79 wlcore: wlcore@2 {
80 compatible = "ti,wl1271";
81 reg = <2>;
82 interrupt-parent = <&gpio5>;
83 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; /* gpio 136 */
84 ref-clock-frequency = <38400000>;
85 };
76}; 86};
77 87
78&dss { 88&dss {
diff --git a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
index d9e92b654f85..046cd7733c4f 100644
--- a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
+++ b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
@@ -16,7 +16,6 @@
16 ti,model = "cm-t35"; 16 ti,model = "cm-t35";
17 17
18 ti,mcbsp = <&mcbsp2>; 18 ti,mcbsp = <&mcbsp2>;
19 ti,codec = <&twl_audio>;
20 }; 19 };
21}; 20};
22 21
diff --git a/arch/arm/boot/dts/omap3-devkit8000.dts b/arch/arm/boot/dts/omap3-devkit8000.dts
index 169037e5ff53..134d3f27a8ec 100644
--- a/arch/arm/boot/dts/omap3-devkit8000.dts
+++ b/arch/arm/boot/dts/omap3-devkit8000.dts
@@ -48,7 +48,6 @@
48 ti,model = "devkit8000"; 48 ti,model = "devkit8000";
49 49
50 ti,mcbsp = <&mcbsp2>; 50 ti,mcbsp = <&mcbsp2>;
51 ti,codec = <&twl_audio>;
52 ti,audio-routing = 51 ti,audio-routing =
53 "Ext Spk", "PREDRIVEL", 52 "Ext Spk", "PREDRIVEL",
54 "Ext Spk", "PREDRIVER", 53 "Ext Spk", "PREDRIVER",
diff --git a/arch/arm/boot/dts/omap3-evm-common.dtsi b/arch/arm/boot/dts/omap3-evm-common.dtsi
index 127f3e7c10c4..346552b94d9f 100644
--- a/arch/arm/boot/dts/omap3-evm-common.dtsi
+++ b/arch/arm/boot/dts/omap3-evm-common.dtsi
@@ -106,6 +106,16 @@
106 non-removable; 106 non-removable;
107 bus-width = <4>; 107 bus-width = <4>;
108 cap-power-off-card; 108 cap-power-off-card;
109
110 #address-cells = <1>;
111 #size-cells = <0>;
112 wlcore: wlcore@2 {
113 compatible = "ti,wl1271";
114 reg = <2>;
115 interrupt-parent = <&gpio5>;
116 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 149 */
117 ref-clock-frequency = <38400000>;
118 };
109}; 119};
110 120
111&twl_gpio { 121&twl_gpio {
diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi
index fb3a69604ed5..b9f68817bd6e 100644
--- a/arch/arm/boot/dts/omap3-gta04.dtsi
+++ b/arch/arm/boot/dts/omap3-gta04.dtsi
@@ -46,7 +46,6 @@
46 ti,model = "gta04"; 46 ti,model = "gta04";
47 47
48 ti,mcbsp = <&mcbsp2>; 48 ti,mcbsp = <&mcbsp2>;
49 ti,codec = <&twl_audio>;
50 }; 49 };
51 50
52 spi_lcd { 51 spi_lcd {
diff --git a/arch/arm/boot/dts/omap3-igep.dtsi b/arch/arm/boot/dts/omap3-igep.dtsi
index 8a63ad2286aa..d5e5cd449b16 100644
--- a/arch/arm/boot/dts/omap3-igep.dtsi
+++ b/arch/arm/boot/dts/omap3-igep.dtsi
@@ -22,7 +22,6 @@
22 compatible = "ti,omap-twl4030"; 22 compatible = "ti,omap-twl4030";
23 ti,model = "igep2"; 23 ti,model = "igep2";
24 ti,mcbsp = <&mcbsp2>; 24 ti,mcbsp = <&mcbsp2>;
25 ti,codec = <&twl_audio>;
26 }; 25 };
27 26
28 vdd33: regulator-vdd33 { 27 vdd33: regulator-vdd33 {
diff --git a/arch/arm/boot/dts/omap3-igep0020-rev-f.dts b/arch/arm/boot/dts/omap3-igep0020-rev-f.dts
index cc8bd0cd8cf8..72f7cdc091fb 100644
--- a/arch/arm/boot/dts/omap3-igep0020-rev-f.dts
+++ b/arch/arm/boot/dts/omap3-igep0020-rev-f.dts
@@ -42,4 +42,13 @@
42 vmmc-supply = <&lbep5clwmc_wlen>; 42 vmmc-supply = <&lbep5clwmc_wlen>;
43 bus-width = <4>; 43 bus-width = <4>;
44 non-removable; 44 non-removable;
45
46 #address-cells = <1>;
47 #size-cells = <0>;
48 wlcore: wlcore@2 {
49 compatible = "ti,wl1835";
50 reg = <2>;
51 interrupt-parent = <&gpio6>;
52 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; /* gpio 177 */
53 };
45}; 54};
diff --git a/arch/arm/boot/dts/omap3-igep0030-rev-g.dts b/arch/arm/boot/dts/omap3-igep0030-rev-g.dts
index 9326b282c94a..b899e341874a 100644
--- a/arch/arm/boot/dts/omap3-igep0030-rev-g.dts
+++ b/arch/arm/boot/dts/omap3-igep0030-rev-g.dts
@@ -64,4 +64,13 @@
64 vmmc-supply = <&lbep5clwmc_wlen>; 64 vmmc-supply = <&lbep5clwmc_wlen>;
65 bus-width = <4>; 65 bus-width = <4>;
66 non-removable; 66 non-removable;
67
68 #address-cells = <1>;
69 #size-cells = <0>;
70 wlcore: wlcore@2 {
71 compatible = "ti,wl1835";
72 reg = <2>;
73 interrupt-parent = <&gpio5>;
74 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; /* gpio 136 */
75 };
67}; 76};
diff --git a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
index e81fb651d5d0..e63133304a34 100644
--- a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
+++ b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
@@ -38,7 +38,6 @@
38 ti,model = "lilly-a83x"; 38 ti,model = "lilly-a83x";
39 39
40 ti,mcbsp = <&mcbsp2>; 40 ti,mcbsp = <&mcbsp2>;
41 ti,codec = <&twl_audio>;
42 }; 41 };
43 42
44 reg_vcc3: vcc3 { 43 reg_vcc3: vcc3 {
diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts
index 9938b5dc1909..f2e213931e09 100644
--- a/arch/arm/boot/dts/omap3-n9.dts
+++ b/arch/arm/boot/dts/omap3-n9.dts
@@ -16,3 +16,40 @@
16 model = "Nokia N9"; 16 model = "Nokia N9";
17 compatible = "nokia,omap3-n9", "ti,omap36xx", "ti,omap3"; 17 compatible = "nokia,omap3-n9", "ti,omap36xx", "ti,omap3";
18}; 18};
19
20&i2c2 {
21 smia_1: camera@10 {
22 compatible = "nokia,smia";
23 reg = <0x10>;
24 /* No reset gpio */
25 vana-supply = <&vaux3>;
26 clocks = <&isp 0>;
27 clock-frequency = <9600000>;
28 nokia,nvm-size = <(16 * 64)>;
29 port {
30 smia_1_1: endpoint {
31 link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
32 clock-lanes = <0>;
33 data-lanes = <1 2>;
34 remote-endpoint = <&csi2a_ep>;
35 };
36 };
37 };
38};
39
40&isp {
41 vdd-csiphy1-supply = <&vaux2>;
42 vdd-csiphy2-supply = <&vaux2>;
43 ports {
44 port@2 {
45 reg = <2>;
46 csi2a_ep: endpoint {
47 remote-endpoint = <&smia_1_1>;
48 clock-lanes = <2>;
49 data-lanes = <1 3>;
50 crc = <1>;
51 lane-polarities = <1 1 1>;
52 };
53 };
54 };
55};
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 2cab149b191c..a29315833ecd 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -9,9 +9,23 @@
9 9
10/dts-v1/; 10/dts-v1/;
11 11
12#include "omap34xx-hs.dtsi" 12#include "omap34xx.dtsi"
13#include <dt-bindings/input/input.h> 13#include <dt-bindings/input/input.h>
14 14
15/*
16 * Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall
17 * for omap AES HW crypto support. When linux kernel try to access memory of AES
18 * blocks then kernel receive "Unhandled fault: external abort on non-linefetch"
19 * and crash. Until somebody fix omap-aes.c and omap_hwmod_3xxx_data.c code (no
20 * crash anymore) omap AES support will be disabled for all Nokia N900 devices.
21 * There is "unofficial" version of bootloader which enables AES in L3 firewall
22 * but it is not widely used and to prevent kernel crash rather AES is disabled.
23 * There is also no runtime detection code if AES is disabled in L3 firewall...
24 */
25&aes {
26 status = "disabled";
27};
28
15/ { 29/ {
16 model = "Nokia N900"; 30 model = "Nokia N900";
17 compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3"; 31 compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3";
diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi
index c41db94ee9c2..800b379d368d 100644
--- a/arch/arm/boot/dts/omap3-n950-n9.dtsi
+++ b/arch/arm/boot/dts/omap3-n950-n9.dtsi
@@ -8,7 +8,7 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11#include "omap36xx-hs.dtsi" 11#include "omap36xx.dtsi"
12 12
13/ { 13/ {
14 cpus { 14 cpus {
diff --git a/arch/arm/boot/dts/omap3-n950.dts b/arch/arm/boot/dts/omap3-n950.dts
index 261c5589bfa3..0885b34d5d7d 100644
--- a/arch/arm/boot/dts/omap3-n950.dts
+++ b/arch/arm/boot/dts/omap3-n950.dts
@@ -16,3 +16,40 @@
16 model = "Nokia N950"; 16 model = "Nokia N950";
17 compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3"; 17 compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3";
18}; 18};
19
20&i2c2 {
21 smia_1: camera@10 {
22 compatible = "nokia,smia";
23 reg = <0x10>;
24 /* No reset gpio */
25 vana-supply = <&vaux3>;
26 clocks = <&isp 0>;
27 clock-frequency = <9600000>;
28 nokia,nvm-size = <(16 * 64)>;
29 port {
30 smia_1_1: endpoint {
31 link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
32 clock-lanes = <0>;
33 data-lanes = <1 2>;
34 remote-endpoint = <&csi2a_ep>;
35 };
36 };
37 };
38};
39
40&isp {
41 vdd-csiphy1-supply = <&vaux2>;
42 vdd-csiphy2-supply = <&vaux2>;
43 ports {
44 port@2 {
45 reg = <2>;
46 csi2a_ep: endpoint {
47 remote-endpoint = <&smia_1_1>;
48 clock-lanes = <2>;
49 data-lanes = <3 1>;
50 crc = <1>;
51 lane-polarities = <1 1 1>;
52 };
53 };
54 };
55};
diff --git a/arch/arm/boot/dts/omap3-overo-base.dtsi b/arch/arm/boot/dts/omap3-overo-base.dtsi
index d36bf0250a05..18e1649681c1 100644
--- a/arch/arm/boot/dts/omap3-overo-base.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-base.dtsi
@@ -27,7 +27,6 @@
27 ti,model = "overo"; 27 ti,model = "overo";
28 28
29 ti,mcbsp = <&mcbsp2>; 29 ti,mcbsp = <&mcbsp2>;
30 ti,codec = <&twl_audio>;
31 }; 30 };
32 31
33 /* HS USB Port 2 Power */ 32 /* HS USB Port 2 Power */
diff --git a/arch/arm/boot/dts/omap3-pandora-1ghz.dts b/arch/arm/boot/dts/omap3-pandora-1ghz.dts
new file mode 100644
index 000000000000..9619a28dfd7d
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-pandora-1ghz.dts
@@ -0,0 +1,70 @@
1/*
2 * Copyright (C) 2015
3 * Nikolaus Schaller <hns@goldelico.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10/*
11 * device tree for OpenPandora 1GHz with DM3730
12 */
13
14/dts-v1/;
15
16#include "omap36xx.dtsi"
17#include "omap3-pandora-common.dtsi"
18
19/ {
20 model = "Pandora Handheld Console 1GHz";
21
22 compatible = "ti,omap36xx", "ti,omap3";
23};
24
25&omap3_pmx_core2 {
26
27 pinctrl-names = "default";
28 pinctrl-0 = <
29 &hsusb2_2_pins
30 &control_pins
31 >;
32
33 hsusb2_2_pins: pinmux_hsusb2_2_pins {
34 pinctrl-single,pins = <
35 OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
36 OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
37 OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
38 OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
39 OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
40 OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
41 >;
42 };
43
44 mmc3_pins: pinmux_mmc3_pins {
45 pinctrl-single,pins = <
46 OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */
47 OMAP3630_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */
48 OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */
49 OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */
50 OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */
51 OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */
52 >;
53 };
54
55 control_pins: pinmux_control_pins {
56 pinctrl-single,pins = <
57 OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* etk_d0.gpio_14 = HP_SHUTDOWN */
58 OMAP3630_CORE2_IOPAD(0x25de, PIN_OUTPUT | MUX_MODE4) /* etk_d1.gpio_15 = BT_SHUTDOWN */
59 OMAP3630_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 = RESET_USB_HOST */
60 OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT | MUX_MODE4) /* etk_d7.gpio_21 = WIFI IRQ */
61 OMAP3630_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 = MSECURE */
62 OMAP3630_CORE2_IOPAD(0x25ee, PIN_OUTPUT | MUX_MODE4) /* etk_d9.gpio_23 = WIFI_POWER */
63 OMAP3_WKUP_IOPAD(0x2a54, PIN_INPUT | MUX_MODE4) /* reserved.gpio_127 = MMC2_WP */
64 OMAP3_WKUP_IOPAD(0x2a56, PIN_INPUT | MUX_MODE4) /* reserved.gpio_126 = MMC1_WP */
65 OMAP3_WKUP_IOPAD(0x2a58, PIN_OUTPUT | MUX_MODE4) /* reserved.gpio_128 = LED_MMC1 */
66 OMAP3_WKUP_IOPAD(0x2a5a, PIN_OUTPUT | MUX_MODE4) /* reserved.gpio_129 = LED_MMC2 */
67
68 >;
69 };
70};
diff --git a/arch/arm/boot/dts/omap3-pandora-600mhz.dts b/arch/arm/boot/dts/omap3-pandora-600mhz.dts
new file mode 100644
index 000000000000..fb803a70a2bb
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-pandora-600mhz.dts
@@ -0,0 +1,65 @@
1/*
2 * Copyright (C) 2015
3 * Nikolaus Schaller <hns@goldelico.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10/*
11 * device tree for OpenPandora with OMAP3530
12 */
13
14/dts-v1/;
15
16#include "omap34xx.dtsi"
17#include "omap3-pandora-common.dtsi"
18
19/ {
20 model = "Pandora Handheld Console";
21
22 compatible = "ti,omap3";
23};
24
25&omap3_pmx_core2 {
26
27 pinctrl-names = "default";
28 pinctrl-0 = <
29 &hsusb2_2_pins
30 &control_pins
31 >;
32
33 hsusb2_2_pins: pinmux_hsusb2_2_pins {
34 pinctrl-single,pins = <
35 OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
36 OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
37 OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
38 OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
39 OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
40 OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
41 >;
42 };
43
44 mmc3_pins: pinmux_mmc3_pins {
45 pinctrl-single,pins = <
46 OMAP3430_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */
47 OMAP3430_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */
48 OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */
49 OMAP3430_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */
50 OMAP3430_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */
51 OMAP3430_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */
52 >;
53 };
54
55 control_pins: pinmux_control_pins {
56 pinctrl-single,pins = <
57 OMAP3430_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* etk_d0.gpio_14 = HP_SHUTDOWN */
58 OMAP3430_CORE2_IOPAD(0x25de, PIN_OUTPUT | MUX_MODE4) /* etk_d1.gpio_15 = BT_SHUTDOWN */
59 OMAP3430_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 = RESET_USB_HOST */
60 OMAP3430_CORE2_IOPAD(0x25ea, PIN_INPUT | MUX_MODE4) /* etk_d7.gpio_21 = WIFI IRQ */
61 OMAP3430_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 = MSECURE */
62 OMAP3430_CORE2_IOPAD(0x25ee, PIN_OUTPUT | MUX_MODE4) /* etk_d9.gpio_23 = WIFI_POWER */
63 >;
64 };
65};
diff --git a/arch/arm/boot/dts/omap3-pandora-common.dtsi b/arch/arm/boot/dts/omap3-pandora-common.dtsi
new file mode 100644
index 000000000000..782ab1ff1d08
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-pandora-common.dtsi
@@ -0,0 +1,640 @@
1/*
2 * Copyright (C) 2015
3 * Nikolaus Schaller <hns@goldelico.com>
4 *
5 * Common device tree include for OpenPandora devices.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#include <dt-bindings/input/input.h>
13
14/ {
15 cpus {
16 cpu@0 {
17 cpu0-supply = <&vcc>;
18 };
19 };
20
21 memory {
22 device_type = "memory";
23 reg = <0x80000000 0x20000000>; /* 512 MB */
24 };
25
26 aliases {
27 display0 = &lcd;
28 };
29
30 tv: connector@1 {
31 compatible = "connector-analog-tv";
32 label = "tv";
33
34 port {
35 tv_connector_in: endpoint {
36 remote-endpoint = <&venc_out>;
37 };
38 };
39 };
40
41 gpio-leds {
42
43 compatible = "gpio-leds";
44
45 pinctrl-names = "default";
46 pinctrl-0 = <&led_pins>;
47
48 led@1 {
49 label = "pandora::sd1";
50 gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* GPIO_128 */
51 linux,default-trigger = "mmc0";
52 default-state = "off";
53 };
54
55 led@2 {
56 label = "pandora::sd2";
57 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* GPIO_129 */
58 linux,default-trigger = "mmc1";
59 default-state = "off";
60 };
61
62 led@3 {
63 label = "pandora::bluetooth";
64 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>; /* GPIO_158 */
65 linux,default-trigger = "heartbeat";
66 default-state = "off";
67 };
68
69 led@4 {
70 label = "pandora::wifi";
71 gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; /* GPIO_159 */
72 linux,default-trigger = "mmc2";
73 default-state = "off";
74 };
75 };
76
77 gpio-keys {
78 compatible = "gpio-keys";
79
80 pinctrl-names = "default";
81 pinctrl-0 = <&button_pins>;
82
83 up-button {
84 label = "up";
85 linux,code = <KEY_UP>;
86 gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */
87 gpio-key,wakeup;
88 };
89
90 down-button {
91 label = "down";
92 linux,code = <KEY_DOWN>;
93 gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */
94 gpio-key,wakeup;
95 };
96
97 left-button {
98 label = "left";
99 linux,code = <KEY_LEFT>;
100 gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */
101 gpio-key,wakeup;
102 };
103
104 right-button {
105 label = "right";
106 linux,code = <KEY_RIGHT>;
107 gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */
108 gpio-key,wakeup;
109 };
110
111 pageup-button {
112 label = "game 1";
113 linux,code = <KEY_PAGEUP>;
114 gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */
115 gpio-key,wakeup;
116 };
117
118 pagedown-button {
119 label = "game 3";
120 linux,code = <KEY_PAGEDOWN>;
121 gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */
122 gpio-key,wakeup;
123 };
124
125 home-button {
126 label = "game 4";
127 linux,code = <KEY_HOME>;
128 gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */
129 gpio-key,wakeup;
130 };
131
132 end-button {
133 label = "game 2";
134 linux,code = <KEY_END>;
135 gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */
136 gpio-key,wakeup;
137 };
138
139 right-shift {
140 label = "l";
141 linux,code = <KEY_RIGHTSHIFT>;
142 gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */
143 gpio-key,wakeup;
144 };
145
146 kp-plus {
147 label = "l2";
148 linux,code = <KEY_KPPLUS>;
149 gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */
150 gpio-key,wakeup;
151 };
152
153 right-ctrl {
154 label = "r";
155 linux,code = <KEY_RIGHTCTRL>;
156 gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */
157 gpio-key,wakeup;
158 };
159
160 kp-minus {
161 label = "r2";
162 linux,code = <KEY_KPMINUS>;
163 gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */
164 gpio-key,wakeup;
165 };
166
167 left-ctrl {
168 label = "ctrl";
169 linux,code = <KEY_LEFTCTRL>;
170 gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */
171 gpio-key,wakeup;
172 };
173
174 menu {
175 label = "menu";
176 linux,code = <KEY_MENU>;
177 gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */
178 gpio-key,wakeup;
179 };
180
181 hold {
182 label = "hold";
183 linux,code = <KEY_COFFEE>;
184 gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */
185 gpio-key,wakeup;
186 };
187
188 left-alt {
189 label = "alt";
190 linux,code = <KEY_LEFTALT>;
191 gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */
192 gpio-key,wakeup;
193 };
194
195 lid {
196 label = "lid";
197 linux,code = <0x00>; /* SW_LID lid shut */
198 linux,input-type = <0x05>; /* EV_SW */
199 gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */
200 };
201 };
202};
203
204&omap3_pmx_core {
205
206 mmc1_pins: pinmux_mmc1_pins {
207 pinctrl-single,pins = <
208 OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
209 OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
210 OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
211 OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
212 OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
213 OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
214 >;
215 };
216
217 mmc2_pins: pinmux_mmc2_pins {
218 pinctrl-single,pins = <
219 OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
220 OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
221 OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
222 OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
223 OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
224 OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
225 OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dirdat0 */
226 OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dirdat1 */
227 OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dircmd */
228 OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */
229 >;
230 };
231
232 dss_dpi_pins: pinmux_dss_dpi_pins {
233 pinctrl-single,pins = <
234 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
235 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
236 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
237 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
238 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
239 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
240 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
241 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
242 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
243 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
244 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
245 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
246 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
247 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
248 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
249 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
250 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
251 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
252 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
253 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
254 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
255 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
256 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
257 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
258 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
259 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
260 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
261 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
262 OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* GPIO_157 = lcd reset */
263 >;
264 };
265
266 uart3_pins: pinmux_uart3_pins {
267 pinctrl-single,pins = <
268 OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
269 OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
270 >;
271 };
272
273 led_pins: pinmux_leds_pins {
274 pinctrl-single,pins = <
275 OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4) /* GPIO_128 */
276 OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* GPIO_129 */
277 OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4) /* GPIO_158 */
278 OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4) /* GPIO_159 */
279 >;
280 };
281
282 button_pins: pinmux_button_pins {
283 pinctrl-single,pins = <
284 OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4) /* GPIO_96 */
285 OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4) /* GPIO_97 */
286 OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4) /* GPIO_98 */
287 OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) /* GPIO_99 */
288 OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) /* GPIO_100 */
289 OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4) /* GPIO_101 */
290 OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4) /* GPIO_102 */
291 OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4) /* GPIO_103 */
292 OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4) /* GPIO_104 */
293 OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4) /* GPIO_105 */
294 OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) /* GPIO_106 */
295 OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) /* GPIO_107 */
296 OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) /* GPIO_108 */
297 OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* GPIO_109 */
298 OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4) /* GPIO_110 */
299 OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4) /* GPIO_111 */
300 OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* GPIO_176 */
301 >;
302 };
303
304 penirq_pins: pinmux_penirq_pins {
305 pinctrl-single,pins = <
306 /* here we could enable to wakeup the cpu from suspend by a pen touch */
307 OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4) /* GPIO_94 */
308 >;
309 };
310
311};
312
313&omap3_pmx_core2 {
314 /* define in CPU specific file that includes this one
315 * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD()
316 */
317};
318
319&i2c1 {
320 clock-frequency = <2600000>;
321
322 twl: twl@48 {
323 reg = <0x48>;
324 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
325 interrupt-parent = <&intc>;
326
327 twl_power: power {
328 compatible = "ti,twl4030-power-reset";
329 ti,use_poweroff;
330 };
331
332 twl_audio: audio {
333 compatible = "ti,twl4030-audio";
334
335 codec {
336 ti,ramp_delay_value = <3>;
337 };
338 };
339 };
340};
341
342#include "twl4030.dtsi"
343#include "twl4030_omap3.dtsi"
344
345&twl_keypad {
346 keypad,num-rows = <8>;
347 keypad,num-columns = <6>;
348 linux,keymap = <
349 MATRIX_KEY(0, 0, KEY_9)
350 MATRIX_KEY(0, 1, KEY_8)
351 MATRIX_KEY(0, 2, KEY_I)
352 MATRIX_KEY(0, 3, KEY_J)
353 MATRIX_KEY(0, 4, KEY_N)
354 MATRIX_KEY(0, 5, KEY_M)
355 MATRIX_KEY(1, 0, KEY_0)
356 MATRIX_KEY(1, 1, KEY_7)
357 MATRIX_KEY(1, 2, KEY_U)
358 MATRIX_KEY(1, 3, KEY_H)
359 MATRIX_KEY(1, 4, KEY_B)
360 MATRIX_KEY(1, 5, KEY_SPACE)
361 MATRIX_KEY(2, 0, KEY_BACKSPACE)
362 MATRIX_KEY(2, 1, KEY_6)
363 MATRIX_KEY(2, 2, KEY_Y)
364 MATRIX_KEY(2, 3, KEY_G)
365 MATRIX_KEY(2, 4, KEY_V)
366 MATRIX_KEY(2, 5, KEY_FN)
367 MATRIX_KEY(3, 0, KEY_O)
368 MATRIX_KEY(3, 1, KEY_5)
369 MATRIX_KEY(3, 2, KEY_T)
370 MATRIX_KEY(3, 3, KEY_F)
371 MATRIX_KEY(3, 4, KEY_C)
372 MATRIX_KEY(4, 0, KEY_P)
373 MATRIX_KEY(4, 1, KEY_4)
374 MATRIX_KEY(4, 2, KEY_R)
375 MATRIX_KEY(4, 3, KEY_D)
376 MATRIX_KEY(4, 4, KEY_X)
377 MATRIX_KEY(5, 0, KEY_K)
378 MATRIX_KEY(5, 1, KEY_3)
379 MATRIX_KEY(5, 2, KEY_E)
380 MATRIX_KEY(5, 3, KEY_S)
381 MATRIX_KEY(5, 4, KEY_Z)
382 MATRIX_KEY(6, 0, KEY_L)
383 MATRIX_KEY(6, 1, KEY_2)
384 MATRIX_KEY(6, 2, KEY_W)
385 MATRIX_KEY(6, 3, KEY_A)
386 MATRIX_KEY(6, 4, KEY_RIGHTBRACE)
387 MATRIX_KEY(7, 0, KEY_ENTER)
388 MATRIX_KEY(7, 1, KEY_1)
389 MATRIX_KEY(7, 2, KEY_Q)
390 MATRIX_KEY(7, 3, KEY_LEFTSHIFT)
391 MATRIX_KEY(7, 4, KEY_LEFTBRACE )
392 >;
393};
394
395/* backup battery charger */
396&charger {
397 ti,bb-uvolt = <3200000>;
398 ti,bb-uamp = <150>;
399};
400
401/* MMC2 */
402&vmmc2 {
403 regulator-min-microvolt = <1850000>;
404 regulator-max-microvolt = <3150000>;
405};
406
407/* LCD */
408&vaux1 {
409 regulator-min-microvolt = <3000000>;
410 regulator-max-microvolt = <3000000>;
411};
412
413/* USB Host PHY */
414&vaux2 {
415 regulator-min-microvolt = <1800000>;
416 regulator-max-microvolt = <1800000>;
417};
418
419/* available on expansion connector */
420&vaux3 {
421 regulator-min-microvolt = <2800000>;
422 regulator-max-microvolt = <2800000>;
423};
424
425/* ADS7846 and nubs */
426&vaux4 {
427 regulator-min-microvolt = <2800000>;
428 regulator-max-microvolt = <2800000>;
429};
430
431/* power audio DAC and LID sensor */
432&vsim {
433 regulator-min-microvolt = <2800000>;
434 regulator-max-microvolt = <2800000>;
435 regulator-always-on;
436};
437
438&i2c2 {
439 clock-frequency = <100000>;
440 /* no clients so we should disable clock */
441};
442
443&i2c3 {
444 clock-frequency = <100000>;
445
446 bq27500@55 {
447 compatible = "ti,bq27500";
448 reg = <0x55>;
449 };
450
451};
452
453&usb_otg_hs {
454 interface-type = <0>;
455 usb-phy = <&usb2_phy>;
456 phys = <&usb2_phy>;
457 phy-names = "usb2-phy";
458 mode = <3>;
459 power = <50>;
460};
461
462&mmc1 {
463 pinctrl-names = "default";
464 pinctrl-0 = <&mmc1_pins>;
465 vmmc-supply = <&vmmc1>;
466 bus-width = <4>;
467 cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
468 wp-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>; /* GPIO_126 */
469};
470
471&mmc2 {
472 pinctrl-names = "default";
473 pinctrl-0 = <&mmc2_pins>;
474 vmmc-supply = <&vmmc2>;
475 bus-width = <4>;
476 cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_HIGH>;
477 wp-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* GPIO_127 */
478};
479
480/* bluetooth*/
481&uart1 {
482};
483
484/* spare (expansion connector) */
485&uart2 {
486};
487
488/* console (expansion connector) */
489&uart3 {
490 pinctrl-names = "default";
491 pinctrl-0 = <&uart3_pins>;
492 interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
493};
494
495&usbhshost {
496 port2-mode = "ehci-phy";
497};
498
499&gpmc {
500 ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
501
502 nand@0,0 {
503 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
504 nand-bus-width = <16>;
505 ti,nand-ecc-opt = "sw";
506
507 gpmc,sync-clk-ps = <0>;
508 gpmc,cs-on-ns = <0>;
509 gpmc,cs-rd-off-ns = <44>;
510 gpmc,cs-wr-off-ns = <44>;
511 gpmc,adv-on-ns = <6>;
512 gpmc,adv-rd-off-ns = <34>;
513 gpmc,adv-wr-off-ns = <44>;
514 gpmc,we-off-ns = <40>;
515 gpmc,oe-off-ns = <54>;
516 gpmc,access-ns = <64>;
517 gpmc,rd-cycle-ns = <82>;
518 gpmc,wr-cycle-ns = <82>;
519 gpmc,wr-access-ns = <40>;
520 gpmc,wr-data-mux-bus-ns = <0>;
521 gpmc,device-width = <2>;
522
523 #address-cells = <1>;
524 #size-cells = <1>;
525
526 /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */
527
528 x-loader@0 {
529 label = "xloader";
530 reg = <0 0x80000>;
531 };
532
533 bootloaders@80000 {
534 label = "uboot";
535 reg = <0x80000 0x1e0000>;
536 };
537
538 bootloaders_env@260000 {
539 label = "uboot-env";
540 reg = <0x260000 0x20000>;
541 };
542
543 kernel@280000 {
544 label = "boot";
545 reg = <0x280000 0xa00000>;
546 };
547
548 filesystem@680000 {
549 label = "rootfs";
550 reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */
551 };
552 };
553};
554
555&mcspi1 {
556 tsc2046@0 {
557 reg = <0>; /* CS0 */
558 compatible = "ti,tsc2046";
559 spi-max-frequency = <1000000>;
560 pinctrl-names = "default";
561 pinctrl-0 = <&penirq_pins>;
562 interrupt-parent = <&gpio3>;
563 interrupts = <30 0>; /* GPIO_94 */
564 pendown-gpio = <&gpio3 30 0>;
565 vcc-supply = <&vaux4>;
566
567 ti,x-min = /bits/ 16 <0>;
568 ti,x-max = /bits/ 16 <8000>;
569 ti,y-min = /bits/ 16 <0>;
570 ti,y-max = /bits/ 16 <4800>;
571 ti,x-plate-ohms = /bits/ 16 <40>;
572 ti,pressure-max = /bits/ 16 <255>;
573
574 linux,wakeup;
575 };
576
577 lcd: lcd@1 {
578 reg = <1>; /* CS1 */
579 compatible = "omapdss,tpo,td043mtea1";
580 spi-max-frequency = <100000>;
581 spi-cpol;
582 spi-cpha;
583
584 label = "lcd";
585 reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; /* GPIO_157 */
586 vcc-supply = <&vaux1>;
587
588 port {
589 lcd_in: endpoint {
590 remote-endpoint = <&dpi_out>;
591 };
592 };
593 };
594
595
596};
597
598/* n/a - used as GPIOs */
599&mcbsp1 {
600};
601
602/* audio DAC */
603&mcbsp2 {
604};
605
606/* bluetooth */
607&mcbsp3 {
608};
609
610/* to twl4030*/
611&mcbsp4 {
612};
613
614&venc {
615 status = "ok";
616
617 vdda-supply = <&vdac>;
618
619 port {
620 venc_out: endpoint {
621 remote-endpoint = <&tv_connector_in>;
622 ti,channels = <2>;
623 };
624 };
625};
626
627&dss {
628 pinctrl-names = "default";
629 pinctrl-0 = < &dss_dpi_pins >;
630
631 status = "ok";
632 vdds_dsi-supply = <&vpll2>;
633
634 port {
635 dpi_out: endpoint {
636 remote-endpoint = <&lcd_in>;
637 data-lines = <24>;
638 };
639 };
640};
diff --git a/arch/arm/boot/dts/omap3-tao3530.dtsi b/arch/arm/boot/dts/omap3-tao3530.dtsi
index e89820a6776e..7bd8d9a4f67f 100644
--- a/arch/arm/boot/dts/omap3-tao3530.dtsi
+++ b/arch/arm/boot/dts/omap3-tao3530.dtsi
@@ -8,7 +8,16 @@
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10 10
11#include "omap34xx-hs.dtsi" 11#include "omap34xx.dtsi"
12
13/* Secure omaps have some devices inaccessible depending on the firmware */
14&aes {
15 status = "disabled";
16};
17
18&sham {
19 status = "disabled";
20};
12 21
13/ { 22/ {
14 cpus { 23 cpus {
@@ -45,7 +54,6 @@
45 54
46 /* McBSP2 is used for onboard sound, same as on beagle */ 55 /* McBSP2 is used for onboard sound, same as on beagle */
47 ti,mcbsp = <&mcbsp2>; 56 ti,mcbsp = <&mcbsp2>;
48 ti,codec = <&twl_audio>;
49 }; 57 };
50 58
51 /* Regulator to enable/switch the vcc of the Wifi module */ 59 /* Regulator to enable/switch the vcc of the Wifi module */
diff --git a/arch/arm/boot/dts/omap3-zoom3.dts b/arch/arm/boot/dts/omap3-zoom3.dts
index 6644f516a42b..131448d86e67 100644
--- a/arch/arm/boot/dts/omap3-zoom3.dts
+++ b/arch/arm/boot/dts/omap3-zoom3.dts
@@ -195,6 +195,16 @@
195 cap-power-off-card; 195 cap-power-off-card;
196 pinctrl-names = "default"; 196 pinctrl-names = "default";
197 pinctrl-0 = <&mmc3_pins &mmc3_2_pins>; 197 pinctrl-0 = <&mmc3_pins &mmc3_2_pins>;
198
199 #address-cells = <1>;
200 #size-cells = <0>;
201 wlcore: wlcore@2 {
202 compatible = "ti,wl1271";
203 reg = <2>;
204 interrupt-parent = <&gpio6>;
205 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; /* gpio 162 */
206 ref-clock-frequency = <26000000>;
207 };
198}; 208};
199 209
200&uart1 { 210&uart1 {
diff --git a/arch/arm/boot/dts/omap34xx-hs.dtsi b/arch/arm/boot/dts/omap34xx-hs.dtsi
deleted file mode 100644
index 1ff626489546..000000000000
--- a/arch/arm/boot/dts/omap34xx-hs.dtsi
+++ /dev/null
@@ -1,16 +0,0 @@
1/* Disabled modules for secure omaps */
2
3#include "omap34xx.dtsi"
4
5/* Secure omaps have some devices inaccessible depending on the firmware */
6&aes {
7 status = "disabled";
8};
9
10&sham {
11 status = "disabled";
12};
13
14&timer12 {
15 status = "disabled";
16};
diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi
index 3819c1e91591..7bc8c0f72ddb 100644
--- a/arch/arm/boot/dts/omap34xx.dtsi
+++ b/arch/arm/boot/dts/omap34xx.dtsi
@@ -8,6 +8,8 @@
8 * kind, whether express or implied. 8 * kind, whether express or implied.
9 */ 9 */
10 10
11#include <dt-bindings/media/omap3-isp.h>
12
11#include "omap3.dtsi" 13#include "omap3.dtsi"
12 14
13/ { 15/ {
@@ -37,6 +39,21 @@
37 pinctrl-single,register-width = <16>; 39 pinctrl-single,register-width = <16>;
38 pinctrl-single,function-mask = <0xff1f>; 40 pinctrl-single,function-mask = <0xff1f>;
39 }; 41 };
42
43 isp: isp@480bc000 {
44 compatible = "ti,omap3-isp";
45 reg = <0x480bc000 0x12fc
46 0x480bd800 0x017c>;
47 interrupts = <24>;
48 iommus = <&mmu_isp>;
49 syscon = <&omap3_scm_general 0xdc>;
50 ti,phy-type = <OMAP3ISP_PHY_TYPE_COMPLEX_IO>;
51 #clock-cells = <1>;
52 ports {
53 #address-cells = <1>;
54 #size-cells = <0>;
55 };
56 };
40 }; 57 };
41}; 58};
42 59
diff --git a/arch/arm/boot/dts/omap36xx-hs.dtsi b/arch/arm/boot/dts/omap36xx-hs.dtsi
deleted file mode 100644
index 2c7febb0e016..000000000000
--- a/arch/arm/boot/dts/omap36xx-hs.dtsi
+++ /dev/null
@@ -1,16 +0,0 @@
1/* Disabled modules for secure omaps */
2
3#include "omap36xx.dtsi"
4
5/* Secure omaps have some devices inaccessible depending on the firmware */
6&aes {
7 status = "disabled";
8};
9
10&sham {
11 status = "disabled";
12};
13
14&timer12 {
15 status = "disabled";
16};
diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi
index 541704a59a5a..3502fe00ec7d 100644
--- a/arch/arm/boot/dts/omap36xx.dtsi
+++ b/arch/arm/boot/dts/omap36xx.dtsi
@@ -8,6 +8,8 @@
8 * kind, whether express or implied. 8 * kind, whether express or implied.
9 */ 9 */
10 10
11#include <dt-bindings/media/omap3-isp.h>
12
11#include "omap3.dtsi" 13#include "omap3.dtsi"
12 14
13/ { 15/ {
@@ -69,6 +71,21 @@
69 pinctrl-single,register-width = <16>; 71 pinctrl-single,register-width = <16>;
70 pinctrl-single,function-mask = <0xff1f>; 72 pinctrl-single,function-mask = <0xff1f>;
71 }; 73 };
74
75 isp: isp@480bc000 {
76 compatible = "ti,omap3-isp";
77 reg = <0x480bc000 0x12fc
78 0x480bd800 0x0600>;
79 interrupts = <24>;
80 iommus = <&mmu_isp>;
81 syscon = <&omap3_scm_general 0x2f0>;
82 ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
83 #clock-cells = <1>;
84 ports {
85 #address-cells = <1>;
86 #size-cells = <0>;
87 };
88 };
72 }; 89 };
73}; 90};
74 91
diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
index 7c15fb2e2fe4..f1507bc8737e 100644
--- a/arch/arm/boot/dts/omap4-panda-common.dtsi
+++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
@@ -448,6 +448,16 @@
448 non-removable; 448 non-removable;
449 bus-width = <4>; 449 bus-width = <4>;
450 cap-power-off-card; 450 cap-power-off-card;
451
452 #address-cells = <1>;
453 #size-cells = <0>;
454 wlcore: wlcore@2 {
455 compatible = "ti,wl1271";
456 reg = <2>;
457 interrupt-parent = <&gpio2>;
458 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
459 ref-clock-frequency = <38400000>;
460 };
451}; 461};
452 462
453&emif1 { 463&emif1 {
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index 8aca8dae968a..dac86ed7481f 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -485,6 +485,17 @@
485 non-removable; 485 non-removable;
486 bus-width = <4>; 486 bus-width = <4>;
487 cap-power-off-card; 487 cap-power-off-card;
488
489 #address-cells = <1>;
490 #size-cells = <0>;
491 wlcore: wlcore@2 {
492 compatible = "ti,wl1281";
493 reg = <2>;
494 interrupt-parent = <&gpio1>;
495 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */
496 ref-clock-frequency = <26000000>;
497 tcxo-clock-frequency = <26000000>;
498 };
488}; 499};
489 500
490&emif1 { 501&emif1 {
diff --git a/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi b/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi
index cc66af419236..9bceeb7e1f03 100644
--- a/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi
+++ b/arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi
@@ -65,4 +65,14 @@
65 bus-width = <4>; 65 bus-width = <4>;
66 cap-power-off-card; 66 cap-power-off-card;
67 status = "okay"; 67 status = "okay";
68
69 #address-cells = <1>;
70 #size-cells = <0>;
71 wlcore: wlcore@2 {
72 compatible = "ti,wl1271";
73 reg = <2>;
74 interrupt-parent = <&gpio2>;
75 interrupts = <9 IRQ_TYPE_LEVEL_HIGH>; /* gpio 41 */
76 ref-clock-frequency = <38400000>;
77 };
68}; 78};
diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index b3154c071652..6c1511263a55 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -23,6 +23,7 @@
23 next-level-cache = <&L2>; 23 next-level-cache = <&L2>;
24 qcom,acc = <&acc0>; 24 qcom,acc = <&acc0>;
25 qcom,saw = <&saw0>; 25 qcom,saw = <&saw0>;
26 cpu-idle-states = <&CPU_SPC>;
26 }; 27 };
27 28
28 cpu@1 { 29 cpu@1 {
@@ -33,6 +34,7 @@
33 next-level-cache = <&L2>; 34 next-level-cache = <&L2>;
34 qcom,acc = <&acc1>; 35 qcom,acc = <&acc1>;
35 qcom,saw = <&saw1>; 36 qcom,saw = <&saw1>;
37 cpu-idle-states = <&CPU_SPC>;
36 }; 38 };
37 39
38 cpu@2 { 40 cpu@2 {
@@ -43,6 +45,7 @@
43 next-level-cache = <&L2>; 45 next-level-cache = <&L2>;
44 qcom,acc = <&acc2>; 46 qcom,acc = <&acc2>;
45 qcom,saw = <&saw2>; 47 qcom,saw = <&saw2>;
48 cpu-idle-states = <&CPU_SPC>;
46 }; 49 };
47 50
48 cpu@3 { 51 cpu@3 {
@@ -53,12 +56,23 @@
53 next-level-cache = <&L2>; 56 next-level-cache = <&L2>;
54 qcom,acc = <&acc3>; 57 qcom,acc = <&acc3>;
55 qcom,saw = <&saw3>; 58 qcom,saw = <&saw3>;
59 cpu-idle-states = <&CPU_SPC>;
56 }; 60 };
57 61
58 L2: l2-cache { 62 L2: l2-cache {
59 compatible = "cache"; 63 compatible = "cache";
60 cache-level = <2>; 64 cache-level = <2>;
61 }; 65 };
66
67 idle-states {
68 CPU_SPC: spc {
69 compatible = "qcom,idle-state-spc",
70 "arm,idle-state";
71 entry-latency-us = <400>;
72 exit-latency-us = <900>;
73 min-residency-us = <3000>;
74 };
75 };
62 }; 76 };
63 77
64 cpu-pmu { 78 cpu-pmu {
@@ -139,26 +153,26 @@
139 reg = <0x020b8000 0x1000>, <0x02008000 0x1000>; 153 reg = <0x020b8000 0x1000>, <0x02008000 0x1000>;
140 }; 154 };
141 155
142 saw0: regulator@2089000 { 156 saw0: power-controller@2089000 {
143 compatible = "qcom,saw2"; 157 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
144 reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 158 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
145 regulator; 159 regulator;
146 }; 160 };
147 161
148 saw1: regulator@2099000 { 162 saw1: power-controller@2099000 {
149 compatible = "qcom,saw2"; 163 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
150 reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 164 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
151 regulator; 165 regulator;
152 }; 166 };
153 167
154 saw2: regulator@20a9000 { 168 saw2: power-controller@20a9000 {
155 compatible = "qcom,saw2"; 169 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
156 reg = <0x020a9000 0x1000>, <0x02009000 0x1000>; 170 reg = <0x020a9000 0x1000>, <0x02009000 0x1000>;
157 regulator; 171 regulator;
158 }; 172 };
159 173
160 saw3: regulator@20b9000 { 174 saw3: power-controller@20b9000 {
161 compatible = "qcom,saw2"; 175 compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2";
162 reg = <0x020b9000 0x1000>, <0x02009000 0x1000>; 176 reg = <0x020b9000 0x1000>, <0x02009000 0x1000>;
163 regulator; 177 regulator;
164 }; 178 };
@@ -166,6 +180,7 @@
166 gsbi1: gsbi@12440000 { 180 gsbi1: gsbi@12440000 {
167 status = "disabled"; 181 status = "disabled";
168 compatible = "qcom,gsbi-v1.0.0"; 182 compatible = "qcom,gsbi-v1.0.0";
183 cell-index = <1>;
169 reg = <0x12440000 0x100>; 184 reg = <0x12440000 0x100>;
170 clocks = <&gcc GSBI1_H_CLK>; 185 clocks = <&gcc GSBI1_H_CLK>;
171 clock-names = "iface"; 186 clock-names = "iface";
@@ -173,6 +188,8 @@
173 #size-cells = <1>; 188 #size-cells = <1>;
174 ranges; 189 ranges;
175 190
191 syscon-tcsr = <&tcsr>;
192
176 i2c1: i2c@12460000 { 193 i2c1: i2c@12460000 {
177 compatible = "qcom,i2c-qup-v1.1.1"; 194 compatible = "qcom,i2c-qup-v1.1.1";
178 reg = <0x12460000 0x1000>; 195 reg = <0x12460000 0x1000>;
@@ -187,6 +204,7 @@
187 gsbi2: gsbi@12480000 { 204 gsbi2: gsbi@12480000 {
188 status = "disabled"; 205 status = "disabled";
189 compatible = "qcom,gsbi-v1.0.0"; 206 compatible = "qcom,gsbi-v1.0.0";
207 cell-index = <2>;
190 reg = <0x12480000 0x100>; 208 reg = <0x12480000 0x100>;
191 clocks = <&gcc GSBI2_H_CLK>; 209 clocks = <&gcc GSBI2_H_CLK>;
192 clock-names = "iface"; 210 clock-names = "iface";
@@ -194,6 +212,8 @@
194 #size-cells = <1>; 212 #size-cells = <1>;
195 ranges; 213 ranges;
196 214
215 syscon-tcsr = <&tcsr>;
216
197 i2c2: i2c@124a0000 { 217 i2c2: i2c@124a0000 {
198 compatible = "qcom,i2c-qup-v1.1.1"; 218 compatible = "qcom,i2c-qup-v1.1.1";
199 reg = <0x124a0000 0x1000>; 219 reg = <0x124a0000 0x1000>;
@@ -208,6 +228,7 @@
208 gsbi7: gsbi@16600000 { 228 gsbi7: gsbi@16600000 {
209 status = "disabled"; 229 status = "disabled";
210 compatible = "qcom,gsbi-v1.0.0"; 230 compatible = "qcom,gsbi-v1.0.0";
231 cell-index = <7>;
211 reg = <0x16600000 0x100>; 232 reg = <0x16600000 0x100>;
212 clocks = <&gcc GSBI7_H_CLK>; 233 clocks = <&gcc GSBI7_H_CLK>;
213 clock-names = "iface"; 234 clock-names = "iface";
@@ -215,6 +236,8 @@
215 #size-cells = <1>; 236 #size-cells = <1>;
216 ranges; 237 ranges;
217 238
239 syscon-tcsr = <&tcsr>;
240
218 serial@16640000 { 241 serial@16640000 {
219 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 242 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
220 reg = <0x16640000 0x1000>, 243 reg = <0x16640000 0x1000>,
@@ -239,6 +262,13 @@
239 #reset-cells = <1>; 262 #reset-cells = <1>;
240 }; 263 };
241 264
265 lcc: clock-controller@28000000 {
266 compatible = "qcom,lcc-apq8064";
267 reg = <0x28000000 0x1000>;
268 #clock-cells = <1>;
269 #reset-cells = <1>;
270 };
271
242 mmcc: clock-controller@4000000 { 272 mmcc: clock-controller@4000000 {
243 compatible = "qcom,mmcc-apq8064"; 273 compatible = "qcom,mmcc-apq8064";
244 reg = <0x4000000 0x1000>; 274 reg = <0x4000000 0x1000>;
@@ -349,5 +379,10 @@
349 pinctrl-0 = <&sdc4_gpios>; 379 pinctrl-0 = <&sdc4_gpios>;
350 }; 380 };
351 }; 381 };
382
383 tcsr: syscon@1a400000 {
384 compatible = "qcom,tcsr-apq8064", "syscon";
385 reg = <0x1a400000 0x100>;
386 };
352 }; 387 };
353}; 388};
diff --git a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
index 47370494d0f8..d484d08163e9 100644
--- a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
+++ b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
@@ -1,4 +1,6 @@
1#include "qcom-msm8974.dtsi" 1#include "qcom-msm8974.dtsi"
2#include "qcom-pm8841.dtsi"
3#include "qcom-pm8941.dtsi"
2 4
3/ { 5/ {
4 model = "Qualcomm APQ8074 Dragonboard"; 6 model = "Qualcomm APQ8074 Dragonboard";
diff --git a/arch/arm/boot/dts/qcom-apq8084-ifc6540.dts b/arch/arm/boot/dts/qcom-apq8084-ifc6540.dts
index c9ff10821ad9..f7725b96612c 100644
--- a/arch/arm/boot/dts/qcom-apq8084-ifc6540.dts
+++ b/arch/arm/boot/dts/qcom-apq8084-ifc6540.dts
@@ -1,4 +1,5 @@
1#include "qcom-apq8084.dtsi" 1#include "qcom-apq8084.dtsi"
2#include "qcom-pma8084.dtsi"
2 3
3/ { 4/ {
4 model = "Qualcomm APQ8084/IFC6540"; 5 model = "Qualcomm APQ8084/IFC6540";
diff --git a/arch/arm/boot/dts/qcom-apq8084-mtp.dts b/arch/arm/boot/dts/qcom-apq8084-mtp.dts
index 8ecec58a9ff6..cb43acfc5d1d 100644
--- a/arch/arm/boot/dts/qcom-apq8084-mtp.dts
+++ b/arch/arm/boot/dts/qcom-apq8084-mtp.dts
@@ -1,4 +1,5 @@
1#include "qcom-apq8084.dtsi" 1#include "qcom-apq8084.dtsi"
2#include "qcom-pma8084.dtsi"
2 3
3/ { 4/ {
4 model = "Qualcomm APQ 8084-MTP"; 5 model = "Qualcomm APQ 8084-MTP";
diff --git a/arch/arm/boot/dts/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom-apq8084.dtsi
index 1f130bc16858..7084010ee61b 100644
--- a/arch/arm/boot/dts/qcom-apq8084.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8084.dtsi
@@ -21,6 +21,8 @@
21 enable-method = "qcom,kpss-acc-v2"; 21 enable-method = "qcom,kpss-acc-v2";
22 next-level-cache = <&L2>; 22 next-level-cache = <&L2>;
23 qcom,acc = <&acc0>; 23 qcom,acc = <&acc0>;
24 qcom,saw = <&saw0>;
25 cpu-idle-states = <&CPU_SPC>;
24 }; 26 };
25 27
26 cpu@1 { 28 cpu@1 {
@@ -30,6 +32,8 @@
30 enable-method = "qcom,kpss-acc-v2"; 32 enable-method = "qcom,kpss-acc-v2";
31 next-level-cache = <&L2>; 33 next-level-cache = <&L2>;
32 qcom,acc = <&acc1>; 34 qcom,acc = <&acc1>;
35 qcom,saw = <&saw1>;
36 cpu-idle-states = <&CPU_SPC>;
33 }; 37 };
34 38
35 cpu@2 { 39 cpu@2 {
@@ -39,6 +43,8 @@
39 enable-method = "qcom,kpss-acc-v2"; 43 enable-method = "qcom,kpss-acc-v2";
40 next-level-cache = <&L2>; 44 next-level-cache = <&L2>;
41 qcom,acc = <&acc2>; 45 qcom,acc = <&acc2>;
46 qcom,saw = <&saw2>;
47 cpu-idle-states = <&CPU_SPC>;
42 }; 48 };
43 49
44 cpu@3 { 50 cpu@3 {
@@ -48,6 +54,8 @@
48 enable-method = "qcom,kpss-acc-v2"; 54 enable-method = "qcom,kpss-acc-v2";
49 next-level-cache = <&L2>; 55 next-level-cache = <&L2>;
50 qcom,acc = <&acc3>; 56 qcom,acc = <&acc3>;
57 qcom,saw = <&saw3>;
58 cpu-idle-states = <&CPU_SPC>;
51 }; 59 };
52 60
53 L2: l2-cache { 61 L2: l2-cache {
@@ -55,6 +63,16 @@
55 cache-level = <2>; 63 cache-level = <2>;
56 qcom,saw = <&saw_l2>; 64 qcom,saw = <&saw_l2>;
57 }; 65 };
66
67 idle-states {
68 CPU_SPC: spc {
69 compatible = "qcom,idle-state-spc",
70 "arm,idle-state";
71 entry-latency-us = <150>;
72 exit-latency-us = <200>;
73 min-residency-us = <2000>;
74 };
75 };
58 }; 76 };
59 77
60 cpu-pmu { 78 cpu-pmu {
@@ -144,7 +162,27 @@
144 }; 162 };
145 }; 163 };
146 164
147 saw_l2: regulator@f9012000 { 165 saw0: power-controller@f9089000 {
166 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
167 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
168 };
169
170 saw1: power-controller@f9099000 {
171 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
172 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
173 };
174
175 saw2: power-controller@f90a9000 {
176 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
177 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
178 };
179
180 saw3: power-controller@f90b9000 {
181 compatible = "qcom,apq8084-saw2-v2.1-cpu", "qcom,saw2";
182 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
183 };
184
185 saw_l2: power-controller@f9012000 {
148 compatible = "qcom,saw2"; 186 compatible = "qcom,saw2";
149 reg = <0xf9012000 0x1000>; 187 reg = <0xf9012000 0x1000>;
150 regulator; 188 regulator;
@@ -226,5 +264,21 @@
226 clock-names = "core", "iface"; 264 clock-names = "core", "iface";
227 status = "disabled"; 265 status = "disabled";
228 }; 266 };
267
268 spmi_bus: spmi@fc4cf000 {
269 compatible = "qcom,spmi-pmic-arb";
270 reg-names = "core", "intr", "cnfg";
271 reg = <0xfc4cf000 0x1000>,
272 <0xfc4cb000 0x1000>,
273 <0xfc4ca000 0x1000>;
274 interrupt-names = "periph_irq";
275 interrupts = <0 190 0>;
276 qcom,ee = <0>;
277 qcom,channel = <0>;
278 #address-cells = <2>;
279 #size-cells = <0>;
280 interrupt-controller;
281 #interrupt-cells = <4>;
282 };
229 }; 283 };
230}; 284};
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index cb225dafe97c..1bc5fdd0e4b3 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -2,6 +2,7 @@
2 2
3#include "skeleton.dtsi" 3#include "skeleton.dtsi"
4#include <dt-bindings/clock/qcom,gcc-ipq806x.h> 4#include <dt-bindings/clock/qcom,gcc-ipq806x.h>
5#include <dt-bindings/clock/qcom,lcc-ipq806x.h>
5#include <dt-bindings/soc/qcom,gsbi.h> 6#include <dt-bindings/soc/qcom,gsbi.h>
6 7
7/ { 8/ {
@@ -66,6 +67,21 @@
66 ranges; 67 ranges;
67 compatible = "simple-bus"; 68 compatible = "simple-bus";
68 69
70 lpass@28100000 {
71 compatible = "qcom,lpass-cpu";
72 status = "disabled";
73 clocks = <&lcc AHBIX_CLK>,
74 <&lcc MI2S_OSR_CLK>,
75 <&lcc MI2S_BIT_CLK>;
76 clock-names = "ahbix-clk",
77 "mi2s-osr-clk",
78 "mi2s-bit-clk";
79 interrupts = <0 85 1>;
80 interrupt-names = "lpass-irq-lpaif";
81 reg = <0x28100000 0x10000>;
82 reg-names = "lpass-lpaif";
83 };
84
69 qcom_pinmux: pinmux@800000 { 85 qcom_pinmux: pinmux@800000 {
70 compatible = "qcom,ipq8064-pinctrl"; 86 compatible = "qcom,ipq8064-pinctrl";
71 reg = <0x800000 0x4000>; 87 reg = <0x800000 0x4000>;
@@ -120,6 +136,7 @@
120 136
121 gsbi2: gsbi@12480000 { 137 gsbi2: gsbi@12480000 {
122 compatible = "qcom,gsbi-v1.0.0"; 138 compatible = "qcom,gsbi-v1.0.0";
139 cell-index = <2>;
123 reg = <0x12480000 0x100>; 140 reg = <0x12480000 0x100>;
124 clocks = <&gcc GSBI2_H_CLK>; 141 clocks = <&gcc GSBI2_H_CLK>;
125 clock-names = "iface"; 142 clock-names = "iface";
@@ -128,6 +145,8 @@
128 ranges; 145 ranges;
129 status = "disabled"; 146 status = "disabled";
130 147
148 syscon-tcsr = <&tcsr>;
149
131 serial@12490000 { 150 serial@12490000 {
132 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 151 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
133 reg = <0x12490000 0x1000>, 152 reg = <0x12490000 0x1000>,
@@ -155,6 +174,7 @@
155 174
156 gsbi4: gsbi@16300000 { 175 gsbi4: gsbi@16300000 {
157 compatible = "qcom,gsbi-v1.0.0"; 176 compatible = "qcom,gsbi-v1.0.0";
177 cell-index = <4>;
158 reg = <0x16300000 0x100>; 178 reg = <0x16300000 0x100>;
159 clocks = <&gcc GSBI4_H_CLK>; 179 clocks = <&gcc GSBI4_H_CLK>;
160 clock-names = "iface"; 180 clock-names = "iface";
@@ -163,6 +183,8 @@
163 ranges; 183 ranges;
164 status = "disabled"; 184 status = "disabled";
165 185
186 syscon-tcsr = <&tcsr>;
187
166 serial@16340000 { 188 serial@16340000 {
167 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 189 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
168 reg = <0x16340000 0x1000>, 190 reg = <0x16340000 0x1000>,
@@ -189,6 +211,7 @@
189 211
190 gsbi5: gsbi@1a200000 { 212 gsbi5: gsbi@1a200000 {
191 compatible = "qcom,gsbi-v1.0.0"; 213 compatible = "qcom,gsbi-v1.0.0";
214 cell-index = <5>;
192 reg = <0x1a200000 0x100>; 215 reg = <0x1a200000 0x100>;
193 clocks = <&gcc GSBI5_H_CLK>; 216 clocks = <&gcc GSBI5_H_CLK>;
194 clock-names = "iface"; 217 clock-names = "iface";
@@ -197,6 +220,8 @@
197 ranges; 220 ranges;
198 status = "disabled"; 221 status = "disabled";
199 222
223 syscon-tcsr = <&tcsr>;
224
200 serial@1a240000 { 225 serial@1a240000 {
201 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 226 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
202 reg = <0x1a240000 0x1000>, 227 reg = <0x1a240000 0x1000>,
@@ -279,5 +304,18 @@
279 #clock-cells = <1>; 304 #clock-cells = <1>;
280 #reset-cells = <1>; 305 #reset-cells = <1>;
281 }; 306 };
307
308 tcsr: syscon@1a400000 {
309 compatible = "qcom,tcsr-ipq8064", "syscon";
310 reg = <0x1a400000 0x100>;
311 };
312
313 lcc: clock-controller@28000000 {
314 compatible = "qcom,lcc-ipq8064";
315 reg = <0x28000000 0x1000>;
316 #clock-cells = <1>;
317 #reset-cells = <1>;
318 };
319
282 }; 320 };
283}; 321};
diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index 0affd6193f56..20bbd19b996e 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -82,6 +82,7 @@
82 82
83 gsbi12: gsbi@19c00000 { 83 gsbi12: gsbi@19c00000 {
84 compatible = "qcom,gsbi-v1.0.0"; 84 compatible = "qcom,gsbi-v1.0.0";
85 cell-index = <12>;
85 reg = <0x19c00000 0x100>; 86 reg = <0x19c00000 0x100>;
86 clocks = <&gcc GSBI12_H_CLK>; 87 clocks = <&gcc GSBI12_H_CLK>;
87 clock-names = "iface"; 88 clock-names = "iface";
@@ -89,6 +90,8 @@
89 #size-cells = <1>; 90 #size-cells = <1>;
90 ranges; 91 ranges;
91 92
93 syscon-tcsr = <&tcsr>;
94
92 serial@19c40000 { 95 serial@19c40000 {
93 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 96 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
94 reg = <0x19c40000 0x1000>, 97 reg = <0x19c40000 0x1000>,
@@ -196,6 +199,11 @@
196 vmmc-supply = <&vsdcc_fixed>; 199 vmmc-supply = <&vsdcc_fixed>;
197 }; 200 };
198 }; 201 };
202
203 tcsr: syscon@1a400000 {
204 compatible = "qcom,tcsr-msm8660", "syscon";
205 reg = <0x1a400000 0x100>;
206 };
199 }; 207 };
200 208
201}; 209};
diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
index e1b0d5cd9e3c..a02b984cc68d 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -91,6 +91,13 @@
91 reg = <0x900000 0x4000>; 91 reg = <0x900000 0x4000>;
92 }; 92 };
93 93
94 lcc: clock-controller@28000000 {
95 compatible = "qcom,lcc-msm8960";
96 reg = <0x28000000 0x1000>;
97 #clock-cells = <1>;
98 #reset-cells = <1>;
99 };
100
94 clock-controller@4000000 { 101 clock-controller@4000000 {
95 compatible = "qcom,mmcc-msm8960"; 102 compatible = "qcom,mmcc-msm8960";
96 reg = <0x4000000 0x1000>; 103 reg = <0x4000000 0x1000>;
@@ -122,6 +129,7 @@
122 129
123 gsbi5: gsbi@16400000 { 130 gsbi5: gsbi@16400000 {
124 compatible = "qcom,gsbi-v1.0.0"; 131 compatible = "qcom,gsbi-v1.0.0";
132 cell-index = <5>;
125 reg = <0x16400000 0x100>; 133 reg = <0x16400000 0x100>;
126 clocks = <&gcc GSBI5_H_CLK>; 134 clocks = <&gcc GSBI5_H_CLK>;
127 clock-names = "iface"; 135 clock-names = "iface";
@@ -129,6 +137,8 @@
129 #size-cells = <1>; 137 #size-cells = <1>;
130 ranges; 138 ranges;
131 139
140 syscon-tcsr = <&tcsr>;
141
132 serial@16440000 { 142 serial@16440000 {
133 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 143 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
134 reg = <0x16440000 0x1000>, 144 reg = <0x16440000 0x1000>,
@@ -238,5 +248,10 @@
238 vmmc-supply = <&vsdcc_fixed>; 248 vmmc-supply = <&vsdcc_fixed>;
239 }; 249 };
240 }; 250 };
251
252 tcsr: syscon@1a400000 {
253 compatible = "qcom,tcsr-msm8960", "syscon";
254 reg = <0x1a400000 0x100>;
255 };
241 }; 256 };
242}; 257};
diff --git a/arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts b/arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts
index cccc21b7c8fd..bd35b0674ff6 100644
--- a/arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts
@@ -1,4 +1,6 @@
1#include "qcom-msm8974.dtsi" 1#include "qcom-msm8974.dtsi"
2#include "qcom-pm8841.dtsi"
3#include "qcom-pm8941.dtsi"
2 4
3/ { 5/ {
4 model = "Sony Xperia Z1"; 6 model = "Sony Xperia Z1";
diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
index e265ec16a787..37b47b5538b8 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -21,6 +21,8 @@
21 reg = <0>; 21 reg = <0>;
22 next-level-cache = <&L2>; 22 next-level-cache = <&L2>;
23 qcom,acc = <&acc0>; 23 qcom,acc = <&acc0>;
24 qcom,saw = <&saw0>;
25 cpu-idle-states = <&CPU_SPC>;
24 }; 26 };
25 27
26 cpu@1 { 28 cpu@1 {
@@ -30,6 +32,8 @@
30 reg = <1>; 32 reg = <1>;
31 next-level-cache = <&L2>; 33 next-level-cache = <&L2>;
32 qcom,acc = <&acc1>; 34 qcom,acc = <&acc1>;
35 qcom,saw = <&saw1>;
36 cpu-idle-states = <&CPU_SPC>;
33 }; 37 };
34 38
35 cpu@2 { 39 cpu@2 {
@@ -39,6 +43,8 @@
39 reg = <2>; 43 reg = <2>;
40 next-level-cache = <&L2>; 44 next-level-cache = <&L2>;
41 qcom,acc = <&acc2>; 45 qcom,acc = <&acc2>;
46 qcom,saw = <&saw2>;
47 cpu-idle-states = <&CPU_SPC>;
42 }; 48 };
43 49
44 cpu@3 { 50 cpu@3 {
@@ -48,6 +54,8 @@
48 reg = <3>; 54 reg = <3>;
49 next-level-cache = <&L2>; 55 next-level-cache = <&L2>;
50 qcom,acc = <&acc3>; 56 qcom,acc = <&acc3>;
57 qcom,saw = <&saw3>;
58 cpu-idle-states = <&CPU_SPC>;
51 }; 59 };
52 60
53 L2: l2-cache { 61 L2: l2-cache {
@@ -55,6 +63,16 @@
55 cache-level = <2>; 63 cache-level = <2>;
56 qcom,saw = <&saw_l2>; 64 qcom,saw = <&saw_l2>;
57 }; 65 };
66
67 idle-states {
68 CPU_SPC: spc {
69 compatible = "qcom,idle-state-spc",
70 "arm,idle-state";
71 entry-latency-us = <150>;
72 exit-latency-us = <200>;
73 min-residency-us = <2000>;
74 };
75 };
58 }; 76 };
59 77
60 cpu-pmu { 78 cpu-pmu {
@@ -144,7 +162,27 @@
144 }; 162 };
145 }; 163 };
146 164
147 saw_l2: regulator@f9012000 { 165 saw0: power-controller@f9089000 {
166 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
167 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
168 };
169
170 saw1: power-controller@f9099000 {
171 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
172 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
173 };
174
175 saw2: power-controller@f90a9000 {
176 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
177 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
178 };
179
180 saw3: power-controller@f90b9000 {
181 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
182 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
183 };
184
185 saw_l2: power-controller@f9012000 {
148 compatible = "qcom,saw2"; 186 compatible = "qcom,saw2";
149 reg = <0xf9012000 0x1000>; 187 reg = <0xf9012000 0x1000>;
150 regulator; 188 regulator;
@@ -247,5 +285,21 @@
247 #address-cells = <1>; 285 #address-cells = <1>;
248 #size-cells = <0>; 286 #size-cells = <0>;
249 }; 287 };
288
289 spmi_bus: spmi@fc4cf000 {
290 compatible = "qcom,spmi-pmic-arb";
291 reg-names = "core", "intr", "cnfg";
292 reg = <0xfc4cf000 0x1000>,
293 <0xfc4cb000 0x1000>,
294 <0xfc4ca000 0x1000>;
295 interrupt-names = "periph_irq";
296 interrupts = <0 190 0>;
297 qcom,ee = <0>;
298 qcom,channel = <0>;
299 #address-cells = <2>;
300 #size-cells = <0>;
301 interrupt-controller;
302 #interrupt-cells = <4>;
303 };
250 }; 304 };
251}; 305};
diff --git a/arch/arm/boot/dts/qcom-pm8841.dtsi b/arch/arm/boot/dts/qcom-pm8841.dtsi
new file mode 100644
index 000000000000..73813cc118f9
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-pm8841.dtsi
@@ -0,0 +1,18 @@
1#include <dt-bindings/spmi/spmi.h>
2
3&spmi_bus {
4
5 usid4: pm8841@4 {
6 compatible = "qcom,spmi-pmic";
7 reg = <0x4 SPMI_USID>;
8 #address-cells = <1>;
9 #size-cells = <0>;
10 };
11
12 usid5: pm8841@5 {
13 compatible = "qcom,spmi-pmic";
14 reg = <0x5 SPMI_USID>;
15 #address-cells = <1>;
16 #size-cells = <0>;
17 };
18};
diff --git a/arch/arm/boot/dts/qcom-pm8941.dtsi b/arch/arm/boot/dts/qcom-pm8941.dtsi
new file mode 100644
index 000000000000..24c5088acea2
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-pm8941.dtsi
@@ -0,0 +1,18 @@
1#include <dt-bindings/spmi/spmi.h>
2
3&spmi_bus {
4
5 usid0: pm8941@0 {
6 compatible ="qcom,spmi-pmic";
7 reg = <0x0 SPMI_USID>;
8 #address-cells = <1>;
9 #size-cells = <0>;
10 };
11
12 usid1: pm8941@1 {
13 compatible ="qcom,spmi-pmic";
14 reg = <0x1 SPMI_USID>;
15 #address-cells = <1>;
16 #size-cells = <0>;
17 };
18};
diff --git a/arch/arm/boot/dts/qcom-pma8084.dtsi b/arch/arm/boot/dts/qcom-pma8084.dtsi
new file mode 100644
index 000000000000..a5a4fe695a46
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-pma8084.dtsi
@@ -0,0 +1,18 @@
1#include <dt-bindings/spmi/spmi.h>
2
3&spmi_bus {
4
5 usid0: pma8084@0 {
6 compatible = "qcom,spmi-pmic";
7 reg = <0x0 SPMI_USID>;
8 #address-cells = <1>;
9 #size-cells = <0>;
10 };
11
12 usid1: pma8084@1 {
13 compatible = "qcom,spmi-pmic";
14 reg = <0x1 SPMI_USID>;
15 #address-cells = <1>;
16 #size-cells = <0>;
17 };
18};
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm.dts b/arch/arm/boot/dts/r8a73a4-ape6evm.dts
index 0d50bef01234..d1b6a07253ae 100644
--- a/arch/arm/boot/dts/r8a73a4-ape6evm.dts
+++ b/arch/arm/boot/dts/r8a73a4-ape6evm.dts
@@ -95,27 +95,27 @@
95 leds { 95 leds {
96 compatible = "gpio-leds"; 96 compatible = "gpio-leds";
97 led1 { 97 led1 {
98 gpios = <&pfc 28 GPIO_ACTIVE_LOW>; 98 gpios = <&pfc 28 GPIO_ACTIVE_HIGH>;
99 label = "GNSS_EN"; 99 label = "GNSS_EN";
100 }; 100 };
101 led2 { 101 led2 {
102 gpios = <&pfc 126 GPIO_ACTIVE_LOW>; 102 gpios = <&pfc 126 GPIO_ACTIVE_HIGH>;
103 label = "NFC_NRST"; 103 label = "NFC_NRST";
104 }; 104 };
105 led3 { 105 led3 {
106 gpios = <&pfc 132 GPIO_ACTIVE_LOW>; 106 gpios = <&pfc 132 GPIO_ACTIVE_HIGH>;
107 label = "GNSS_NRST"; 107 label = "GNSS_NRST";
108 }; 108 };
109 led4 { 109 led4 {
110 gpios = <&pfc 232 GPIO_ACTIVE_LOW>; 110 gpios = <&pfc 232 GPIO_ACTIVE_HIGH>;
111 label = "BT_WAKEUP"; 111 label = "BT_WAKEUP";
112 }; 112 };
113 led5 { 113 led5 {
114 gpios = <&pfc 250 GPIO_ACTIVE_LOW>; 114 gpios = <&pfc 250 GPIO_ACTIVE_HIGH>;
115 label = "STROBE"; 115 label = "STROBE";
116 }; 116 };
117 led6 { 117 led6 {
118 gpios = <&pfc 288 GPIO_ACTIVE_LOW>; 118 gpios = <&pfc 288 GPIO_ACTIVE_HIGH>;
119 label = "BBRESETOUT"; 119 label = "BBRESETOUT";
120 }; 120 };
121 }; 121 };
@@ -123,10 +123,14 @@
123 keyboard { 123 keyboard {
124 compatible = "gpio-keys"; 124 compatible = "gpio-keys";
125 125
126 pinctrl-names = "default";
127 pinctrl-0 = <&keyboard_pins>;
128
126 zero-key { 129 zero-key {
127 gpios = <&pfc 324 GPIO_ACTIVE_LOW>; 130 gpios = <&pfc 324 GPIO_ACTIVE_LOW>;
128 linux,code = <KEY_0>; 131 linux,code = <KEY_0>;
129 label = "S16"; 132 label = "S16";
133 gpio-key,wakeup;
130 }; 134 };
131 135
132 menu-key { 136 menu-key {
@@ -208,6 +212,12 @@
208 renesas,groups = "sdhi1_data4", "sdhi1_ctrl"; 212 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
209 renesas,function = "sdhi1"; 213 renesas,function = "sdhi1";
210 }; 214 };
215
216 keyboard_pins: keyboard {
217 renesas,pins = "PORT324", "PORT325", "PORT326", "PORT327",
218 "PORT328", "PORT329";
219 bias-pull-up;
220 };
211}; 221};
212 222
213&mmcif0 { 223&mmcif0 {
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index 8a092605d641..83c1c3ca1b8f 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -431,6 +431,18 @@
431 clock-frequency = <27000000>; 431 clock-frequency = <27000000>;
432 clock-output-names = "dv"; 432 clock-output-names = "dv";
433 }; 433 };
434 fmsick_clk: fmsick_clk {
435 compatible = "fixed-clock";
436 #clock-cells = <0>;
437 clock-frequency = <0>;
438 clock-output-names = "fmsick";
439 };
440 fmsock_clk: fmsock_clk {
441 compatible = "fixed-clock";
442 #clock-cells = <0>;
443 clock-frequency = <0>;
444 clock-output-names = "fmsock";
445 };
434 fsiack_clk: fsiack_clk { 446 fsiack_clk: fsiack_clk {
435 compatible = "fixed-clock"; 447 compatible = "fixed-clock";
436 #clock-cells = <0>; 448 #clock-cells = <0>;
@@ -459,13 +471,78 @@
459 }; 471 };
460 472
461 /* Variable factor clocks (DIV6) */ 473 /* Variable factor clocks (DIV6) */
474 vclk1_clk: vclk1_clk@e6150008 {
475 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
476 reg = <0xe6150008 4>;
477 clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
478 <&cpg_clocks R8A7740_CLK_USB24S>,
479 <&extal1_div2_clk>, <&extalr_clk>, <0>,
480 <0>;
481 #clock-cells = <0>;
482 clock-output-names = "vclk1";
483 };
484 vclk2_clk: vclk2_clk@e615000c {
485 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
486 reg = <0xe615000c 4>;
487 clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
488 <&cpg_clocks R8A7740_CLK_USB24S>,
489 <&extal1_div2_clk>, <&extalr_clk>, <0>,
490 <0>;
491 #clock-cells = <0>;
492 clock-output-names = "vclk2";
493 };
494 fmsi_clk: fmsi_clk@e6150010 {
495 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
496 reg = <0xe6150010 4>;
497 clocks = <&pllc1_div2_clk>, <&fmsick_clk>, <0>, <0>;
498 #clock-cells = <0>;
499 clock-output-names = "fmsi";
500 };
501 fmso_clk: fmso_clk@e6150014 {
502 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
503 reg = <0xe6150014 4>;
504 clocks = <&pllc1_div2_clk>, <&fmsock_clk>, <0>, <0>;
505 #clock-cells = <0>;
506 clock-output-names = "fmso";
507 };
508 fsia_clk: fsia_clk@e6150018 {
509 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
510 reg = <0xe6150018 4>;
511 clocks = <&pllc1_div2_clk>, <&fsiack_clk>, <0>, <0>;
512 #clock-cells = <0>;
513 clock-output-names = "fsia";
514 };
462 sub_clk: sub_clk@e6150080 { 515 sub_clk: sub_clk@e6150080 {
463 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock"; 516 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
464 reg = <0xe6150080 4>; 517 reg = <0xe6150080 4>;
465 clocks = <&pllc1_div2_clk>; 518 clocks = <&pllc1_div2_clk>,
519 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
466 #clock-cells = <0>; 520 #clock-cells = <0>;
467 clock-output-names = "sub"; 521 clock-output-names = "sub";
468 }; 522 };
523 spu_clk: spu_clk@e6150084 {
524 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
525 reg = <0xe6150084 4>;
526 clocks = <&pllc1_div2_clk>,
527 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
528 #clock-cells = <0>;
529 clock-output-names = "spu";
530 };
531 vou_clk: vou_clk@e6150088 {
532 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
533 reg = <0xe6150088 4>;
534 clocks = <&pllc1_div2_clk>, <&extal1_clk>, <&dv_clk>,
535 <0>;
536 #clock-cells = <0>;
537 clock-output-names = "vou";
538 };
539 stpro_clk: stpro_clk@e615009c {
540 compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
541 reg = <0xe615009c 4>;
542 clocks = <&cpg_clocks R8A7740_CLK_PLLC0>;
543 #clock-cells = <0>;
544 clock-output-names = "stpro";
545 };
469 546
470 /* Fixed factor clocks */ 547 /* Fixed factor clocks */
471 pllc1_div2_clk: pllc1_div2_clk { 548 pllc1_div2_clk: pllc1_div2_clk {
diff --git a/arch/arm/boot/dts/r8a7779-marzen.dts b/arch/arm/boot/dts/r8a7779-marzen.dts
index e83d40e24bcd..540756cdf391 100644
--- a/arch/arm/boot/dts/r8a7779-marzen.dts
+++ b/arch/arm/boot/dts/r8a7779-marzen.dts
@@ -122,6 +122,12 @@
122 }; 122 };
123 }; 123 };
124 }; 124 };
125
126 x3_clk: x3-clock {
127 compatible = "fixed-clock";
128 #clock-cells = <0>;
129 clock-frequency = <65000000>;
130 };
125}; 131};
126 132
127&du { 133&du {
@@ -129,6 +135,9 @@
129 pinctrl-names = "default"; 135 pinctrl-names = "default";
130 status = "okay"; 136 status = "okay";
131 137
138 clocks = <&mstp1_clks R8A7779_CLK_DU>, <&x3_clk>;
139 clock-names = "du", "dclkin.0";
140
132 ports { 141 ports {
133 port@0 { 142 port@0 {
134 endpoint { 143 endpoint {
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
index 2a0f895c48d0..aaa4f258e279 100644
--- a/arch/arm/boot/dts/r8a7790-lager.dts
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -222,6 +222,29 @@
222 }; 222 };
223 }; 223 };
224 }; 224 };
225
226 hdmi-out {
227 compatible = "hdmi-connector";
228 type = "a";
229
230 port {
231 hdmi_con: endpoint {
232 remote-endpoint = <&adv7511_out>;
233 };
234 };
235 };
236
237 x2_clk: x2-clock {
238 compatible = "fixed-clock";
239 #clock-cells = <0>;
240 clock-frequency = <148500000>;
241 };
242
243 x13_clk: x13-clock {
244 compatible = "fixed-clock";
245 #clock-cells = <0>;
246 clock-frequency = <148500000>;
247 };
225}; 248};
226 249
227&du { 250&du {
@@ -229,12 +252,26 @@
229 pinctrl-names = "default"; 252 pinctrl-names = "default";
230 status = "okay"; 253 status = "okay";
231 254
255 clocks = <&mstp7_clks R8A7790_CLK_DU0>,
256 <&mstp7_clks R8A7790_CLK_DU1>,
257 <&mstp7_clks R8A7790_CLK_DU2>,
258 <&mstp7_clks R8A7790_CLK_LVDS0>,
259 <&mstp7_clks R8A7790_CLK_LVDS1>,
260 <&x13_clk>, <&x2_clk>;
261 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
262 "dclkin.0", "dclkin.1";
263
232 ports { 264 ports {
233 port@0 { 265 port@0 {
234 endpoint { 266 endpoint {
235 remote-endpoint = <&adv7123_in>; 267 remote-endpoint = <&adv7123_in>;
236 }; 268 };
237 }; 269 };
270 port@1 {
271 endpoint {
272 remote-endpoint = <&adv7511_in>;
273 };
274 };
238 port@2 { 275 port@2 {
239 lvds_connector: endpoint { 276 lvds_connector: endpoint {
240 }; 277 };
@@ -506,6 +543,38 @@
506 }; 543 };
507 }; 544 };
508 }; 545 };
546
547 hdmi@39 {
548 compatible = "adi,adv7511w";
549 reg = <0x39>;
550 interrupt-parent = <&gpio1>;
551 interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
552
553 adi,input-depth = <8>;
554 adi,input-colorspace = "rgb";
555 adi,input-clock = "1x";
556 adi,input-style = <1>;
557 adi,input-justification = "evenly";
558
559 ports {
560 #address-cells = <1>;
561 #size-cells = <0>;
562
563 port@0 {
564 reg = <0>;
565 adv7511_in: endpoint {
566 remote-endpoint = <&du_out_lvds0>;
567 };
568 };
569
570 port@1 {
571 reg = <1>;
572 adv7511_out: endpoint {
573 remote-endpoint = <&hdmi_con>;
574 };
575 };
576 };
577 };
509}; 578};
510 579
511&iic3 { 580&iic3 {
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
index 4b38fc920114..4bb2f4c17321 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -1,6 +1,7 @@
1/* 1/*
2 * Device Tree Source for the r8a7790 SoC 2 * Device Tree Source for the r8a7790 SoC
3 * 3 *
4 * Copyright (C) 2015 Renesas Electronics Corporation
4 * Copyright (C) 2013-2014 Renesas Solutions Corp. 5 * Copyright (C) 2013-2014 Renesas Solutions Corp.
5 * Copyright (C) 2014 Cogent Embedded Inc. 6 * Copyright (C) 2014 Cogent Embedded Inc.
6 * 7 *
@@ -369,13 +370,6 @@
369 dma-channels = <13>; 370 dma-channels = <13>;
370 }; 371 };
371 372
372 audmapp: dma-controller@ec740000 {
373 compatible = "renesas,rcar-audmapp";
374 #dma-cells = <1>;
375
376 reg = <0 0xec740000 0 0x200>;
377 };
378
379 i2c0: i2c@e6508000 { 373 i2c0: i2c@e6508000 {
380 #address-cells = <1>; 374 #address-cells = <1>;
381 #size-cells = <0>; 375 #size-cells = <0>;
@@ -493,17 +487,21 @@
493 487
494 sdhi0: sd@ee100000 { 488 sdhi0: sd@ee100000 {
495 compatible = "renesas,sdhi-r8a7790"; 489 compatible = "renesas,sdhi-r8a7790";
496 reg = <0 0xee100000 0 0x200>; 490 reg = <0 0xee100000 0 0x328>;
497 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>; 491 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
498 clocks = <&mstp3_clks R8A7790_CLK_SDHI0>; 492 clocks = <&mstp3_clks R8A7790_CLK_SDHI0>;
493 dmas = <&dmac1 0xcd>, <&dmac1 0xce>;
494 dma-names = "tx", "rx";
499 status = "disabled"; 495 status = "disabled";
500 }; 496 };
501 497
502 sdhi1: sd@ee120000 { 498 sdhi1: sd@ee120000 {
503 compatible = "renesas,sdhi-r8a7790"; 499 compatible = "renesas,sdhi-r8a7790";
504 reg = <0 0xee120000 0 0x200>; 500 reg = <0 0xee120000 0 0x328>;
505 interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>; 501 interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
506 clocks = <&mstp3_clks R8A7790_CLK_SDHI1>; 502 clocks = <&mstp3_clks R8A7790_CLK_SDHI1>;
503 dmas = <&dmac1 0xc9>, <&dmac1 0xca>;
504 dma-names = "tx", "rx";
507 status = "disabled"; 505 status = "disabled";
508 }; 506 };
509 507
@@ -512,6 +510,8 @@
512 reg = <0 0xee140000 0 0x100>; 510 reg = <0 0xee140000 0 0x100>;
513 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>; 511 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
514 clocks = <&mstp3_clks R8A7790_CLK_SDHI2>; 512 clocks = <&mstp3_clks R8A7790_CLK_SDHI2>;
513 dmas = <&dmac1 0xc1>, <&dmac1 0xc2>;
514 dma-names = "tx", "rx";
515 status = "disabled"; 515 status = "disabled";
516 }; 516 };
517 517
@@ -520,6 +520,8 @@
520 reg = <0 0xee160000 0 0x100>; 520 reg = <0 0xee160000 0 0x100>;
521 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>; 521 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
522 clocks = <&mstp3_clks R8A7790_CLK_SDHI3>; 522 clocks = <&mstp3_clks R8A7790_CLK_SDHI3>;
523 dmas = <&dmac1 0xd3>, <&dmac1 0xd4>;
524 dma-names = "tx", "rx";
523 status = "disabled"; 525 status = "disabled";
524 }; 526 };
525 527
@@ -792,6 +794,26 @@
792 }; 794 };
793 }; 795 };
794 796
797 can0: can@e6e80000 {
798 compatible = "renesas,can-r8a7790";
799 reg = <0 0xe6e80000 0 0x1000>;
800 interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
801 clocks = <&mstp9_clks R8A7790_CLK_RCAN0>,
802 <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
803 clock-names = "clkp1", "clkp2", "can_clk";
804 status = "disabled";
805 };
806
807 can1: can@e6e88000 {
808 compatible = "renesas,can-r8a7790";
809 reg = <0 0xe6e88000 0 0x1000>;
810 interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
811 clocks = <&mstp9_clks R8A7790_CLK_RCAN1>,
812 <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
813 clock-names = "clkp1", "clkp2", "can_clk";
814 status = "disabled";
815 };
816
795 clocks { 817 clocks {
796 #address-cells = <2>; 818 #address-cells = <2>;
797 #size-cells = <2>; 819 #size-cells = <2>;
@@ -838,16 +860,34 @@
838 clock-output-names = "audio_clk_c"; 860 clock-output-names = "audio_clk_c";
839 }; 861 };
840 862
863 /* External USB clock - can be overridden by the board */
864 usb_extal_clk: usb_extal_clk {
865 compatible = "fixed-clock";
866 #clock-cells = <0>;
867 clock-frequency = <48000000>;
868 clock-output-names = "usb_extal";
869 };
870
871 /* External CAN clock */
872 can_clk: can_clk {
873 compatible = "fixed-clock";
874 #clock-cells = <0>;
875 /* This value must be overridden by the board. */
876 clock-frequency = <0>;
877 clock-output-names = "can_clk";
878 status = "disabled";
879 };
880
841 /* Special CPG clocks */ 881 /* Special CPG clocks */
842 cpg_clocks: cpg_clocks@e6150000 { 882 cpg_clocks: cpg_clocks@e6150000 {
843 compatible = "renesas,r8a7790-cpg-clocks", 883 compatible = "renesas,r8a7790-cpg-clocks",
844 "renesas,rcar-gen2-cpg-clocks"; 884 "renesas,rcar-gen2-cpg-clocks";
845 reg = <0 0xe6150000 0 0x1000>; 885 reg = <0 0xe6150000 0 0x1000>;
846 clocks = <&extal_clk>; 886 clocks = <&extal_clk &usb_extal_clk>;
847 #clock-cells = <1>; 887 #clock-cells = <1>;
848 clock-output-names = "main", "pll0", "pll1", "pll3", 888 clock-output-names = "main", "pll0", "pll1", "pll3",
849 "lb", "qspi", "sdh", "sd0", "sd1", 889 "lb", "qspi", "sdh", "sd0", "sd1",
850 "z"; 890 "z", "rcan", "adsp";
851 }; 891 };
852 892
853 /* Variable factor clocks */ 893 /* Variable factor clocks */
@@ -1121,18 +1161,21 @@
1121 mstp5_clks: mstp5_clks@e6150144 { 1161 mstp5_clks: mstp5_clks@e6150144 {
1122 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; 1162 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1123 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; 1163 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
1124 clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>; 1164 clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7790_CLK_ADSP>,
1165 <&extal_clk>, <&p_clk>;
1125 #clock-cells = <1>; 1166 #clock-cells = <1>;
1126 clock-indices = < 1167 clock-indices = <
1127 R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1 1168 R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1
1128 R8A7790_CLK_THERMAL R8A7790_CLK_PWM 1169 R8A7790_CLK_ADSP_MOD R8A7790_CLK_THERMAL
1170 R8A7790_CLK_PWM
1129 >; 1171 >;
1130 clock-output-names = "audmac0", "audmac1", "thermal", "pwm"; 1172 clock-output-names = "audmac0", "audmac1", "adsp_mod",
1173 "thermal", "pwm";
1131 }; 1174 };
1132 mstp7_clks: mstp7_clks@e615014c { 1175 mstp7_clks: mstp7_clks@e615014c {
1133 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; 1176 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
1134 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>; 1177 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
1135 clocks = <&mp_clk>, <&mp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>, 1178 clocks = <&mp_clk>, <&hp_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>,
1136 <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, 1179 <&p_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>, <&zx_clk>,
1137 <&zx_clk>; 1180 <&zx_clk>;
1138 #clock-cells = <1>; 1181 #clock-cells = <1>;
@@ -1410,7 +1453,10 @@
1410 reg = <0 0xec500000 0 0x1000>, /* SCU */ 1453 reg = <0 0xec500000 0 0x1000>, /* SCU */
1411 <0 0xec5a0000 0 0x100>, /* ADG */ 1454 <0 0xec5a0000 0 0x100>, /* ADG */
1412 <0 0xec540000 0 0x1000>, /* SSIU */ 1455 <0 0xec540000 0 0x1000>, /* SSIU */
1413 <0 0xec541000 0 0x1280>; /* SSI */ 1456 <0 0xec541000 0 0x1280>, /* SSI */
1457 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1458 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1459
1414 clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>, 1460 clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>,
1415 <&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>, 1461 <&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>,
1416 <&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>, 1462 <&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>,
@@ -1435,34 +1481,171 @@
1435 status = "disabled"; 1481 status = "disabled";
1436 1482
1437 rcar_sound,dvc { 1483 rcar_sound,dvc {
1438 dvc0: dvc@0 { }; 1484 dvc0: dvc@0 {
1439 dvc1: dvc@1 { }; 1485 dmas = <&audma0 0xbc>;
1486 dma-names = "tx";
1487 };
1488 dvc1: dvc@1 {
1489 dmas = <&audma0 0xbe>;
1490 dma-names = "tx";
1491 };
1440 }; 1492 };
1441 1493
1442 rcar_sound,src { 1494 rcar_sound,src {
1443 src0: src@0 { interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>; }; 1495 src0: src@0 {
1444 src1: src@1 { interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>; }; 1496 interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>;
1445 src2: src@2 { interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>; }; 1497 dmas = <&audma0 0x85>, <&audma1 0x9a>;
1446 src3: src@3 { interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>; }; 1498 dma-names = "rx", "tx";
1447 src4: src@4 { interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>; }; 1499 };
1448 src5: src@5 { interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>; }; 1500 src1: src@1 {
1449 src6: src@6 { interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>; }; 1501 interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>;
1450 src7: src@7 { interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>; }; 1502 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1451 src8: src@8 { interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>; }; 1503 dma-names = "rx", "tx";
1452 src9: src@9 { interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>; }; 1504 };
1505 src2: src@2 {
1506 interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>;
1507 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1508 dma-names = "rx", "tx";
1509 };
1510 src3: src@3 {
1511 interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>;
1512 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1513 dma-names = "rx", "tx";
1514 };
1515 src4: src@4 {
1516 interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>;
1517 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1518 dma-names = "rx", "tx";
1519 };
1520 src5: src@5 {
1521 interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>;
1522 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1523 dma-names = "rx", "tx";
1524 };
1525 src6: src@6 {
1526 interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>;
1527 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1528 dma-names = "rx", "tx";
1529 };
1530 src7: src@7 {
1531 interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>;
1532 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1533 dma-names = "rx", "tx";
1534 };
1535 src8: src@8 {
1536 interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>;
1537 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1538 dma-names = "rx", "tx";
1539 };
1540 src9: src@9 {
1541 interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>;
1542 dmas = <&audma0 0x97>, <&audma1 0xba>;
1543 dma-names = "rx", "tx";
1544 };
1453 }; 1545 };
1454 1546
1455 rcar_sound,ssi { 1547 rcar_sound,ssi {
1456 ssi0: ssi@0 { interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; }; 1548 ssi0: ssi@0 {
1457 ssi1: ssi@1 { interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; }; 1549 interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
1458 ssi2: ssi@2 { interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; }; 1550 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
1459 ssi3: ssi@3 { interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; }; 1551 dma-names = "rx", "tx", "rxu", "txu";
1460 ssi4: ssi@4 { interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; }; 1552 };
1461 ssi5: ssi@5 { interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; }; 1553 ssi1: ssi@1 {
1462 ssi6: ssi@6 { interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; }; 1554 interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
1463 ssi7: ssi@7 { interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; }; 1555 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
1464 ssi8: ssi@8 { interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; }; 1556 dma-names = "rx", "tx", "rxu", "txu";
1465 ssi9: ssi@9 { interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; }; 1557 };
1558 ssi2: ssi@2 {
1559 interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
1560 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
1561 dma-names = "rx", "tx", "rxu", "txu";
1562 };
1563 ssi3: ssi@3 {
1564 interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
1565 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
1566 dma-names = "rx", "tx", "rxu", "txu";
1567 };
1568 ssi4: ssi@4 {
1569 interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
1570 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
1571 dma-names = "rx", "tx", "rxu", "txu";
1572 };
1573 ssi5: ssi@5 {
1574 interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
1575 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
1576 dma-names = "rx", "tx", "rxu", "txu";
1577 };
1578 ssi6: ssi@6 {
1579 interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
1580 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
1581 dma-names = "rx", "tx", "rxu", "txu";
1582 };
1583 ssi7: ssi@7 {
1584 interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
1585 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
1586 dma-names = "rx", "tx", "rxu", "txu";
1587 };
1588 ssi8: ssi@8 {
1589 interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
1590 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
1591 dma-names = "rx", "tx", "rxu", "txu";
1592 };
1593 ssi9: ssi@9 {
1594 interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
1595 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
1596 dma-names = "rx", "tx", "rxu", "txu";
1597 };
1466 }; 1598 };
1467 }; 1599 };
1600
1601 ipmmu_sy0: mmu@e6280000 {
1602 compatible = "renesas,ipmmu-vmsa";
1603 reg = <0 0xe6280000 0 0x1000>;
1604 interrupts = <0 223 IRQ_TYPE_LEVEL_HIGH>,
1605 <0 224 IRQ_TYPE_LEVEL_HIGH>;
1606 #iommu-cells = <1>;
1607 status = "disabled";
1608 };
1609
1610 ipmmu_sy1: mmu@e6290000 {
1611 compatible = "renesas,ipmmu-vmsa";
1612 reg = <0 0xe6290000 0 0x1000>;
1613 interrupts = <0 225 IRQ_TYPE_LEVEL_HIGH>;
1614 #iommu-cells = <1>;
1615 status = "disabled";
1616 };
1617
1618 ipmmu_ds: mmu@e6740000 {
1619 compatible = "renesas,ipmmu-vmsa";
1620 reg = <0 0xe6740000 0 0x1000>;
1621 interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
1622 <0 199 IRQ_TYPE_LEVEL_HIGH>;
1623 #iommu-cells = <1>;
1624 status = "disabled";
1625 };
1626
1627 ipmmu_mp: mmu@ec680000 {
1628 compatible = "renesas,ipmmu-vmsa";
1629 reg = <0 0xec680000 0 0x1000>;
1630 interrupts = <0 226 IRQ_TYPE_LEVEL_HIGH>;
1631 #iommu-cells = <1>;
1632 status = "disabled";
1633 };
1634
1635 ipmmu_mx: mmu@fe951000 {
1636 compatible = "renesas,ipmmu-vmsa";
1637 reg = <0 0xfe951000 0 0x1000>;
1638 interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
1639 <0 221 IRQ_TYPE_LEVEL_HIGH>;
1640 #iommu-cells = <1>;
1641 status = "disabled";
1642 };
1643
1644 ipmmu_rt: mmu@ffc80000 {
1645 compatible = "renesas,ipmmu-vmsa";
1646 reg = <0 0xffc80000 0 0x1000>;
1647 interrupts = <0 307 IRQ_TYPE_LEVEL_HIGH>;
1648 #iommu-cells = <1>;
1649 status = "disabled";
1650 };
1468}; 1651};
diff --git a/arch/arm/boot/dts/r8a7791-henninger.dts b/arch/arm/boot/dts/r8a7791-henninger.dts
index d2ebf11f9881..e33e4047b0b0 100644
--- a/arch/arm/boot/dts/r8a7791-henninger.dts
+++ b/arch/arm/boot/dts/r8a7791-henninger.dts
@@ -141,6 +141,11 @@
141 renesas,groups = "vin0_data8", "vin0_clk"; 141 renesas,groups = "vin0_data8", "vin0_clk";
142 renesas,function = "vin0"; 142 renesas,function = "vin0";
143 }; 143 };
144
145 can0_pins: can0 {
146 renesas,groups = "can0_data";
147 renesas,function = "can0";
148 };
144}; 149};
145 150
146&scif0 { 151&scif0 {
@@ -307,3 +312,9 @@
307 }; 312 };
308 }; 313 };
309}; 314};
315
316&can0 {
317 pinctrl-0 = <&can0_pins>;
318 pinctrl-names = "default";
319 status = "okay";
320};
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index b2dcf640d583..74c3212f1f11 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -258,6 +258,29 @@
258 system-clock-frequency = <11289600>; 258 system-clock-frequency = <11289600>;
259 }; 259 };
260 }; 260 };
261
262 hdmi-out {
263 compatible = "hdmi-connector";
264 type = "a";
265
266 port {
267 hdmi_con: endpoint {
268 remote-endpoint = <&adv7511_out>;
269 };
270 };
271 };
272
273 x2_clk: x2-clock {
274 compatible = "fixed-clock";
275 #clock-cells = <0>;
276 clock-frequency = <148500000>;
277 };
278
279 x13_clk: x13-clock {
280 compatible = "fixed-clock";
281 #clock-cells = <0>;
282 clock-frequency = <148500000>;
283 };
261}; 284};
262 285
263&du { 286&du {
@@ -265,7 +288,19 @@
265 pinctrl-names = "default"; 288 pinctrl-names = "default";
266 status = "okay"; 289 status = "okay";
267 290
291 clocks = <&mstp7_clks R8A7791_CLK_DU0>,
292 <&mstp7_clks R8A7791_CLK_DU1>,
293 <&mstp7_clks R8A7791_CLK_LVDS0>,
294 <&x13_clk>, <&x2_clk>;
295 clock-names = "du.0", "du.1", "lvds.0",
296 "dclkin.0", "dclkin.1";
297
268 ports { 298 ports {
299 port@0 {
300 endpoint {
301 remote-endpoint = <&adv7511_in>;
302 };
303 };
269 port@1 { 304 port@1 {
270 lvds_connector: endpoint { 305 lvds_connector: endpoint {
271 }; 306 };
@@ -284,7 +319,7 @@
284 }; 319 };
285 320
286 du_pins: du { 321 du_pins: du {
287 renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0"; 322 renesas,groups = "du_rgb666", "du_sync", "du_disp", "du_clk_out_0";
288 renesas,function = "du"; 323 renesas,function = "du";
289 }; 324 };
290 325
@@ -506,6 +541,38 @@
506 }; 541 };
507 }; 542 };
508 543
544 hdmi@39 {
545 compatible = "adi,adv7511w";
546 reg = <0x39>;
547 interrupt-parent = <&gpio3>;
548 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
549
550 adi,input-depth = <8>;
551 adi,input-colorspace = "rgb";
552 adi,input-clock = "1x";
553 adi,input-style = <1>;
554 adi,input-justification = "evenly";
555
556 ports {
557 #address-cells = <1>;
558 #size-cells = <0>;
559
560 port@0 {
561 reg = <0>;
562 adv7511_in: endpoint {
563 remote-endpoint = <&du_out_rgb>;
564 };
565 };
566
567 port@1 {
568 reg = <1>;
569 adv7511_out: endpoint {
570 remote-endpoint = <&hdmi_con>;
571 };
572 };
573 };
574 };
575
509 eeprom@50 { 576 eeprom@50 {
510 compatible = "renesas,24c02"; 577 compatible = "renesas,24c02";
511 reg = <0x50>; 578 reg = <0x50>;
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
index e35812a0d8d4..4696062f6dde 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -1,7 +1,7 @@
1/* 1/*
2 * Device Tree Source for the r8a7791 SoC 2 * Device Tree Source for the r8a7791 SoC
3 * 3 *
4 * Copyright (C) 2013-2014 Renesas Electronics Corporation 4 * Copyright (C) 2013-2015 Renesas Electronics Corporation
5 * Copyright (C) 2013-2014 Renesas Solutions Corp. 5 * Copyright (C) 2013-2014 Renesas Solutions Corp.
6 * Copyright (C) 2014 Cogent Embedded Inc. 6 * Copyright (C) 2014 Cogent Embedded Inc.
7 * 7 *
@@ -357,13 +357,6 @@
357 dma-channels = <13>; 357 dma-channels = <13>;
358 }; 358 };
359 359
360 audmapp: dma-controller@ec740000 {
361 compatible = "renesas,rcar-audmapp";
362 #dma-cells = <1>;
363
364 reg = <0 0xec740000 0 0x200>;
365 };
366
367 /* The memory map in the User's Manual maps the cores to bus numbers */ 360 /* The memory map in the User's Manual maps the cores to bus numbers */
368 i2c0: i2c@e6508000 { 361 i2c0: i2c@e6508000 {
369 #address-cells = <1>; 362 #address-cells = <1>;
@@ -482,9 +475,11 @@
482 475
483 sdhi0: sd@ee100000 { 476 sdhi0: sd@ee100000 {
484 compatible = "renesas,sdhi-r8a7791"; 477 compatible = "renesas,sdhi-r8a7791";
485 reg = <0 0xee100000 0 0x200>; 478 reg = <0 0xee100000 0 0x328>;
486 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>; 479 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
487 clocks = <&mstp3_clks R8A7791_CLK_SDHI0>; 480 clocks = <&mstp3_clks R8A7791_CLK_SDHI0>;
481 dmas = <&dmac1 0xcd>, <&dmac1 0xce>;
482 dma-names = "tx", "rx";
488 status = "disabled"; 483 status = "disabled";
489 }; 484 };
490 485
@@ -493,6 +488,8 @@
493 reg = <0 0xee140000 0 0x100>; 488 reg = <0 0xee140000 0 0x100>;
494 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>; 489 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
495 clocks = <&mstp3_clks R8A7791_CLK_SDHI1>; 490 clocks = <&mstp3_clks R8A7791_CLK_SDHI1>;
491 dmas = <&dmac1 0xc1>, <&dmac1 0xc2>;
492 dma-names = "tx", "rx";
496 status = "disabled"; 493 status = "disabled";
497 }; 494 };
498 495
@@ -501,6 +498,8 @@
501 reg = <0 0xee160000 0 0x100>; 498 reg = <0 0xee160000 0 0x100>;
502 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>; 499 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
503 clocks = <&mstp3_clks R8A7791_CLK_SDHI2>; 500 clocks = <&mstp3_clks R8A7791_CLK_SDHI2>;
501 dmas = <&dmac1 0xd3>, <&dmac1 0xd4>;
502 dma-names = "tx", "rx";
504 status = "disabled"; 503 status = "disabled";
505 }; 504 };
506 505
@@ -816,6 +815,26 @@
816 }; 815 };
817 }; 816 };
818 817
818 can0: can@e6e80000 {
819 compatible = "renesas,can-r8a7791";
820 reg = <0 0xe6e80000 0 0x1000>;
821 interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
822 clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
823 <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
824 clock-names = "clkp1", "clkp2", "can_clk";
825 status = "disabled";
826 };
827
828 can1: can@e6e88000 {
829 compatible = "renesas,can-r8a7791";
830 reg = <0 0xe6e88000 0 0x1000>;
831 interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
832 clocks = <&mstp9_clks R8A7791_CLK_RCAN1>,
833 <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
834 clock-names = "clkp1", "clkp2", "can_clk";
835 status = "disabled";
836 };
837
819 clocks { 838 clocks {
820 #address-cells = <2>; 839 #address-cells = <2>;
821 #size-cells = <2>; 840 #size-cells = <2>;
@@ -862,31 +881,50 @@
862 status = "disabled"; 881 status = "disabled";
863 }; 882 };
864 883
884 /* External USB clock - can be overridden by the board */
885 usb_extal_clk: usb_extal_clk {
886 compatible = "fixed-clock";
887 #clock-cells = <0>;
888 clock-frequency = <48000000>;
889 clock-output-names = "usb_extal";
890 };
891
892 /* External CAN clock */
893 can_clk: can_clk {
894 compatible = "fixed-clock";
895 #clock-cells = <0>;
896 /* This value must be overridden by the board. */
897 clock-frequency = <0>;
898 clock-output-names = "can_clk";
899 status = "disabled";
900 };
901
865 /* Special CPG clocks */ 902 /* Special CPG clocks */
866 cpg_clocks: cpg_clocks@e6150000 { 903 cpg_clocks: cpg_clocks@e6150000 {
867 compatible = "renesas,r8a7791-cpg-clocks", 904 compatible = "renesas,r8a7791-cpg-clocks",
868 "renesas,rcar-gen2-cpg-clocks"; 905 "renesas,rcar-gen2-cpg-clocks";
869 reg = <0 0xe6150000 0 0x1000>; 906 reg = <0 0xe6150000 0 0x1000>;
870 clocks = <&extal_clk>; 907 clocks = <&extal_clk &usb_extal_clk>;
871 #clock-cells = <1>; 908 #clock-cells = <1>;
872 clock-output-names = "main", "pll0", "pll1", "pll3", 909 clock-output-names = "main", "pll0", "pll1", "pll3",
873 "lb", "qspi", "sdh", "sd0", "z"; 910 "lb", "qspi", "sdh", "sd0", "z",
911 "rcan", "adsp";
874 }; 912 };
875 913
876 /* Variable factor clocks */ 914 /* Variable factor clocks */
877 sd1_clk: sd2_clk@e6150078 { 915 sd2_clk: sd2_clk@e6150078 {
878 compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock"; 916 compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
879 reg = <0 0xe6150078 0 4>; 917 reg = <0 0xe6150078 0 4>;
880 clocks = <&pll1_div2_clk>; 918 clocks = <&pll1_div2_clk>;
881 #clock-cells = <0>; 919 #clock-cells = <0>;
882 clock-output-names = "sd1"; 920 clock-output-names = "sd2";
883 }; 921 };
884 sd2_clk: sd3_clk@e615026c { 922 sd3_clk: sd3_clk@e615026c {
885 compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock"; 923 compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
886 reg = <0 0xe615026c 0 4>; 924 reg = <0 0xe615026c 0 4>;
887 clocks = <&pll1_div2_clk>; 925 clocks = <&pll1_div2_clk>;
888 #clock-cells = <0>; 926 #clock-cells = <0>;
889 clock-output-names = "sd2"; 927 clock-output-names = "sd3";
890 }; 928 };
891 mmc0_clk: mmc0_clk@e6150240 { 929 mmc0_clk: mmc0_clk@e6150240 {
892 compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock"; 930 compatible = "renesas,r8a7791-div6-clock", "renesas,cpg-div6-clock";
@@ -1107,7 +1145,7 @@
1107 mstp3_clks: mstp3_clks@e615013c { 1145 mstp3_clks: mstp3_clks@e615013c {
1108 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; 1146 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
1109 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; 1147 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
1110 clocks = <&cp_clk>, <&sd2_clk>, <&sd1_clk>, <&cpg_clocks R8A7791_CLK_SD0>, 1148 clocks = <&cp_clk>, <&sd3_clk>, <&sd2_clk>, <&cpg_clocks R8A7791_CLK_SD0>,
1111 <&mmc0_clk>, <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>, 1149 <&mmc0_clk>, <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>,
1112 <&hp_clk>, <&hp_clk>; 1150 <&hp_clk>, <&hp_clk>;
1113 #clock-cells = <1>; 1151 #clock-cells = <1>;
@@ -1125,18 +1163,21 @@
1125 mstp5_clks: mstp5_clks@e6150144 { 1163 mstp5_clks: mstp5_clks@e6150144 {
1126 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; 1164 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
1127 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; 1165 reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
1128 clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>; 1166 clocks = <&hp_clk>, <&hp_clk>, <&cpg_clocks R8A7791_CLK_ADSP>,
1167 <&extal_clk>, <&p_clk>;
1129 #clock-cells = <1>; 1168 #clock-cells = <1>;
1130 clock-indices = < 1169 clock-indices = <
1131 R8A7791_CLK_AUDIO_DMAC0 R8A7791_CLK_AUDIO_DMAC1 1170 R8A7791_CLK_AUDIO_DMAC0 R8A7791_CLK_AUDIO_DMAC1
1132 R8A7791_CLK_THERMAL R8A7791_CLK_PWM 1171 R8A7791_CLK_ADSP_MOD R8A7791_CLK_THERMAL
1172 R8A7791_CLK_PWM
1133 >; 1173 >;
1134 clock-output-names = "audmac0", "audmac1", "thermal", "pwm"; 1174 clock-output-names = "audmac0", "audmac1", "adsp_mod",
1175 "thermal", "pwm";
1135 }; 1176 };
1136 mstp7_clks: mstp7_clks@e615014c { 1177 mstp7_clks: mstp7_clks@e615014c {
1137 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; 1178 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
1138 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>; 1179 reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
1139 clocks = <&mp_clk>, <&mp_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>, 1180 clocks = <&mp_clk>, <&hp_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>,
1140 <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>, 1181 <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
1141 <&zx_clk>, <&zx_clk>, <&zx_clk>; 1182 <&zx_clk>, <&zx_clk>, <&zx_clk>;
1142 #clock-cells = <1>; 1183 #clock-cells = <1>;
@@ -1154,7 +1195,7 @@
1154 mstp8_clks: mstp8_clks@e6150990 { 1195 mstp8_clks: mstp8_clks@e6150990 {
1155 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; 1196 compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks";
1156 reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>; 1197 reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>;
1157 clocks = <&zg_clk>, <&hp_clk>, <&zg_clk>, <&zg_clk>, 1198 clocks = <&zx_clk>, <&hp_clk>, <&zg_clk>, <&zg_clk>,
1158 <&zg_clk>, <&p_clk>, <&zs_clk>, <&zs_clk>; 1199 <&zg_clk>, <&p_clk>, <&zs_clk>, <&zs_clk>;
1159 #clock-cells = <1>; 1200 #clock-cells = <1>;
1160 clock-indices = < 1201 clock-indices = <
@@ -1384,6 +1425,66 @@
1384 status = "disabled"; 1425 status = "disabled";
1385 }; 1426 };
1386 1427
1428 ipmmu_sy0: mmu@e6280000 {
1429 compatible = "renesas,ipmmu-vmsa";
1430 reg = <0 0xe6280000 0 0x1000>;
1431 interrupts = <0 223 IRQ_TYPE_LEVEL_HIGH>,
1432 <0 224 IRQ_TYPE_LEVEL_HIGH>;
1433 #iommu-cells = <1>;
1434 status = "disabled";
1435 };
1436
1437 ipmmu_sy1: mmu@e6290000 {
1438 compatible = "renesas,ipmmu-vmsa";
1439 reg = <0 0xe6290000 0 0x1000>;
1440 interrupts = <0 225 IRQ_TYPE_LEVEL_HIGH>;
1441 #iommu-cells = <1>;
1442 status = "disabled";
1443 };
1444
1445 ipmmu_ds: mmu@e6740000 {
1446 compatible = "renesas,ipmmu-vmsa";
1447 reg = <0 0xe6740000 0 0x1000>;
1448 interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
1449 <0 199 IRQ_TYPE_LEVEL_HIGH>;
1450 #iommu-cells = <1>;
1451 status = "disabled";
1452 };
1453
1454 ipmmu_mp: mmu@ec680000 {
1455 compatible = "renesas,ipmmu-vmsa";
1456 reg = <0 0xec680000 0 0x1000>;
1457 interrupts = <0 226 IRQ_TYPE_LEVEL_HIGH>;
1458 #iommu-cells = <1>;
1459 status = "disabled";
1460 };
1461
1462 ipmmu_mx: mmu@fe951000 {
1463 compatible = "renesas,ipmmu-vmsa";
1464 reg = <0 0xfe951000 0 0x1000>;
1465 interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
1466 <0 221 IRQ_TYPE_LEVEL_HIGH>;
1467 #iommu-cells = <1>;
1468 status = "disabled";
1469 };
1470
1471 ipmmu_rt: mmu@ffc80000 {
1472 compatible = "renesas,ipmmu-vmsa";
1473 reg = <0 0xffc80000 0 0x1000>;
1474 interrupts = <0 307 IRQ_TYPE_LEVEL_HIGH>;
1475 #iommu-cells = <1>;
1476 status = "disabled";
1477 };
1478
1479 ipmmu_gp: mmu@e62a0000 {
1480 compatible = "renesas,ipmmu-vmsa";
1481 reg = <0 0xe62a0000 0 0x1000>;
1482 interrupts = <0 260 IRQ_TYPE_LEVEL_HIGH>,
1483 <0 261 IRQ_TYPE_LEVEL_HIGH>;
1484 #iommu-cells = <1>;
1485 status = "disabled";
1486 };
1487
1387 rcar_sound: rcar_sound@ec500000 { 1488 rcar_sound: rcar_sound@ec500000 {
1388 /* 1489 /*
1389 * #sound-dai-cells is required 1490 * #sound-dai-cells is required
@@ -1395,7 +1496,10 @@
1395 reg = <0 0xec500000 0 0x1000>, /* SCU */ 1496 reg = <0 0xec500000 0 0x1000>, /* SCU */
1396 <0 0xec5a0000 0 0x100>, /* ADG */ 1497 <0 0xec5a0000 0 0x100>, /* ADG */
1397 <0 0xec540000 0 0x1000>, /* SSIU */ 1498 <0 0xec540000 0 0x1000>, /* SSIU */
1398 <0 0xec541000 0 0x1280>; /* SSI */ 1499 <0 0xec541000 0 0x1280>, /* SSI */
1500 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1501 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1502
1399 clocks = <&mstp10_clks R8A7791_CLK_SSI_ALL>, 1503 clocks = <&mstp10_clks R8A7791_CLK_SSI_ALL>,
1400 <&mstp10_clks R8A7791_CLK_SSI9>, <&mstp10_clks R8A7791_CLK_SSI8>, 1504 <&mstp10_clks R8A7791_CLK_SSI9>, <&mstp10_clks R8A7791_CLK_SSI8>,
1401 <&mstp10_clks R8A7791_CLK_SSI7>, <&mstp10_clks R8A7791_CLK_SSI6>, 1505 <&mstp10_clks R8A7791_CLK_SSI7>, <&mstp10_clks R8A7791_CLK_SSI6>,
@@ -1420,34 +1524,120 @@
1420 status = "disabled"; 1524 status = "disabled";
1421 1525
1422 rcar_sound,dvc { 1526 rcar_sound,dvc {
1423 dvc0: dvc@0 { }; 1527 dvc0: dvc@0 {
1424 dvc1: dvc@1 { }; 1528 dmas = <&audma0 0xbc>;
1529 dma-names = "tx";
1530 };
1531 dvc1: dvc@1 {
1532 dmas = <&audma0 0xbe>;
1533 dma-names = "tx";
1534 };
1425 }; 1535 };
1426 1536
1427 rcar_sound,src { 1537 rcar_sound,src {
1428 src0: src@0 { interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>; }; 1538 src0: src@0 {
1429 src1: src@1 { interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>; }; 1539 interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>;
1430 src2: src@2 { interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>; }; 1540 dmas = <&audma0 0x85>, <&audma1 0x9a>;
1431 src3: src@3 { interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>; }; 1541 dma-names = "rx", "tx";
1432 src4: src@4 { interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>; }; 1542 };
1433 src5: src@5 { interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>; }; 1543 src1: src@1 {
1434 src6: src@6 { interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>; }; 1544 interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>;
1435 src7: src@7 { interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>; }; 1545 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1436 src8: src@8 { interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>; }; 1546 dma-names = "rx", "tx";
1437 src9: src@9 { interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>; }; 1547 };
1548 src2: src@2 {
1549 interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>;
1550 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1551 dma-names = "rx", "tx";
1552 };
1553 src3: src@3 {
1554 interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>;
1555 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1556 dma-names = "rx", "tx";
1557 };
1558 src4: src@4 {
1559 interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>;
1560 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1561 dma-names = "rx", "tx";
1562 };
1563 src5: src@5 {
1564 interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>;
1565 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1566 dma-names = "rx", "tx";
1567 };
1568 src6: src@6 {
1569 interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>;
1570 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1571 dma-names = "rx", "tx";
1572 };
1573 src7: src@7 {
1574 interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>;
1575 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1576 dma-names = "rx", "tx";
1577 };
1578 src8: src@8 {
1579 interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>;
1580 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1581 dma-names = "rx", "tx";
1582 };
1583 src9: src@9 {
1584 interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>;
1585 dmas = <&audma0 0x97>, <&audma1 0xba>;
1586 dma-names = "rx", "tx";
1587 };
1438 }; 1588 };
1439 1589
1440 rcar_sound,ssi { 1590 rcar_sound,ssi {
1441 ssi0: ssi@0 { interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; }; 1591 ssi0: ssi@0 {
1442 ssi1: ssi@1 { interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; }; 1592 interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
1443 ssi2: ssi@2 { interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; }; 1593 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
1444 ssi3: ssi@3 { interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; }; 1594 dma-names = "rx", "tx", "rxu", "txu";
1445 ssi4: ssi@4 { interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; }; 1595 };
1446 ssi5: ssi@5 { interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; }; 1596 ssi1: ssi@1 {
1447 ssi6: ssi@6 { interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; }; 1597 interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
1448 ssi7: ssi@7 { interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; }; 1598 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
1449 ssi8: ssi@8 { interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; }; 1599 dma-names = "rx", "tx", "rxu", "txu";
1450 ssi9: ssi@9 { interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; }; 1600 };
1601 ssi2: ssi@2 {
1602 interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
1603 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
1604 dma-names = "rx", "tx", "rxu", "txu";
1605 };
1606 ssi3: ssi@3 {
1607 interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
1608 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
1609 dma-names = "rx", "tx", "rxu", "txu";
1610 };
1611 ssi4: ssi@4 {
1612 interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
1613 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
1614 dma-names = "rx", "tx", "rxu", "txu";
1615 };
1616 ssi5: ssi@5 {
1617 interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
1618 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
1619 dma-names = "rx", "tx", "rxu", "txu";
1620 };
1621 ssi6: ssi@6 {
1622 interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
1623 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
1624 dma-names = "rx", "tx", "rxu", "txu";
1625 };
1626 ssi7: ssi@7 {
1627 interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
1628 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
1629 dma-names = "rx", "tx", "rxu", "txu";
1630 };
1631 ssi8: ssi@8 {
1632 interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
1633 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
1634 dma-names = "rx", "tx", "rxu", "txu";
1635 };
1636 ssi9: ssi@9 {
1637 interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
1638 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
1639 dma-names = "rx", "tx", "rxu", "txu";
1640 };
1451 }; 1641 };
1452 }; 1642 };
1453}; 1643};
diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts
index 0d848e605071..928cfa641475 100644
--- a/arch/arm/boot/dts/r8a7794-alt.dts
+++ b/arch/arm/boot/dts/r8a7794-alt.dts
@@ -43,6 +43,19 @@
43 status = "okay"; 43 status = "okay";
44}; 44};
45 45
46&ether {
47 phy-handle = <&phy1>;
48 renesas,ether-link-active-low;
49 status = "okay";
50
51 phy1: ethernet-phy@1 {
52 reg = <1>;
53 interrupt-parent = <&irqc0>;
54 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
55 micrel,led-mode = <1>;
56 };
57};
58
46&scif2 { 59&scif2 {
47 status = "okay"; 60 status = "okay";
48}; 61};
diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
index 8f78da5ef10b..7a3ffa51a8bf 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -107,6 +107,66 @@
107 <0 17 IRQ_TYPE_LEVEL_HIGH>; 107 <0 17 IRQ_TYPE_LEVEL_HIGH>;
108 }; 108 };
109 109
110 dmac0: dma-controller@e6700000 {
111 compatible = "renesas,rcar-dmac";
112 reg = <0 0xe6700000 0 0x20000>;
113 interrupts = <0 197 IRQ_TYPE_LEVEL_HIGH
114 0 200 IRQ_TYPE_LEVEL_HIGH
115 0 201 IRQ_TYPE_LEVEL_HIGH
116 0 202 IRQ_TYPE_LEVEL_HIGH
117 0 203 IRQ_TYPE_LEVEL_HIGH
118 0 204 IRQ_TYPE_LEVEL_HIGH
119 0 205 IRQ_TYPE_LEVEL_HIGH
120 0 206 IRQ_TYPE_LEVEL_HIGH
121 0 207 IRQ_TYPE_LEVEL_HIGH
122 0 208 IRQ_TYPE_LEVEL_HIGH
123 0 209 IRQ_TYPE_LEVEL_HIGH
124 0 210 IRQ_TYPE_LEVEL_HIGH
125 0 211 IRQ_TYPE_LEVEL_HIGH
126 0 212 IRQ_TYPE_LEVEL_HIGH
127 0 213 IRQ_TYPE_LEVEL_HIGH
128 0 214 IRQ_TYPE_LEVEL_HIGH>;
129 interrupt-names = "error",
130 "ch0", "ch1", "ch2", "ch3",
131 "ch4", "ch5", "ch6", "ch7",
132 "ch8", "ch9", "ch10", "ch11",
133 "ch12", "ch13", "ch14";
134 clocks = <&mstp2_clks R8A7794_CLK_SYS_DMAC0>;
135 clock-names = "fck";
136 #dma-cells = <1>;
137 dma-channels = <15>;
138 };
139
140 dmac1: dma-controller@e6720000 {
141 compatible = "renesas,rcar-dmac";
142 reg = <0 0xe6720000 0 0x20000>;
143 interrupts = <0 220 IRQ_TYPE_LEVEL_HIGH
144 0 216 IRQ_TYPE_LEVEL_HIGH
145 0 217 IRQ_TYPE_LEVEL_HIGH
146 0 218 IRQ_TYPE_LEVEL_HIGH
147 0 219 IRQ_TYPE_LEVEL_HIGH
148 0 308 IRQ_TYPE_LEVEL_HIGH
149 0 309 IRQ_TYPE_LEVEL_HIGH
150 0 310 IRQ_TYPE_LEVEL_HIGH
151 0 311 IRQ_TYPE_LEVEL_HIGH
152 0 312 IRQ_TYPE_LEVEL_HIGH
153 0 313 IRQ_TYPE_LEVEL_HIGH
154 0 314 IRQ_TYPE_LEVEL_HIGH
155 0 315 IRQ_TYPE_LEVEL_HIGH
156 0 316 IRQ_TYPE_LEVEL_HIGH
157 0 317 IRQ_TYPE_LEVEL_HIGH
158 0 318 IRQ_TYPE_LEVEL_HIGH>;
159 interrupt-names = "error",
160 "ch0", "ch1", "ch2", "ch3",
161 "ch4", "ch5", "ch6", "ch7",
162 "ch8", "ch9", "ch10", "ch11",
163 "ch12", "ch13", "ch14";
164 clocks = <&mstp2_clks R8A7794_CLK_SYS_DMAC1>;
165 clock-names = "fck";
166 #dma-cells = <1>;
167 dma-channels = <15>;
168 };
169
110 scifa0: serial@e6c40000 { 170 scifa0: serial@e6c40000 {
111 compatible = "renesas,scifa-r8a7794", "renesas,scifa"; 171 compatible = "renesas,scifa-r8a7794", "renesas,scifa";
112 reg = <0 0xe6c40000 0 64>; 172 reg = <0 0xe6c40000 0 64>;
@@ -269,6 +329,41 @@
269 status = "disabled"; 329 status = "disabled";
270 }; 330 };
271 331
332 ether: ethernet@ee700000 {
333 compatible = "renesas,ether-r8a7794";
334 reg = <0 0xee700000 0 0x400>;
335 interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>;
336 clocks = <&mstp8_clks R8A7794_CLK_ETHER>;
337 phy-mode = "rmii";
338 #address-cells = <1>;
339 #size-cells = <0>;
340 status = "disabled";
341 };
342
343 sdhi0: sd@ee100000 {
344 compatible = "renesas,sdhi-r8a7794";
345 reg = <0 0xee100000 0 0x200>;
346 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
347 clocks = <&mstp3_clks R8A7794_CLK_SDHI0>;
348 status = "disabled";
349 };
350
351 sdhi1: sd@ee140000 {
352 compatible = "renesas,sdhi-r8a7794";
353 reg = <0 0xee140000 0 0x100>;
354 interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
355 clocks = <&mstp3_clks R8A7794_CLK_SDHI1>;
356 status = "disabled";
357 };
358
359 sdhi2: sd@ee160000 {
360 compatible = "renesas,sdhi-r8a7794";
361 reg = <0 0xee160000 0 0x100>;
362 interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
363 clocks = <&mstp3_clks R8A7794_CLK_SDHI2>;
364 status = "disabled";
365 };
366
272 clocks { 367 clocks {
273 #address-cells = <2>; 368 #address-cells = <2>;
274 #size-cells = <2>; 369 #size-cells = <2>;
@@ -294,19 +389,19 @@
294 "lb", "qspi", "sdh", "sd0", "z"; 389 "lb", "qspi", "sdh", "sd0", "z";
295 }; 390 };
296 /* Variable factor clocks */ 391 /* Variable factor clocks */
297 sd1_clk: sd2_clk@e6150078 { 392 sd2_clk: sd2_clk@e6150078 {
298 compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock"; 393 compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
299 reg = <0 0xe6150078 0 4>; 394 reg = <0 0xe6150078 0 4>;
300 clocks = <&pll1_div2_clk>; 395 clocks = <&pll1_div2_clk>;
301 #clock-cells = <0>; 396 #clock-cells = <0>;
302 clock-output-names = "sd1"; 397 clock-output-names = "sd2";
303 }; 398 };
304 sd2_clk: sd3_clk@e615007c { 399 sd3_clk: sd3_clk@e615026c {
305 compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock"; 400 compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
306 reg = <0 0xe615007c 0 4>; 401 reg = <0 0xe615026c 0 4>;
307 clocks = <&pll1_div2_clk>; 402 clocks = <&pll1_div2_clk>;
308 #clock-cells = <0>; 403 #clock-cells = <0>;
309 clock-output-names = "sd2"; 404 clock-output-names = "sd3";
310 }; 405 };
311 mmc0_clk: mmc0_clk@e6150240 { 406 mmc0_clk: mmc0_clk@e6150240 {
312 compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock"; 407 compatible = "renesas,r8a7794-div6-clock", "renesas,cpg-div6-clock";
@@ -518,7 +613,7 @@
518 mstp3_clks: mstp3_clks@e615013c { 613 mstp3_clks: mstp3_clks@e615013c {
519 compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; 614 compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
520 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; 615 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
521 clocks = <&sd2_clk>, <&sd1_clk>, <&cpg_clocks R8A7794_CLK_SD0>, 616 clocks = <&sd3_clk>, <&sd2_clk>, <&cpg_clocks R8A7794_CLK_SD0>,
522 <&mmc0_clk>, <&rclk_clk>, <&hp_clk>, <&hp_clk>; 617 <&mmc0_clk>, <&rclk_clk>, <&hp_clk>, <&hp_clk>;
523 #clock-cells = <1>; 618 #clock-cells = <1>;
524 clock-indices = < 619 clock-indices = <
@@ -585,4 +680,54 @@
585 clock-output-names = "scifa3", "scifa4", "scifa5"; 680 clock-output-names = "scifa3", "scifa4", "scifa5";
586 }; 681 };
587 }; 682 };
683
684 ipmmu_sy0: mmu@e6280000 {
685 compatible = "renesas,ipmmu-vmsa";
686 reg = <0 0xe6280000 0 0x1000>;
687 interrupts = <0 223 IRQ_TYPE_LEVEL_HIGH>,
688 <0 224 IRQ_TYPE_LEVEL_HIGH>;
689 #iommu-cells = <1>;
690 status = "disabled";
691 };
692
693 ipmmu_sy1: mmu@e6290000 {
694 compatible = "renesas,ipmmu-vmsa";
695 reg = <0 0xe6290000 0 0x1000>;
696 interrupts = <0 225 IRQ_TYPE_LEVEL_HIGH>;
697 #iommu-cells = <1>;
698 status = "disabled";
699 };
700
701 ipmmu_ds: mmu@e6740000 {
702 compatible = "renesas,ipmmu-vmsa";
703 reg = <0 0xe6740000 0 0x1000>;
704 interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
705 <0 199 IRQ_TYPE_LEVEL_HIGH>;
706 #iommu-cells = <1>;
707 };
708
709 ipmmu_mp: mmu@ec680000 {
710 compatible = "renesas,ipmmu-vmsa";
711 reg = <0 0xec680000 0 0x1000>;
712 interrupts = <0 226 IRQ_TYPE_LEVEL_HIGH>;
713 #iommu-cells = <1>;
714 status = "disabled";
715 };
716
717 ipmmu_mx: mmu@fe951000 {
718 compatible = "renesas,ipmmu-vmsa";
719 reg = <0 0xfe951000 0 0x1000>;
720 interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
721 <0 221 IRQ_TYPE_LEVEL_HIGH>;
722 #iommu-cells = <1>;
723 };
724
725 ipmmu_gp: mmu@e62a0000 {
726 compatible = "renesas,ipmmu-vmsa";
727 reg = <0 0xe62a0000 0 0x1000>;
728 interrupts = <0 260 IRQ_TYPE_LEVEL_HIGH>,
729 <0 261 IRQ_TYPE_LEVEL_HIGH>;
730 #iommu-cells = <1>;
731 status = "disabled";
732 };
588}; 733};
diff --git a/arch/arm/boot/dts/rk3188-radxarock.dts b/arch/arm/boot/dts/rk3188-radxarock.dts
index 9a09579b8309..bdf85701987d 100644
--- a/arch/arm/boot/dts/rk3188-radxarock.dts
+++ b/arch/arm/boot/dts/rk3188-radxarock.dts
@@ -103,6 +103,14 @@
103 regulator-always-on; 103 regulator-always-on;
104 regulator-boot-on; 104 regulator-boot-on;
105 }; 105 };
106
107 vsys: vsys-regulator {
108 compatible = "regulator-fixed";
109 regulator-name = "vsys";
110 regulator-min-microvolt = <5000000>;
111 regulator-max-microvolt = <5000000>;
112 regulator-boot-on;
113 };
106}; 114};
107 115
108&emac { 116&emac {
@@ -148,6 +156,14 @@
148 pinctrl-names = "default"; 156 pinctrl-names = "default";
149 pinctrl-0 = <&act8846_dvs0_ctl>; 157 pinctrl-0 = <&act8846_dvs0_ctl>;
150 158
159 vp1-supply = <&vsys>;
160 vp2-supply = <&vsys>;
161 vp3-supply = <&vsys>;
162 vp4-supply = <&vsys>;
163 inl1-supply = <&vcc_io>;
164 inl2-supply = <&vsys>;
165 inl3-supply = <&vsys>;
166
151 regulators { 167 regulators {
152 vcc_ddr: REG1 { 168 vcc_ddr: REG1 {
153 regulator-name = "VCC_DDR"; 169 regulator-name = "VCC_DDR";
diff --git a/arch/arm/boot/dts/rk3288-evb-act8846.dts b/arch/arm/boot/dts/rk3288-evb-act8846.dts
index d7b8bbc0c25f..1687e8336994 100644
--- a/arch/arm/boot/dts/rk3288-evb-act8846.dts
+++ b/arch/arm/boot/dts/rk3288-evb-act8846.dts
@@ -33,6 +33,7 @@
33 regulator-max-microvolt = <1350000>; 33 regulator-max-microvolt = <1350000>;
34 regulator-always-on; 34 regulator-always-on;
35 regulator-boot-on; 35 regulator-boot-on;
36 vin-supply = <&vcc_sys>;
36 }; 37 };
37 38
38 vdd_gpu: syr828@41 { 39 vdd_gpu: syr828@41 {
@@ -43,6 +44,7 @@
43 regulator-min-microvolt = <850000>; 44 regulator-min-microvolt = <850000>;
44 regulator-max-microvolt = <1350000>; 45 regulator-max-microvolt = <1350000>;
45 regulator-always-on; 46 regulator-always-on;
47 vin-supply = <&vcc_sys>;
46 }; 48 };
47 49
48 hym8563@51 { 50 hym8563@51 {
@@ -64,6 +66,14 @@
64 reg = <0x5a>; 66 reg = <0x5a>;
65 status = "okay"; 67 status = "okay";
66 68
69 vp1-supply = <&vcc_sys>;
70 vp2-supply = <&vcc_sys>;
71 vp3-supply = <&vcc_sys>;
72 vp4-supply = <&vcc_sys>;
73 inl1-supply = <&vcc_io>;
74 inl2-supply = <&vcc_sys>;
75 inl3-supply = <&vcc_20>;
76
67 regulators { 77 regulators {
68 vcc_ddr: REG1 { 78 vcc_ddr: REG1 {
69 regulator-name = "VCC_DDR"; 79 regulator-name = "VCC_DDR";
diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts b/arch/arm/boot/dts/rk3288-evb-rk808.dts
index a1c294bf7fed..f62ea78754a9 100644
--- a/arch/arm/boot/dts/rk3288-evb-rk808.dts
+++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts
@@ -43,9 +43,16 @@
43 #clock-cells = <1>; 43 #clock-cells = <1>;
44 clock-output-names = "xin32k", "rk808-clkout2"; 44 clock-output-names = "xin32k", "rk808-clkout2";
45 45
46 vcc1-supply = <&vcc_sys>;
47 vcc2-supply = <&vcc_sys>;
48 vcc3-supply = <&vcc_sys>;
49 vcc4-supply = <&vcc_sys>;
50 vcc6-supply = <&vcc_sys>;
51 vcc7-supply = <&vcc_sys>;
46 vcc8-supply = <&vcc_18>; 52 vcc8-supply = <&vcc_18>;
47 vcc9-supply = <&vcc_io>; 53 vcc9-supply = <&vcc_io>;
48 vcc10-supply = <&vcc_io>; 54 vcc10-supply = <&vcc_io>;
55 vcc11-supply = <&vcc_sys>;
49 vcc12-supply = <&vcc_io>; 56 vcc12-supply = <&vcc_io>;
50 vddio-supply = <&vccio_pmu>; 57 vddio-supply = <&vccio_pmu>;
51 58
diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi
index 5e895a514a0b..4a457518d861 100644
--- a/arch/arm/boot/dts/rk3288-evb.dtsi
+++ b/arch/arm/boot/dts/rk3288-evb.dtsi
@@ -103,6 +103,15 @@
103 regulator-always-on; 103 regulator-always-on;
104 regulator-boot-on; 104 regulator-boot-on;
105 }; 105 };
106
107 vcc_sys: vsys-regulator {
108 compatible = "regulator-fixed";
109 regulator-name = "vcc_sys";
110 regulator-min-microvolt = <5000000>;
111 regulator-max-microvolt = <5000000>;
112 regulator-always-on;
113 regulator-boot-on;
114 };
106}; 115};
107 116
108&emmc { 117&emmc {
@@ -238,6 +247,10 @@
238 }; 247 };
239}; 248};
240 249
250&usbphy {
251 status = "okay";
252};
253
241&usb_host0_ehci { 254&usb_host0_ehci {
242 status = "okay"; 255 status = "okay";
243}; 256};
diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi
index e6f873abbe0d..b54dd78580c1 100644
--- a/arch/arm/boot/dts/rk3288-firefly.dtsi
+++ b/arch/arm/boot/dts/rk3288-firefly.dtsi
@@ -179,6 +179,22 @@
179 status = "okay"; 179 status = "okay";
180}; 180};
181 181
182&gmac {
183 assigned-clocks = <&cru SCLK_MAC>;
184 assigned-clock-parents = <&ext_gmac>;
185 clock_in_out = "input";
186 pinctrl-names = "default";
187 pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
188 phy-supply = <&vcc_lan>;
189 phy-mode = "rgmii";
190 snps,reset-active-low;
191 snps,reset-delays-us = <0 10000 1000000>;
192 snps,reset-gpio = <&gpio4 8 GPIO_ACTIVE_LOW>;
193 tx_delay = <0x30>;
194 rx_delay = <0x10>;
195 status = "ok";
196};
197
182&hdmi { 198&hdmi {
183 ddc-i2c-bus = <&i2c5>; 199 ddc-i2c-bus = <&i2c5>;
184 status = "okay"; 200 status = "okay";
@@ -459,6 +475,10 @@
459 status = "okay"; 475 status = "okay";
460}; 476};
461 477
478&usbphy {
479 status = "okay";
480};
481
462&usb_host1 { 482&usb_host1 {
463 pinctrl-names = "default"; 483 pinctrl-names = "default";
464 pinctrl-0 = <&usbhub_rst>; 484 pinctrl-0 = <&usbhub_rst>;
diff --git a/arch/arm/boot/dts/rk3288-popmetal.dts b/arch/arm/boot/dts/rk3288-popmetal.dts
new file mode 100644
index 000000000000..d081f0e0da36
--- /dev/null
+++ b/arch/arm/boot/dts/rk3288-popmetal.dts
@@ -0,0 +1,447 @@
1/*
2 * Copyright (c) 2014, 2015 Andy Yan <andy.yan@rock-chips.com>
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This file is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This file is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/dts-v1/;
44
45#include "rk3288.dtsi"
46
47/ {
48 model = "PopMetal-RK3288";
49 compatible = "chipspark,popmetal-rk3288", "rockchip,rk3288";
50
51 memory{
52 reg = <0 0x80000000>;
53 };
54
55 ext_gmac: external-gmac-clock {
56 compatible = "fixed-clock";
57 clock-frequency = <125000000>;
58 clock-output-names = "ext_gmac";
59 #clock-cells = <0>;
60 };
61
62 gpio-keys {
63 compatible = "gpio-keys";
64 #address-cells = <1>;
65 #size-cells = <0>;
66 autorepeat;
67
68 pinctrl-names = "default";
69 pinctrl-0 = <&pwrbtn>;
70
71 button@0 {
72 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
73 linux,code = <116>;
74 label = "GPIO Key Power";
75 linux,input-type = <1>;
76 gpio-key,wakeup = <1>;
77 debounce-interval = <100>;
78 };
79 };
80
81 ir: ir-receiver {
82 compatible = "gpio-ir-receiver";
83 gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
84 pinctrl-names = "default";
85 pinctrl-0 = <&ir_int>;
86 };
87
88 vcc_sys: vsys-regulator {
89 compatible = "regulator-fixed";
90 regulator-name = "vcc_sys";
91 regulator-min-microvolt = <5000000>;
92 regulator-max-microvolt = <5000000>;
93 regulator-always-on;
94 regulator-boot-on;
95 };
96};
97
98&cpu0 {
99 cpu0-supply = <&vdd_cpu>;
100};
101
102&emmc {
103 broken-cd;
104 bus-width = <8>;
105 cap-mmc-highspeed;
106 disable-wp;
107 non-removable;
108 num-slots = <1>;
109 pinctrl-names = "default";
110 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
111 status = "okay";
112};
113
114&sdmmc {
115 bus-width = <4>;
116 cap-mmc-highspeed;
117 cap-sd-highspeed;
118 card-detect-delay = <200>;
119 disable-wp; /* wp not hooked up */
120 num-slots = <1>;
121 pinctrl-names = "default";
122 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
123 status = "okay";
124};
125
126&gmac {
127 phy-supply = <&vcc_lan>;
128 phy-mode = "rgmii";
129 clock_in_out = "input";
130 snps,reset-gpio = <&gpio4 7 0>;
131 snps,reset-active-low;
132 snps,reset-delays-us = <0 10000 1000000>;
133 assigned-clocks = <&cru SCLK_MAC>;
134 assigned-clock-parents = <&ext_gmac>;
135 pinctrl-names = "default";
136 pinctrl-0 = <&rgmii_pins>;
137 tx_delay = <0x30>;
138 rx_delay = <0x10>;
139 status = "ok";
140};
141
142&hdmi {
143 ddc-i2c-bus = <&i2c5>;
144 status = "okay";
145};
146
147&i2c0 {
148 status = "okay";
149 clock-frequency = <400000>;
150
151 rk808: pmic@1b {
152 compatible = "rockchip,rk808";
153 reg = <0x1b>;
154 interrupt-parent = <&gpio0>;
155 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
156 pinctrl-names = "default";
157 pinctrl-0 = <&pmic_int &global_pwroff>;
158 rockchip,system-power-controller;
159 wakeup-source;
160 #clock-cells = <1>;
161 clock-output-names = "xin32k", "rk808-clkout2";
162
163 vcc1-supply = <&vcc_sys>;
164 vcc2-supply = <&vcc_sys>;
165 vcc3-supply = <&vcc_sys>;
166 vcc4-supply = <&vcc_sys>;
167 vcc6-supply = <&vcc_sys>;
168 vcc7-supply = <&vcc_sys>;
169 vcc8-supply = <&vcc_18>;
170 vcc9-supply = <&vcc_io>;
171 vcc10-supply = <&vcc_io>;
172 vcc11-supply = <&vcc_sys>;
173 vcc12-supply = <&vcc_io>;
174 vddio-supply = <&vcc_io>;
175
176 regulators {
177 vdd_cpu: DCDC_REG1 {
178 regulator-always-on;
179 regulator-boot-on;
180 regulator-min-microvolt = <750000>;
181 regulator-max-microvolt = <1350000>;
182 regulator-name = "vdd_arm";
183 regulator-state-mem {
184 regulator-off-in-suspend;
185 };
186 };
187
188 vdd_gpu: DCDC_REG2 {
189 regulator-always-on;
190 regulator-boot-on;
191 regulator-min-microvolt = <850000>;
192 regulator-max-microvolt = <1250000>;
193 regulator-name = "vdd_gpu";
194 regulator-state-mem {
195 regulator-on-in-suspend;
196 regulator-suspend-microvolt = <1000000>;
197 };
198 };
199
200 vcc_ddr: DCDC_REG3 {
201 regulator-always-on;
202 regulator-boot-on;
203 regulator-name = "vcc_ddr";
204 regulator-state-mem {
205 regulator-on-in-suspend;
206 };
207 };
208
209 vcc_io: DCDC_REG4 {
210 regulator-always-on;
211 regulator-boot-on;
212 regulator-min-microvolt = <3300000>;
213 regulator-max-microvolt = <3300000>;
214 regulator-name = "vcc_io";
215 regulator-state-mem {
216 regulator-on-in-suspend;
217 regulator-suspend-microvolt = <3300000>;
218 };
219 };
220
221 vcc_lan: LDO_REG1 {
222 regulator-always-on;
223 regulator-boot-on;
224 regulator-min-microvolt = <3300000>;
225 regulator-max-microvolt = <3300000>;
226 regulator-name = "vcc_lan";
227 regulator-state-mem {
228 regulator-on-in-suspend;
229 regulator-suspend-microvolt = <3300000>;
230 };
231 };
232
233 vccio_sd: LDO_REG2 {
234 regulator-always-on;
235 regulator-boot-on;
236 regulator-min-microvolt = <3300000>;
237 regulator-max-microvolt = <3300000>;
238 regulator-name = "vccio_sd";
239 regulator-state-mem {
240 regulator-off-in-suspend;
241 };
242 };
243
244 vdd_10: LDO_REG3 {
245 regulator-always-on;
246 regulator-boot-on;
247 regulator-min-microvolt = <1000000>;
248 regulator-max-microvolt = <1000000>;
249 regulator-name = "vdd_10";
250 regulator-state-mem {
251 regulator-on-in-suspend;
252 regulator-suspend-microvolt = <1000000>;
253 };
254 };
255
256 vcc18_lcd: LDO_REG4 {
257 regulator-always-on;
258 regulator-boot-on;
259 regulator-min-microvolt = <1800000>;
260 regulator-max-microvolt = <1800000>;
261 regulator-name = "vcc18_lcd";
262 regulator-state-mem {
263 regulator-on-in-suspend;
264 regulator-suspend-microvolt = <1800000>;
265 };
266 };
267
268 ldo5: LDO_REG5 {
269 regulator-always-on;
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <3300000>;
272 regulator-name = "ldo5";
273 };
274
275 vdd10_lcd: LDO_REG6 {
276 regulator-always-on;
277 regulator-boot-on;
278 regulator-min-microvolt = <1000000>;
279 regulator-max-microvolt = <1000000>;
280 regulator-name = "vdd10_lcd";
281 regulator-state-mem {
282 regulator-on-in-suspend;
283 regulator-suspend-microvolt = <1000000>;
284 };
285 };
286
287 vcc_18: LDO_REG7 {
288 regulator-always-on;
289 regulator-boot-on;
290 regulator-min-microvolt = <1800000>;
291 regulator-max-microvolt = <1800000>;
292 regulator-name = "vcc_18";
293 regulator-state-mem {
294 regulator-on-in-suspend;
295 regulator-suspend-microvolt = <1800000>;
296 };
297 };
298
299 vcca_codec: LDO_REG8 {
300 regulator-always-on;
301 regulator-boot-on;
302 regulator-min-microvolt = <3300000>;
303 regulator-max-microvolt = <3300000>;
304 regulator-name = "vcca_codec";
305 regulator-state-mem {
306 regulator-on-in-suspend;
307 regulator-suspend-microvolt = <3300000>;
308 };
309 };
310
311 vcc_wl: SWITCH_REG1 {
312 regulator-always-on;
313 regulator-boot-on;
314 regulator-name = "vcc_wl";
315 regulator-state-mem {
316 regulator-on-in-suspend;
317 };
318 };
319
320 vcc_lcd: SWITCH_REG2 {
321 regulator-always-on;
322 regulator-boot-on;
323 regulator-name = "vcc_lcd";
324 regulator-state-mem {
325 regulator-on-in-suspend;
326 };
327 };
328 };
329 };
330};
331
332&i2c1 {
333 status = "okay";
334 clock-frequency = <400000>;
335
336 ak8963: ak8963@0d {
337 compatible = "asahi-kasei,ak8975";
338 reg = <0x0d>;
339 interrupt-parent = <&gpio8>;
340 interrupts = <1 IRQ_TYPE_EDGE_RISING>;
341 pinctrl-names = "default";
342 pinctrl-0 = <&comp_int>;
343 };
344
345 l3g4200d: l3g4200d@68 {
346 compatible = "st,l3g4200d-gyro";
347 st,drdy-int-pin = <2>;
348 reg = <0x6b>;
349 };
350
351 mma8452: mma8452@1d {
352 compatible = "fsl,mma8452";
353 reg = <0x1d>;
354 interrupt-parent = <&gpio8>;
355 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
356 pinctrl-names = "default";
357 pinctrl-0 = <&gsensor_int>;
358 };
359};
360
361&i2c2 {
362 status = "okay";
363};
364
365&i2c3 {
366 status = "okay";
367};
368
369&i2c4 {
370 status = "okay";
371};
372
373&i2c5 {
374 status = "okay";
375};
376
377&pinctrl {
378 ak8963 {
379 comp_int: comp-int {
380 rockchip,pins = <8 1 RK_FUNC_GPIO &pcfg_pull_up>;
381 };
382 };
383
384 buttons {
385 pwrbtn: pwrbtn {
386 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
387 };
388 };
389
390 ir {
391 ir_int: ir-int {
392 rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_up>;
393 };
394 };
395
396 mma8452 {
397 gsensor_int: gsensor-int {
398 rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_up>;
399 };
400 };
401
402 pmic {
403 pmic_int: pmic-int {
404 rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
405 };
406 };
407};
408
409&vopb {
410 status = "okay";
411};
412
413&vopb_mmu {
414 status = "okay";
415};
416
417&vopl {
418 status = "okay";
419};
420
421&vopl_mmu {
422 status = "okay";
423};
424
425&uart0 {
426 status = "okay";
427};
428
429&uart1 {
430 status = "okay";
431};
432
433&uart2 {
434 status = "okay";
435};
436
437&uart3 {
438 status = "okay";
439};
440
441&uart4 {
442 status = "okay";
443};
444
445&usbphy {
446 status = "okay";
447};
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index eccc78d3220b..165968d51d8f 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -420,6 +420,8 @@
420 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 420 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
421 clocks = <&cru HCLK_USBHOST0>; 421 clocks = <&cru HCLK_USBHOST0>;
422 clock-names = "usbhost"; 422 clock-names = "usbhost";
423 phys = <&usbphy1>;
424 phy-names = "usb";
423 status = "disabled"; 425 status = "disabled";
424 }; 426 };
425 427
@@ -432,6 +434,8 @@
432 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 434 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
433 clocks = <&cru HCLK_USBHOST1>; 435 clocks = <&cru HCLK_USBHOST1>;
434 clock-names = "otg"; 436 clock-names = "otg";
437 phys = <&usbphy2>;
438 phy-names = "usb2-phy";
435 status = "disabled"; 439 status = "disabled";
436 }; 440 };
437 441
@@ -442,6 +446,8 @@
442 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 446 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
443 clocks = <&cru HCLK_OTG0>; 447 clocks = <&cru HCLK_OTG0>;
444 clock-names = "otg"; 448 clock-names = "otg";
449 phys = <&usbphy0>;
450 phy-names = "usb2-phy";
445 status = "disabled"; 451 status = "disabled";
446 }; 452 };
447 453
@@ -698,6 +704,35 @@
698 interrupts = <GIC_PPI 9 0xf04>; 704 interrupts = <GIC_PPI 9 0xf04>;
699 }; 705 };
700 706
707 usbphy: phy {
708 compatible = "rockchip,rk3288-usb-phy";
709 rockchip,grf = <&grf>;
710 #address-cells = <1>;
711 #size-cells = <0>;
712 status = "disabled";
713
714 usbphy0: usb-phy0 {
715 #phy-cells = <0>;
716 reg = <0x320>;
717 clocks = <&cru SCLK_OTGPHY0>;
718 clock-names = "phyclk";
719 };
720
721 usbphy1: usb-phy1 {
722 #phy-cells = <0>;
723 reg = <0x334>;
724 clocks = <&cru SCLK_OTGPHY1>;
725 clock-names = "phyclk";
726 };
727
728 usbphy2: usb-phy2 {
729 #phy-cells = <0>;
730 reg = <0x348>;
731 clocks = <&cru SCLK_OTGPHY2>;
732 clock-names = "phyclk";
733 };
734 };
735
701 pinctrl: pinctrl { 736 pinctrl: pinctrl {
702 compatible = "rockchip,rk3288-pinctrl"; 737 compatible = "rockchip,rk3288-pinctrl";
703 rockchip,grf = <&grf>; 738 rockchip,grf = <&grf>;
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index c0a8dfcf8380..57ab8587f7b9 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -26,6 +26,7 @@
26 serial2 = &usart1; 26 serial2 = &usart1;
27 serial3 = &usart2; 27 serial3 = &usart2;
28 serial4 = &usart3; 28 serial4 = &usart3;
29 serial5 = &uart0;
29 gpio0 = &pioA; 30 gpio0 = &pioA;
30 gpio1 = &pioB; 31 gpio1 = &pioB;
31 gpio2 = &pioC; 32 gpio2 = &pioC;
@@ -206,6 +207,17 @@
206 status = "disabled"; 207 status = "disabled";
207 }; 208 };
208 209
210 uart0: serial@f0024000 {
211 compatible = "atmel,at91sam9260-usart";
212 reg = <0xf0024000 0x100>;
213 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
214 pinctrl-names = "default";
215 pinctrl-0 = <&pinctrl_uart0>;
216 clocks = <&uart0_clk>;
217 clock-names = "usart";
218 status = "disabled";
219 };
220
209 pwm0: pwm@f002c000 { 221 pwm0: pwm@f002c000 {
210 compatible = "atmel,sama5d3-pwm"; 222 compatible = "atmel,sama5d3-pwm";
211 reg = <0xf002c000 0x300>; 223 reg = <0xf002c000 0x300>;
@@ -764,6 +776,22 @@
764 }; 776 };
765 }; 777 };
766 778
779 uart0 {
780 pinctrl_uart0: uart0-0 {
781 atmel,pins =
782 <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* conflicts with PWMFI2, ISI_D8 */
783 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* conflicts with ISI_PCK */
784 };
785 };
786
787 uart1 {
788 pinctrl_uart1: uart1-0 {
789 atmel,pins =
790 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* conflicts with TWD0, ISI_VSYNC */
791 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* conflicts with TWCK0, ISI_HSYNC */
792 };
793 };
794
767 usart0 { 795 usart0 {
768 pinctrl_usart0: usart0-0 { 796 pinctrl_usart0: usart0-0 {
769 atmel,pins = 797 atmel,pins =
@@ -1098,6 +1126,12 @@
1098 atmel,clk-output-range = <0 66000000>; 1126 atmel,clk-output-range = <0 66000000>;
1099 }; 1127 };
1100 1128
1129 uart0_clk: uart0_clk {
1130 #clock-cells = <0>;
1131 reg = <16>;
1132 atmel,clk-output-range = <0 66000000>;
1133 };
1134
1101 twi0_clk: twi0_clk { 1135 twi0_clk: twi0_clk {
1102 reg = <18>; 1136 reg = <18>;
1103 #clock-cells = <0>; 1137 #clock-cells = <0>;
diff --git a/arch/arm/boot/dts/sama5d35ek.dts b/arch/arm/boot/dts/sama5d35ek.dts
index 9089c7c6cea8..d9a9aca1ccfd 100644
--- a/arch/arm/boot/dts/sama5d35ek.dts
+++ b/arch/arm/boot/dts/sama5d35ek.dts
@@ -44,8 +44,6 @@
44 44
45 gpio_keys { 45 gpio_keys {
46 compatible = "gpio-keys"; 46 compatible = "gpio-keys";
47 #address-cells = <1>;
48 #size-cells = <0>;
49 47
50 pb_user1 { 48 pb_user1 {
51 label = "pb_user1"; 49 label = "pb_user1";
diff --git a/arch/arm/boot/dts/sama5d3_can.dtsi b/arch/arm/boot/dts/sama5d3_can.dtsi
index eaf41451ad0c..c5a3772741bf 100644
--- a/arch/arm/boot/dts/sama5d3_can.dtsi
+++ b/arch/arm/boot/dts/sama5d3_can.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_can.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_can.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * CAN support 3 * CAN support
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
diff --git a/arch/arm/boot/dts/sama5d3_emac.dtsi b/arch/arm/boot/dts/sama5d3_emac.dtsi
index b4544cf11bad..7cb235ef0fb6 100644
--- a/arch/arm/boot/dts/sama5d3_emac.dtsi
+++ b/arch/arm/boot/dts/sama5d3_emac.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_emac.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_emac.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * Ethernet. 3 * Ethernet.
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
diff --git a/arch/arm/boot/dts/sama5d3_gmac.dtsi b/arch/arm/boot/dts/sama5d3_gmac.dtsi
index de5ed59fb446..23f225fbb756 100644
--- a/arch/arm/boot/dts/sama5d3_gmac.dtsi
+++ b/arch/arm/boot/dts/sama5d3_gmac.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_gmac.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_gmac.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * Gigabit Ethernet. 3 * Gigabit Ethernet.
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
diff --git a/arch/arm/boot/dts/sama5d3_lcd.dtsi b/arch/arm/boot/dts/sama5d3_lcd.dtsi
index 85d302701565..be7cfefc6c31 100644
--- a/arch/arm/boot/dts/sama5d3_lcd.dtsi
+++ b/arch/arm/boot/dts/sama5d3_lcd.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_lcd.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_lcd.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * LCD support 3 * LCD support
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
@@ -13,40 +13,183 @@
13/ { 13/ {
14 ahb { 14 ahb {
15 apb { 15 apb {
16 hlcdc: hlcdc@f0030000 {
17 compatible = "atmel,sama5d3-hlcdc";
18 reg = <0xf0030000 0x2000>;
19 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
20 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
21 clock-names = "periph_clk","sys_clk", "slow_clk";
22 status = "disabled";
23
24 hlcdc-display-controller {
25 compatible = "atmel,hlcdc-display-controller";
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 port@0 {
30 #address-cells = <1>;
31 #size-cells = <0>;
32 reg = <0>;
33 };
34 };
35
36 hlcdc_pwm: hlcdc-pwm {
37 compatible = "atmel,hlcdc-pwm";
38 pinctrl-names = "default";
39 pinctrl-0 = <&pinctrl_lcd_pwm>;
40 #pwm-cells = <3>;
41 };
42 };
43
16 pinctrl@fffff200 { 44 pinctrl@fffff200 {
17 lcd { 45 lcd {
18 pinctrl_lcd: lcd-0 { 46 pinctrl_lcd_base: lcd-base-0 {
47 atmel,pins =
48 <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDVSYNC */
49 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDHSYNC */
50 AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDISP */
51 AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDEN */
52 AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPCK */
53 };
54
55 pinctrl_lcd_pwm: lcd-pwm-0 {
56 atmel,pins = <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPWM */
57 };
58
59 pinctrl_lcd_rgb444: lcd-rgb-0 {
60 atmel,pins =
61 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
62 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
63 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
64 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
65 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
66 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
67 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
68 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
69 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
70 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
71 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
72 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD11 pin */
73 };
74
75 pinctrl_lcd_rgb565: lcd-rgb-1 {
76 atmel,pins =
77 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
78 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
79 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
80 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
81 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
82 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
83 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
84 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
85 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
86 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
87 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
88 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
89 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
90 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
91 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
92 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD15 pin */
93 };
94
95 pinctrl_lcd_rgb666: lcd-rgb-2 {
96 atmel,pins =
97 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
98 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
99 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
100 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
101 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
102 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
103 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
104 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
105 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
106 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
107 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
108 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
109 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
110 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
111 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
112 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
113 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD16 pin */
114 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD17 pin */
115 };
116
117 pinctrl_lcd_rgb666_alt: lcd-rgb-2-alt {
118 atmel,pins =
119 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
120 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
121 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
122 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
123 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
124 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
125 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
126 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
127 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
128 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
129 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
130 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
131 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
132 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
133 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
134 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
135 AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD16 pin */
136 AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* LCDD17 pin */
137 };
138
139 pinctrl_lcd_rgb888: lcd-rgb-3 {
140 atmel,pins =
141 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
142 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
143 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
144 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
145 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
146 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
147 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
148 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
149 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
150 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
151 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
152 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
153 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
154 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
155 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
156 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
157 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD16 pin */
158 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD17 pin */
159 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD18 pin */
160 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD19 pin */
161 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD20 pin */
162 AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD21 pin */
163 AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD22 pin */
164 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD23 pin */
165 };
166
167 pinctrl_lcd_rgb888_alt: lcd-rgb-3-alt {
19 atmel,pins = 168 atmel,pins =
20 <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA24 periph A LCDPWM */ 169 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
21 AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA26 periph A LCDVSYNC */ 170 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
22 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA27 periph A LCDHSYNC */ 171 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
23 AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA25 periph A LCDDISP */ 172 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
24 AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA29 periph A LCDDEN */ 173 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
25 AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA28 periph A LCDPCK */ 174 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
26 AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA0 periph A LCDD0 pin */ 175 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
27 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA1 periph A LCDD1 pin */ 176 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
28 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA2 periph A LCDD2 pin */ 177 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
29 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA3 periph A LCDD3 pin */ 178 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
30 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA4 periph A LCDD4 pin */ 179 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
31 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA5 periph A LCDD5 pin */ 180 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
32 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA6 periph A LCDD6 pin */ 181 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
33 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA7 periph A LCDD7 pin */ 182 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
34 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA8 periph A LCDD8 pin */ 183 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
35 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA9 periph A LCDD9 pin */ 184 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
36 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA10 periph A LCDD10 pin */ 185 AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD16 pin */
37 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A LCDD11 pin */ 186 AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD17 pin */
38 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A LCDD12 pin */ 187 AT91_PIOC 12 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD18 pin */
39 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A LCDD13 pin */ 188 AT91_PIOC 11 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD19 pin */
40 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A LCDD14 pin */ 189 AT91_PIOC 10 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD20 pin */
41 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A LCDD15 pin */ 190 AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD21 pin */
42 AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC14 periph C LCDD16 pin */ 191 AT91_PIOE 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* LCDD22 pin */
43 AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC13 periph C LCDD17 pin */ 192 AT91_PIOE 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* LCDD23 pin */
44 AT91_PIOC 12 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC12 periph C LCDD18 pin */
45 AT91_PIOC 11 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC11 periph C LCDD19 pin */
46 AT91_PIOC 10 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC10 periph C LCDD20 pin */
47 AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC15 periph C LCDD21 pin */
48 AT91_PIOE 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* PE27 periph C LCDD22 pin */
49 AT91_PIOE 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PE28 periph C LCDD23 pin */
50 }; 193 };
51 }; 194 };
52 }; 195 };
diff --git a/arch/arm/boot/dts/sama5d3_mci2.dtsi b/arch/arm/boot/dts/sama5d3_mci2.dtsi
index 1b02208ea6ff..026b252f09b3 100644
--- a/arch/arm/boot/dts/sama5d3_mci2.dtsi
+++ b/arch/arm/boot/dts/sama5d3_mci2.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_mci2.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_mci2.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * 3 MMC ports 3 * 3 MMC ports
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
diff --git a/arch/arm/boot/dts/sama5d3_tcb1.dtsi b/arch/arm/boot/dts/sama5d3_tcb1.dtsi
index 02848453ca0c..f7fa58fe09f1 100644
--- a/arch/arm/boot/dts/sama5d3_tcb1.dtsi
+++ b/arch/arm/boot/dts/sama5d3_tcb1.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_tcb1.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_tcb1.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * 2 TC blocks. 3 * 2 TC blocks.
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
diff --git a/arch/arm/boot/dts/sama5d3_uart.dtsi b/arch/arm/boot/dts/sama5d3_uart.dtsi
index 7a8d4c6115f7..2511d748867b 100644
--- a/arch/arm/boot/dts/sama5d3_uart.dtsi
+++ b/arch/arm/boot/dts/sama5d3_uart.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * at91sama5d3_uart.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 * sama5d3_uart.dtsi - Device Tree Include file for SAMA5D3 SoC with
3 * UART support 3 * UART support
4 * 4 *
5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> 5 * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com>
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index 782587df5f3f..6b1bb58f9c0b 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -64,9 +64,13 @@
64 gpio2 = &pioC; 64 gpio2 = &pioC;
65 gpio3 = &pioD; 65 gpio3 = &pioD;
66 gpio4 = &pioE; 66 gpio4 = &pioE;
67 pwm0 = &pwm0;
68 ssc0 = &ssc0;
69 ssc1 = &ssc1;
67 tcb0 = &tcb0; 70 tcb0 = &tcb0;
68 tcb1 = &tcb1; 71 tcb1 = &tcb1;
69 i2c0 = &i2c0; 72 i2c0 = &i2c0;
73 i2c1 = &i2c1;
70 i2c2 = &i2c2; 74 i2c2 = &i2c2;
71 }; 75 };
72 cpus { 76 cpus {
@@ -310,6 +314,34 @@
310 #size-cells = <1>; 314 #size-cells = <1>;
311 ranges; 315 ranges;
312 316
317 hlcdc: hlcdc@f0000000 {
318 compatible = "atmel,sama5d4-hlcdc";
319 reg = <0xf0000000 0x4000>;
320 interrupts = <51 IRQ_TYPE_LEVEL_HIGH 0>;
321 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
322 clock-names = "periph_clk","sys_clk", "slow_clk";
323 status = "disabled";
324
325 hlcdc-display-controller {
326 compatible = "atmel,hlcdc-display-controller";
327 #address-cells = <1>;
328 #size-cells = <0>;
329
330 port@0 {
331 #address-cells = <1>;
332 #size-cells = <0>;
333 reg = <0>;
334 };
335 };
336
337 hlcdc_pwm: hlcdc-pwm {
338 compatible = "atmel,hlcdc-pwm";
339 pinctrl-names = "default";
340 pinctrl-0 = <&pinctrl_lcd_pwm>;
341 #pwm-cells = <3>;
342 };
343 };
344
313 dma1: dma-controller@f0004000 { 345 dma1: dma-controller@f0004000 {
314 compatible = "atmel,sama5d4-dma"; 346 compatible = "atmel,sama5d4-dma";
315 reg = <0xf0004000 0x200>; 347 reg = <0xf0004000 0x200>;
@@ -319,6 +351,21 @@
319 clock-names = "dma_clk"; 351 clock-names = "dma_clk";
320 }; 352 };
321 353
354 isi: isi@f0008000 {
355 compatible = "atmel,at91sam9g45-isi";
356 reg = <0xf0008000 0x4000>;
357 interrupts = <52 IRQ_TYPE_LEVEL_HIGH 5>;
358 pinctrl-names = "default";
359 pinctrl-0 = <&pinctrl_isi_data_0_7>;
360 clocks = <&isi_clk>;
361 clock-names = "isi_clk";
362 status = "disabled";
363 port {
364 #address-cells = <1>;
365 #size-cells = <0>;
366 };
367 };
368
322 ramc0: ramc@f0010000 { 369 ramc0: ramc@f0010000 {
323 compatible = "atmel,sama5d3-ddramc"; 370 compatible = "atmel,sama5d3-ddramc";
324 reg = <0xf0010000 0x200>; 371 reg = <0xf0010000 0x200>;
@@ -800,6 +847,33 @@
800 clock-names = "mci_clk"; 847 clock-names = "mci_clk";
801 }; 848 };
802 849
850 ssc0: ssc@f8008000 {
851 compatible = "atmel,at91sam9g45-ssc";
852 reg = <0xf8008000 0x4000>;
853 interrupts = <48 IRQ_TYPE_LEVEL_HIGH 0>;
854 pinctrl-names = "default";
855 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
856 dmas = <&dma1
857 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
858 | AT91_XDMAC_DT_PERID(26))>,
859 <&dma1
860 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
861 | AT91_XDMAC_DT_PERID(27))>;
862 dma-names = "tx", "rx";
863 clocks = <&ssc0_clk>;
864 clock-names = "pclk";
865 status = "disabled";
866 };
867
868 pwm0: pwm@f800c000 {
869 compatible = "atmel,sama5d3-pwm";
870 reg = <0xf800c000 0x300>;
871 interrupts = <43 IRQ_TYPE_LEVEL_HIGH 4>;
872 #pwm-cells = <3>;
873 clocks = <&pwm_clk>;
874 status = "disabled";
875 };
876
803 spi0: spi@f8010000 { 877 spi0: spi@f8010000 {
804 #address-cells = <1>; 878 #address-cells = <1>;
805 #size-cells = <0>; 879 #size-cells = <0>;
@@ -839,6 +913,25 @@
839 status = "disabled"; 913 status = "disabled";
840 }; 914 };
841 915
916 i2c1: i2c@f8018000 {
917 compatible = "atmel,at91sam9x5-i2c";
918 reg = <0xf8018000 0x4000>;
919 interrupts = <33 IRQ_TYPE_LEVEL_HIGH 6>;
920 dmas = <&dma1
921 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
922 AT91_XDMAC_DT_PERID(4)>,
923 <&dma1
924 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
925 AT91_XDMAC_DT_PERID(5)>;
926 dma-names = "tx", "rx";
927 pinctrl-names = "default";
928 pinctrl-0 = <&pinctrl_i2c1>;
929 #address-cells = <1>;
930 #size-cells = <0>;
931 clocks = <&twi1_clk>;
932 status = "disabled";
933 };
934
842 tcb0: timer@f801c000 { 935 tcb0: timer@f801c000 {
843 compatible = "atmel,at91sam9x5-tcb"; 936 compatible = "atmel,at91sam9x5-tcb";
844 reg = <0xf801c000 0x100>; 937 reg = <0xf801c000 0x100>;
@@ -853,6 +946,8 @@
853 interrupts = <54 IRQ_TYPE_LEVEL_HIGH 3>; 946 interrupts = <54 IRQ_TYPE_LEVEL_HIGH 3>;
854 pinctrl-names = "default"; 947 pinctrl-names = "default";
855 pinctrl-0 = <&pinctrl_macb0_rmii>; 948 pinctrl-0 = <&pinctrl_macb0_rmii>;
949 #address-cells = <1>;
950 #size-cells = <0>;
856 clocks = <&macb0_clk>, <&macb0_clk>; 951 clocks = <&macb0_clk>, <&macb0_clk>;
857 clock-names = "hclk", "pclk"; 952 clock-names = "hclk", "pclk";
858 status = "disabled"; 953 status = "disabled";
@@ -953,6 +1048,24 @@
953 status = "disabled"; 1048 status = "disabled";
954 }; 1049 };
955 1050
1051 ssc1: ssc@fc014000 {
1052 compatible = "atmel,at91sam9g45-ssc";
1053 reg = <0xfc014000 0x4000>;
1054 interrupts = <49 IRQ_TYPE_LEVEL_HIGH 0>;
1055 pinctrl-names = "default";
1056 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
1057 dmas = <&dma1
1058 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
1059 | AT91_XDMAC_DT_PERID(28))>,
1060 <&dma1
1061 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
1062 | AT91_XDMAC_DT_PERID(29))>;
1063 dma-names = "tx", "rx";
1064 clocks = <&ssc1_clk>;
1065 clock-names = "pclk";
1066 status = "disabled";
1067 };
1068
956 tcb1: timer@fc020000 { 1069 tcb1: timer@fc020000 {
957 compatible = "atmel,at91sam9x5-tcb"; 1070 compatible = "atmel,at91sam9x5-tcb";
958 reg = <0xfc020000 0x100>; 1071 reg = <0xfc020000 0x100>;
@@ -1008,6 +1121,46 @@
1008 }; 1121 };
1009 }; 1122 };
1010 1123
1124 aes@fc044000 {
1125 compatible = "atmel,at91sam9g46-aes";
1126 reg = <0xfc044000 0x100>;
1127 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
1128 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
1129 AT91_XDMAC_DT_PERID(41)>,
1130 <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
1131 AT91_XDMAC_DT_PERID(40)>;
1132 dma-names = "tx", "rx";
1133 clocks = <&aes_clk>;
1134 clock-names = "aes_clk";
1135 status = "disabled";
1136 };
1137
1138 tdes@fc04c000 {
1139 compatible = "atmel,at91sam9g46-tdes";
1140 reg = <0xfc04c000 0x100>;
1141 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 0>;
1142 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
1143 AT91_XDMAC_DT_PERID(42)>,
1144 <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
1145 AT91_XDMAC_DT_PERID(43)>;
1146 dma-names = "tx", "rx";
1147 clocks = <&tdes_clk>;
1148 clock-names = "tdes_clk";
1149 status = "disabled";
1150 };
1151
1152 sha@fc050000 {
1153 compatible = "atmel,at91sam9g46-sha";
1154 reg = <0xfc050000 0x100>;
1155 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 0>;
1156 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1))
1157 AT91_XDMAC_DT_PERID(44)>;
1158 dma-names = "tx";
1159 clocks = <&sha_clk>;
1160 clock-names = "sha_clk";
1161 status = "disabled";
1162 };
1163
1011 rstc@fc068600 { 1164 rstc@fc068600 {
1012 compatible = "atmel,at91sam9g45-rstc"; 1165 compatible = "atmel,at91sam9g45-rstc";
1013 reg = <0xfc068600 0x10>; 1166 reg = <0xfc068600 0x10>;
@@ -1190,6 +1343,14 @@
1190 }; 1343 };
1191 }; 1344 };
1192 1345
1346 i2c1 {
1347 pinctrl_i2c1: i2c1-0 {
1348 atmel,pins =
1349 <AT91_PIOE 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* TWD1, conflicts with UART0 RX and DIBP */
1350 AT91_PIOE 30 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* TWCK1, conflicts with UART0 TX and DIBN */
1351 };
1352 };
1353
1193 i2c2 { 1354 i2c2 {
1194 pinctrl_i2c2: i2c2-0 { 1355 pinctrl_i2c2: i2c2-0 {
1195 atmel,pins = 1356 atmel,pins =
@@ -1198,6 +1359,155 @@
1198 }; 1359 };
1199 }; 1360 };
1200 1361
1362 isi {
1363 pinctrl_isi_data_0_7: isi-0-data-0-7 {
1364 atmel,pins =
1365 <AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D0 */
1366 AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D1 */
1367 AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D2 */
1368 AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D3 */
1369 AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D4 */
1370 AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D5 */
1371 AT91_PIOC 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D6 */
1372 AT91_PIOC 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* ISI_D7 */
1373 AT91_PIOB 1 AT91_PERIPH_C AT91_PINCTRL_NONE /* ISI_PCK, conflict with G0_RXCK */
1374 AT91_PIOB 3 AT91_PERIPH_C AT91_PINCTRL_NONE /* ISI_VSYNC */
1375 AT91_PIOB 4 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* ISI_HSYNC */
1376 };
1377 pinctrl_isi_data_8_9: isi-0-data-8-9 {
1378 atmel,pins =
1379 <AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE /* ISI_D8, conflicts with SPI0_MISO, PWMH2 */
1380 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* ISI_D9, conflicts with SPI0_MOSI, PWML2 */
1381 };
1382 pinctrl_isi_data_10_11: isi-0-data-10-11 {
1383 atmel,pins =
1384 <AT91_PIOC 2 AT91_PERIPH_C AT91_PINCTRL_NONE /* ISI_D10, conflicts with SPI0_SPCK, PWMH3 */
1385 AT91_PIOC 3 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* ISI_D11, conflicts with SPI0_NPCS0, PWML3 */
1386 };
1387 };
1388
1389 lcd {
1390 pinctrl_lcd_base: lcd-base-0 {
1391 atmel,pins =
1392 <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDVSYNC */
1393 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDHSYNC */
1394 AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDDEN */
1395 AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPCK */
1396 };
1397 pinctrl_lcd_pwm: lcd-pwm-0 {
1398 atmel,pins = <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDPWM */
1399 };
1400 pinctrl_lcd_rgb444: lcd-rgb-0 {
1401 atmel,pins =
1402 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
1403 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
1404 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
1405 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
1406 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
1407 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
1408 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
1409 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
1410 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
1411 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
1412 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
1413 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD11 pin */
1414 };
1415 pinctrl_lcd_rgb565: lcd-rgb-1 {
1416 atmel,pins =
1417 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
1418 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
1419 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
1420 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
1421 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
1422 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
1423 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
1424 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
1425 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
1426 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
1427 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
1428 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
1429 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
1430 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
1431 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
1432 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD15 pin */
1433 };
1434 pinctrl_lcd_rgb666: lcd-rgb-2 {
1435 atmel,pins =
1436 <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
1437 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
1438 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
1439 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
1440 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
1441 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
1442 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
1443 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
1444 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
1445 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
1446 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
1447 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
1448 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD18 pin */
1449 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD19 pin */
1450 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD20 pin */
1451 AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD21 pin */
1452 AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD22 pin */
1453 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD23 pin */
1454 };
1455 pinctrl_lcd_rgb777: lcd-rgb-3 {
1456 atmel,pins =
1457 /* LCDDAT0 conflicts with TMS */
1458 <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
1459 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
1460 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
1461 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
1462 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
1463 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
1464 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
1465 /* LCDDAT8 conflicts with TCK */
1466 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
1467 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
1468 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
1469 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
1470 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
1471 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
1472 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
1473 /* LCDDAT16 conflicts with NTRST */
1474 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD17 pin */
1475 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD18 pin */
1476 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD19 pin */
1477 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD20 pin */
1478 AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD21 pin */
1479 AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD22 pin */
1480 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD23 pin */
1481 };
1482 pinctrl_lcd_rgb888: lcd-rgb-4 {
1483 atmel,pins =
1484 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD0 pin */
1485 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD1 pin */
1486 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD2 pin */
1487 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD3 pin */
1488 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD4 pin */
1489 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD5 pin */
1490 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD6 pin */
1491 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD7 pin */
1492 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD8 pin */
1493 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD9 pin */
1494 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD10 pin */
1495 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD11 pin */
1496 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD12 pin */
1497 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD13 pin */
1498 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD14 pin */
1499 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD15 pin */
1500 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD16 pin */
1501 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD17 pin */
1502 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD18 pin */
1503 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD19 pin */
1504 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD20 pin */
1505 AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD21 pin */
1506 AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* LCDD22 pin */
1507 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* LCDD23 pin */
1508 };
1509 };
1510
1201 macb0 { 1511 macb0 {
1202 pinctrl_macb0_rmii: macb0_rmii-0 { 1512 pinctrl_macb0_rmii: macb0_rmii-0 {
1203 atmel,pins = 1513 atmel,pins =
@@ -1281,6 +1591,38 @@
1281 }; 1591 };
1282 }; 1592 };
1283 1593
1594 ssc0 {
1595 pinctrl_ssc0_tx: ssc0_tx {
1596 atmel,pins =
1597 <AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* TK0 */
1598 AT91_PIOB 31 AT91_PERIPH_B AT91_PINCTRL_NONE /* TF0 */
1599 AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TD0 */
1600 };
1601
1602 pinctrl_ssc0_rx: ssc0_rx {
1603 atmel,pins =
1604 <AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* RK0 */
1605 AT91_PIOB 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* RF0 */
1606 AT91_PIOB 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* RD0 */
1607 };
1608 };
1609
1610 ssc1 {
1611 pinctrl_ssc1_tx: ssc1_tx {
1612 atmel,pins =
1613 <AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* TK1 */
1614 AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* TF1 */
1615 AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TD1 */
1616 };
1617
1618 pinctrl_ssc1_rx: ssc1_rx {
1619 atmel,pins =
1620 <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* RK1 */
1621 AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* RF1 */
1622 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* RD1 */
1623 };
1624 };
1625
1284 usart2 { 1626 usart2 {
1285 pinctrl_usart2: usart2-0 { 1627 pinctrl_usart2: usart2-0 {
1286 atmel,pins = 1628 atmel,pins =
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
index 6d32c87632d4..bf365f7fef47 100644
--- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
+++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
@@ -45,7 +45,7 @@
45 45
46 memory { 46 memory {
47 device_type = "memory"; 47 device_type = "memory";
48 reg = <0x41000000 0x1e800000>; 48 reg = <0x40000000 0x20000000>;
49 }; 49 };
50 50
51 reg_1p8v: regulator@0 { 51 reg_1p8v: regulator@0 {
@@ -188,6 +188,33 @@
188 188
189&i2c0 { 189&i2c0 {
190 status = "okay"; 190 status = "okay";
191
192 compass@c {
193 compatible = "asahi-kasei,ak8975";
194 reg = <0x0c>;
195 interrupt-parent = <&irqpin3>;
196 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
197 };
198
199 ak4648: codec@12 {
200 compatible = "asahi-kasei,ak4648";
201 reg = <0x12>;
202 #sound-dai-cells = <0>;
203 };
204
205 accelerometer@1d {
206 compatible = "adi,adxl34x";
207 reg = <0x1d>;
208 interrupt-parent = <&irqpin3>;
209 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
210 <3 IRQ_TYPE_LEVEL_HIGH>;
211 };
212
213 rtc@32 {
214 compatible = "ricoh,r2025sd";
215 reg = <0x32>;
216 };
217
191 as3711@40 { 218 as3711@40 {
192 compatible = "ams,as3711"; 219 compatible = "ams,as3711";
193 reg = <0x40>; 220 reg = <0x40>;
@@ -258,11 +285,16 @@
258 }; 285 };
259 }; 286 };
260 }; 287 };
288};
261 289
262 ak4648: ak4648@12 { 290&i2c1 {
263 #sound-dai-cells = <0>; 291 status = "okay";
264 compatible = "asahi-kasei,ak4648"; 292
265 reg = <0x12>; 293 touchscreen@55 {
294 compatible = "sitronix,st1232";
295 reg = <0x55>;
296 interrupt-parent = <&irqpin1>;
297 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
266 }; 298 };
267}; 299};
268 300
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g.dts b/arch/arm/boot/dts/sh73a0-kzm9g.dts
index 27c5f426d172..e7dae01933a5 100644
--- a/arch/arm/boot/dts/sh73a0-kzm9g.dts
+++ b/arch/arm/boot/dts/sh73a0-kzm9g.dts
@@ -21,6 +21,6 @@
21 21
22 memory { 22 memory {
23 device_type = "memory"; 23 device_type = "memory";
24 reg = <0x41000000 0x1e800000>; 24 reg = <0x40000000 0x20000000>;
25 }; 25 };
26}; 26};
diff --git a/arch/arm/boot/dts/sh73a0.dtsi b/arch/arm/boot/dts/sh73a0.dtsi
index 2dfd5b44255d..ab319b73e282 100644
--- a/arch/arm/boot/dts/sh73a0.dtsi
+++ b/arch/arm/boot/dts/sh73a0.dtsi
@@ -94,6 +94,8 @@
94 0 6 IRQ_TYPE_LEVEL_HIGH 94 0 6 IRQ_TYPE_LEVEL_HIGH
95 0 7 IRQ_TYPE_LEVEL_HIGH 95 0 7 IRQ_TYPE_LEVEL_HIGH
96 0 8 IRQ_TYPE_LEVEL_HIGH>; 96 0 8 IRQ_TYPE_LEVEL_HIGH>;
97 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
98 control-parent;
97 }; 99 };
98 100
99 irqpin1: irqpin@e6900004 { 101 irqpin1: irqpin@e6900004 {
@@ -113,6 +115,7 @@
113 0 14 IRQ_TYPE_LEVEL_HIGH 115 0 14 IRQ_TYPE_LEVEL_HIGH
114 0 15 IRQ_TYPE_LEVEL_HIGH 116 0 15 IRQ_TYPE_LEVEL_HIGH
115 0 16 IRQ_TYPE_LEVEL_HIGH>; 117 0 16 IRQ_TYPE_LEVEL_HIGH>;
118 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
116 control-parent; 119 control-parent;
117 }; 120 };
118 121
@@ -133,6 +136,8 @@
133 0 22 IRQ_TYPE_LEVEL_HIGH 136 0 22 IRQ_TYPE_LEVEL_HIGH
134 0 23 IRQ_TYPE_LEVEL_HIGH 137 0 23 IRQ_TYPE_LEVEL_HIGH
135 0 24 IRQ_TYPE_LEVEL_HIGH>; 138 0 24 IRQ_TYPE_LEVEL_HIGH>;
139 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
140 control-parent;
136 }; 141 };
137 142
138 irqpin3: irqpin@e690000c { 143 irqpin3: irqpin@e690000c {
@@ -152,6 +157,8 @@
152 0 30 IRQ_TYPE_LEVEL_HIGH 157 0 30 IRQ_TYPE_LEVEL_HIGH
153 0 31 IRQ_TYPE_LEVEL_HIGH 158 0 31 IRQ_TYPE_LEVEL_HIGH
154 0 32 IRQ_TYPE_LEVEL_HIGH>; 159 0 32 IRQ_TYPE_LEVEL_HIGH>;
160 clocks = <&mstp5_clks SH73A0_CLK_INTCA0>;
161 control-parent;
155 }; 162 };
156 163
157 i2c0: i2c@e6820000 { 164 i2c0: i2c@e6820000 {
@@ -426,133 +433,159 @@
426 vclk1_clk: vclk1_clk@e6150008 { 433 vclk1_clk: vclk1_clk@e6150008 {
427 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 434 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
428 reg = <0xe6150008 4>; 435 reg = <0xe6150008 4>;
429 clocks = <&pll1_div2_clk>; 436 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
437 <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
438 <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
439 <0>;
430 #clock-cells = <0>; 440 #clock-cells = <0>;
431 clock-output-names = "vclk1"; 441 clock-output-names = "vclk1";
432 }; 442 };
433 vclk2_clk: vclk2_clk@e615000c { 443 vclk2_clk: vclk2_clk@e615000c {
434 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 444 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
435 reg = <0xe615000c 4>; 445 reg = <0xe615000c 4>;
436 clocks = <&pll1_div2_clk>; 446 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
447 <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
448 <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
449 <0>;
437 #clock-cells = <0>; 450 #clock-cells = <0>;
438 clock-output-names = "vclk2"; 451 clock-output-names = "vclk2";
439 }; 452 };
440 vclk3_clk: vclk3_clk@e615001c { 453 vclk3_clk: vclk3_clk@e615001c {
441 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 454 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
442 reg = <0xe615001c 4>; 455 reg = <0xe615001c 4>;
443 clocks = <&pll1_div2_clk>; 456 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
457 <&extcki_clk>, <&extal2_clk>, <&main_div2_clk>,
458 <&extalr_clk>, <&cpg_clocks SH73A0_CLK_MAIN>,
459 <0>;
444 #clock-cells = <0>; 460 #clock-cells = <0>;
445 clock-output-names = "vclk3"; 461 clock-output-names = "vclk3";
446 }; 462 };
447 zb_clk: zb_clk@e6150010 { 463 zb_clk: zb_clk@e6150010 {
448 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 464 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
449 reg = <0xe6150010 4>; 465 reg = <0xe6150010 4>;
450 clocks = <&pll1_div2_clk>; 466 clocks = <&pll1_div2_clk>, <0>,
467 <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
451 #clock-cells = <0>; 468 #clock-cells = <0>;
452 clock-output-names = "zb"; 469 clock-output-names = "zb";
453 }; 470 };
454 flctl_clk: flctl_clk@e6150014 { 471 flctl_clk: flctl_clk@e6150014 {
455 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 472 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
456 reg = <0xe6150014 4>; 473 reg = <0xe6150014 4>;
457 clocks = <&pll1_div2_clk>; 474 clocks = <&pll1_div2_clk>, <0>,
475 <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
458 #clock-cells = <0>; 476 #clock-cells = <0>;
459 clock-output-names = "flctlck"; 477 clock-output-names = "flctlck";
460 }; 478 };
461 sdhi0_clk: sdhi0_clk@e6150074 { 479 sdhi0_clk: sdhi0_clk@e6150074 {
462 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 480 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
463 reg = <0xe6150074 4>; 481 reg = <0xe6150074 4>;
464 clocks = <&pll1_div2_clk>; 482 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
483 <&pll1_div13_clk>, <0>;
465 #clock-cells = <0>; 484 #clock-cells = <0>;
466 clock-output-names = "sdhi0ck"; 485 clock-output-names = "sdhi0ck";
467 }; 486 };
468 sdhi1_clk: sdhi1_clk@e6150078 { 487 sdhi1_clk: sdhi1_clk@e6150078 {
469 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 488 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
470 reg = <0xe6150078 4>; 489 reg = <0xe6150078 4>;
471 clocks = <&pll1_div2_clk>; 490 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
491 <&pll1_div13_clk>, <0>;
472 #clock-cells = <0>; 492 #clock-cells = <0>;
473 clock-output-names = "sdhi1ck"; 493 clock-output-names = "sdhi1ck";
474 }; 494 };
475 sdhi2_clk: sdhi2_clk@e615007c { 495 sdhi2_clk: sdhi2_clk@e615007c {
476 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 496 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
477 reg = <0xe615007c 4>; 497 reg = <0xe615007c 4>;
478 clocks = <&pll1_div2_clk>; 498 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
499 <&pll1_div13_clk>, <0>;
479 #clock-cells = <0>; 500 #clock-cells = <0>;
480 clock-output-names = "sdhi2ck"; 501 clock-output-names = "sdhi2ck";
481 }; 502 };
482 fsia_clk: fsia_clk@e6150018 { 503 fsia_clk: fsia_clk@e6150018 {
483 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 504 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
484 reg = <0xe6150018 4>; 505 reg = <0xe6150018 4>;
485 clocks = <&pll1_div2_clk>; 506 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
507 <&fsiack_clk>, <&fsiack_clk>;
486 #clock-cells = <0>; 508 #clock-cells = <0>;
487 clock-output-names = "fsia"; 509 clock-output-names = "fsia";
488 }; 510 };
489 fsib_clk: fsib_clk@e6150090 { 511 fsib_clk: fsib_clk@e6150090 {
490 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 512 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
491 reg = <0xe6150090 4>; 513 reg = <0xe6150090 4>;
492 clocks = <&pll1_div2_clk>; 514 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
515 <&fsibck_clk>, <&fsibck_clk>;
493 #clock-cells = <0>; 516 #clock-cells = <0>;
494 clock-output-names = "fsib"; 517 clock-output-names = "fsib";
495 }; 518 };
496 sub_clk: sub_clk@e6150080 { 519 sub_clk: sub_clk@e6150080 {
497 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 520 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
498 reg = <0xe6150080 4>; 521 reg = <0xe6150080 4>;
499 clocks = <&extal2_clk>; 522 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
523 <&extal2_clk>, <&extal2_clk>;
500 #clock-cells = <0>; 524 #clock-cells = <0>;
501 clock-output-names = "sub"; 525 clock-output-names = "sub";
502 }; 526 };
503 spua_clk: spua_clk@e6150084 { 527 spua_clk: spua_clk@e6150084 {
504 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 528 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
505 reg = <0xe6150084 4>; 529 reg = <0xe6150084 4>;
506 clocks = <&pll1_div2_clk>; 530 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
531 <&extal2_clk>, <&extal2_clk>;
507 #clock-cells = <0>; 532 #clock-cells = <0>;
508 clock-output-names = "spua"; 533 clock-output-names = "spua";
509 }; 534 };
510 spuv_clk: spuv_clk@e6150094 { 535 spuv_clk: spuv_clk@e6150094 {
511 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 536 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
512 reg = <0xe6150094 4>; 537 reg = <0xe6150094 4>;
513 clocks = <&pll1_div2_clk>; 538 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
539 <&extal2_clk>, <&extal2_clk>;
514 #clock-cells = <0>; 540 #clock-cells = <0>;
515 clock-output-names = "spuv"; 541 clock-output-names = "spuv";
516 }; 542 };
517 msu_clk: msu_clk@e6150088 { 543 msu_clk: msu_clk@e6150088 {
518 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 544 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
519 reg = <0xe6150088 4>; 545 reg = <0xe6150088 4>;
520 clocks = <&pll1_div2_clk>; 546 clocks = <&pll1_div2_clk>, <0>,
547 <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
521 #clock-cells = <0>; 548 #clock-cells = <0>;
522 clock-output-names = "msu"; 549 clock-output-names = "msu";
523 }; 550 };
524 hsi_clk: hsi_clk@e615008c { 551 hsi_clk: hsi_clk@e615008c {
525 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 552 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
526 reg = <0xe615008c 4>; 553 reg = <0xe615008c 4>;
527 clocks = <&pll1_div2_clk>; 554 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
555 <&pll1_div7_clk>, <0>;
528 #clock-cells = <0>; 556 #clock-cells = <0>;
529 clock-output-names = "hsi"; 557 clock-output-names = "hsi";
530 }; 558 };
531 mfg1_clk: mfg1_clk@e6150098 { 559 mfg1_clk: mfg1_clk@e6150098 {
532 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 560 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
533 reg = <0xe6150098 4>; 561 reg = <0xe6150098 4>;
534 clocks = <&pll1_div2_clk>; 562 clocks = <&pll1_div2_clk>, <0>,
563 <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
535 #clock-cells = <0>; 564 #clock-cells = <0>;
536 clock-output-names = "mfg1"; 565 clock-output-names = "mfg1";
537 }; 566 };
538 mfg2_clk: mfg2_clk@e615009c { 567 mfg2_clk: mfg2_clk@e615009c {
539 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 568 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
540 reg = <0xe615009c 4>; 569 reg = <0xe615009c 4>;
541 clocks = <&pll1_div2_clk>; 570 clocks = <&pll1_div2_clk>, <0>,
571 <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
542 #clock-cells = <0>; 572 #clock-cells = <0>;
543 clock-output-names = "mfg2"; 573 clock-output-names = "mfg2";
544 }; 574 };
545 dsit_clk: dsit_clk@e6150060 { 575 dsit_clk: dsit_clk@e6150060 {
546 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 576 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
547 reg = <0xe6150060 4>; 577 reg = <0xe6150060 4>;
548 clocks = <&pll1_div2_clk>; 578 clocks = <&pll1_div2_clk>, <0>,
579 <&cpg_clocks SH73A0_CLK_PLL2>, <0>;
549 #clock-cells = <0>; 580 #clock-cells = <0>;
550 clock-output-names = "dsit"; 581 clock-output-names = "dsit";
551 }; 582 };
552 dsi0p_clk: dsi0p_clk@e6150064 { 583 dsi0p_clk: dsi0p_clk@e6150064 {
553 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock"; 584 compatible = "renesas,sh73a0-div6-clock", "renesas,cpg-div6-clock";
554 reg = <0xe6150064 4>; 585 reg = <0xe6150064 4>;
555 clocks = <&pll1_div2_clk>; 586 clocks = <&pll1_div2_clk>, <&cpg_clocks SH73A0_CLK_PLL2>,
587 <&cpg_clocks SH73A0_CLK_MAIN>, <&extal2_clk>,
588 <&extcki_clk>, <0>, <0>, <0>;
556 #clock-cells = <0>; 589 #clock-cells = <0>;
557 clock-output-names = "dsi0pck"; 590 clock-output-names = "dsi0pck";
558 }; 591 };
@@ -695,5 +728,16 @@
695 clock-output-names = 728 clock-output-names =
696 "iic3", "iic4", "keysc"; 729 "iic3", "iic4", "keysc";
697 }; 730 };
731 mstp5_clks: mstp5_clks@e6150144 {
732 compatible = "renesas,sh73a0-mstp-clocks", "renesas,cpg-mstp-clocks";
733 reg = <0xe6150144 4>, <0xe615003c 4>;
734 clocks = <&cpg_clocks SH73A0_CLK_HP>;
735 #clock-cells = <1>;
736 clock-indices = <
737 SH73A0_CLK_INTCA0
738 >;
739 clock-output-names =
740 "intca0";
741 };
698 }; 742 };
699}; 743};
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi b/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi
new file mode 100644
index 000000000000..2c5cede686dc
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1-emc.dtsi
@@ -0,0 +1,2421 @@
1/ {
2 clock@0,60006000 {
3 emc-timings-3 {
4 nvidia,ram-code = <3>;
5
6 timing-12750000 {
7 clock-frequency = <12750000>;
8 nvidia,parent-clock-frequency = <408000000>;
9 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
10 clock-names = "emc-parent";
11 };
12 timing-20400000 {
13 clock-frequency = <20400000>;
14 nvidia,parent-clock-frequency = <408000000>;
15 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
16 clock-names = "emc-parent";
17 };
18 timing-40800000 {
19 clock-frequency = <40800000>;
20 nvidia,parent-clock-frequency = <408000000>;
21 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
22 clock-names = "emc-parent";
23 };
24 timing-68000000 {
25 clock-frequency = <68000000>;
26 nvidia,parent-clock-frequency = <408000000>;
27 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
28 clock-names = "emc-parent";
29 };
30 timing-102000000 {
31 clock-frequency = <102000000>;
32 nvidia,parent-clock-frequency = <408000000>;
33 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
34 clock-names = "emc-parent";
35 };
36 timing-204000000 {
37 clock-frequency = <204000000>;
38 nvidia,parent-clock-frequency = <408000000>;
39 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
40 clock-names = "emc-parent";
41 };
42 timing-300000000 {
43 clock-frequency = <300000000>;
44 nvidia,parent-clock-frequency = <600000000>;
45 clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
46 clock-names = "emc-parent";
47 };
48 timing-396000000 {
49 clock-frequency = <396000000>;
50 nvidia,parent-clock-frequency = <792000000>;
51 clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
52 clock-names = "emc-parent";
53 };
54 timing-528000000 {
55 clock-frequency = <528000000>;
56 nvidia,parent-clock-frequency = <528000000>;
57 clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
58 clock-names = "emc-parent";
59 };
60 timing-600000000 {
61 clock-frequency = <600000000>;
62 nvidia,parent-clock-frequency = <600000000>;
63 clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
64 clock-names = "emc-parent";
65 };
66 timing-792000000 {
67 clock-frequency = <792000000>;
68 nvidia,parent-clock-frequency = <792000000>;
69 clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
70 clock-names = "emc-parent";
71 };
72 timing-924000000 {
73 clock-frequency = <924000000>;
74 nvidia,parent-clock-frequency = <924000000>;
75 clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
76 clock-names = "emc-parent";
77 };
78 };
79 };
80
81 emc@0,7001b000 {
82 emc-timings-3 {
83 nvidia,ram-code = <3>;
84
85 timing-12750000 {
86 clock-frequency = <12750000>;
87
88 nvidia,emc-auto-cal-config = <0xa1430000>;
89 nvidia,emc-auto-cal-config2 = <0x00000000>;
90 nvidia,emc-auto-cal-config3 = <0x00000000>;
91 nvidia,emc-auto-cal-interval = <0x001fffff>;
92 nvidia,emc-bgbias-ctl0 = <0x00000008>;
93 nvidia,emc-cfg = <0x73240000>;
94 nvidia,emc-cfg-2 = <0x000008c5>;
95 nvidia,emc-ctt-term-ctrl = <0x00000802>;
96 nvidia,emc-mode-1 = <0x80100003>;
97 nvidia,emc-mode-2 = <0x80200008>;
98 nvidia,emc-mode-4 = <0x00000000>;
99 nvidia,emc-mode-reset = <0x80001221>;
100 nvidia,emc-mrs-wait-cnt = <0x000e000e>;
101 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
102 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
103 nvidia,emc-zcal-cnt-long = <0x00000042>;
104 nvidia,emc-zcal-interval = <0x00000000>;
105
106 nvidia,emc-configuration = <
107 0x00000000
108 0x00000003
109 0x00000000
110 0x00000000
111 0x00000000
112 0x00000004
113 0x0000000a
114 0x00000005
115 0x0000000b
116 0x00000000
117 0x00000000
118 0x00000003
119 0x00000003
120 0x00000000
121 0x00000006
122 0x00000006
123 0x00000006
124 0x00000002
125 0x00000000
126 0x00000005
127 0x00000005
128 0x00010000
129 0x00000003
130 0x00000000
131 0x00000000
132 0x00000000
133 0x00000000
134 0x00000004
135 0x0000000c
136 0x0000000d
137 0x0000000f
138 0x00000060
139 0x00000000
140 0x00000018
141 0x00000002
142 0x00000002
143 0x00000001
144 0x00000000
145 0x00000007
146 0x0000000f
147 0x00000005
148 0x00000005
149 0x00000004
150 0x00000005
151 0x00000004
152 0x00000000
153 0x00000000
154 0x00000005
155 0x00000005
156 0x00000064
157 0x00000000
158 0x00000000
159 0x00000000
160 0x106aa298
161 0x002c00a0
162 0x00008000
163 0x00080000
164 0x00080000
165 0x00080000
166 0x00080000
167 0x00080000
168 0x00080000
169 0x00080000
170 0x00080000
171 0x00080000
172 0x00080000
173 0x00080000
174 0x00080000
175 0x00080000
176 0x00080000
177 0x00080000
178 0x00080000
179 0x00000000
180 0x00000000
181 0x00000000
182 0x00000000
183 0x00000000
184 0x00000000
185 0x00000000
186 0x00000000
187 0x00000000
188 0x00000000
189 0x00000000
190 0x00000000
191 0x00000000
192 0x00000000
193 0x00000000
194 0x00000000
195 0x00000000
196 0x00000000
197 0x00000000
198 0x00000000
199 0x00000000
200 0x00000000
201 0x00000000
202 0x00000000
203 0x00000000
204 0x00000000
205 0x00000000
206 0x00000000
207 0x00000000
208 0x00000000
209 0x00000000
210 0x00000000
211 0x00000000
212 0x00000000
213 0x00000000
214 0x00000000
215 0x00000000
216 0x00000000
217 0x000fc000
218 0x000fc000
219 0x000fc000
220 0x000fc000
221 0x0000fc00
222 0x0000fc00
223 0x0000fc00
224 0x0000fc00
225 0x10000280
226 0x00000000
227 0x00111111
228 0x00000000
229 0x00000000
230 0x77ffc081
231 0x00000e0e
232 0x81f1f108
233 0x07070004
234 0x0000003f
235 0x016eeeee
236 0x51451400
237 0x00514514
238 0x00514514
239 0x51451400
240 0x0000003f
241 0x00000007
242 0x00000000
243 0x00000042
244 0x000e000e
245 0x00000000
246 0x00000003
247 0x0000f2f3
248 0x800001c5
249 0x0000000a
250 >;
251 };
252
253 timing-20400000 {
254 clock-frequency = <20400000>;
255
256 nvidia,emc-auto-cal-config = <0xa1430000>;
257 nvidia,emc-auto-cal-config2 = <0x00000000>;
258 nvidia,emc-auto-cal-config3 = <0x00000000>;
259 nvidia,emc-auto-cal-interval = <0x001fffff>;
260 nvidia,emc-bgbias-ctl0 = <0x00000008>;
261 nvidia,emc-cfg = <0x73240000>;
262 nvidia,emc-cfg-2 = <0x000008c5>;
263 nvidia,emc-ctt-term-ctrl = <0x00000802>;
264 nvidia,emc-mode-1 = <0x80100003>;
265 nvidia,emc-mode-2 = <0x80200008>;
266 nvidia,emc-mode-4 = <0x00000000>;
267 nvidia,emc-mode-reset = <0x80001221>;
268 nvidia,emc-mrs-wait-cnt = <0x000e000e>;
269 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
270 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
271 nvidia,emc-zcal-cnt-long = <0x00000042>;
272 nvidia,emc-zcal-interval = <0x00000000>;
273
274 nvidia,emc-configuration = <
275 0x00000000
276 0x00000005
277 0x00000000
278 0x00000000
279 0x00000000
280 0x00000004
281 0x0000000a
282 0x00000005
283 0x0000000b
284 0x00000000
285 0x00000000
286 0x00000003
287 0x00000003
288 0x00000000
289 0x00000006
290 0x00000006
291 0x00000006
292 0x00000002
293 0x00000000
294 0x00000005
295 0x00000005
296 0x00010000
297 0x00000003
298 0x00000000
299 0x00000000
300 0x00000000
301 0x00000000
302 0x00000004
303 0x0000000c
304 0x0000000d
305 0x0000000f
306 0x0000009a
307 0x00000000
308 0x00000026
309 0x00000002
310 0x00000002
311 0x00000001
312 0x00000000
313 0x00000007
314 0x0000000f
315 0x00000006
316 0x00000006
317 0x00000004
318 0x00000005
319 0x00000004
320 0x00000000
321 0x00000000
322 0x00000005
323 0x00000005
324 0x000000a0
325 0x00000000
326 0x00000000
327 0x00000000
328 0x106aa298
329 0x002c00a0
330 0x00008000
331 0x00080000
332 0x00080000
333 0x00080000
334 0x00080000
335 0x00080000
336 0x00080000
337 0x00080000
338 0x00080000
339 0x00080000
340 0x00080000
341 0x00080000
342 0x00080000
343 0x00080000
344 0x00080000
345 0x00080000
346 0x00080000
347 0x00000000
348 0x00000000
349 0x00000000
350 0x00000000
351 0x00000000
352 0x00000000
353 0x00000000
354 0x00000000
355 0x00000000
356 0x00000000
357 0x00000000
358 0x00000000
359 0x00000000
360 0x00000000
361 0x00000000
362 0x00000000
363 0x00000000
364 0x00000000
365 0x00000000
366 0x00000000
367 0x00000000
368 0x00000000
369 0x00000000
370 0x00000000
371 0x00000000
372 0x00000000
373 0x00000000
374 0x00000000
375 0x00000000
376 0x00000000
377 0x00000000
378 0x00000000
379 0x00000000
380 0x00000000
381 0x00000000
382 0x00000000
383 0x00000000
384 0x00000000
385 0x000fc000
386 0x000fc000
387 0x000fc000
388 0x000fc000
389 0x0000fc00
390 0x0000fc00
391 0x0000fc00
392 0x0000fc00
393 0x10000280
394 0x00000000
395 0x00111111
396 0x00000000
397 0x00000000
398 0x77ffc081
399 0x00000e0e
400 0x81f1f108
401 0x07070004
402 0x0000003f
403 0x016eeeee
404 0x51451400
405 0x00514514
406 0x00514514
407 0x51451400
408 0x0000003f
409 0x0000000b
410 0x00000000
411 0x00000042
412 0x000e000e
413 0x00000000
414 0x00000003
415 0x0000f2f3
416 0x8000023a
417 0x0000000a
418 >;
419 };
420
421 timing-40800000 {
422 clock-frequency = <40800000>;
423
424 nvidia,emc-auto-cal-config = <0xa1430000>;
425 nvidia,emc-auto-cal-config2 = <0x00000000>;
426 nvidia,emc-auto-cal-config3 = <0x00000000>;
427 nvidia,emc-auto-cal-interval = <0x001fffff>;
428 nvidia,emc-bgbias-ctl0 = <0x00000008>;
429 nvidia,emc-cfg = <0x73240000>;
430 nvidia,emc-cfg-2 = <0x000008c5>;
431 nvidia,emc-ctt-term-ctrl = <0x00000802>;
432 nvidia,emc-mode-1 = <0x80100003>;
433 nvidia,emc-mode-2 = <0x80200008>;
434 nvidia,emc-mode-4 = <0x00000000>;
435 nvidia,emc-mode-reset = <0x80001221>;
436 nvidia,emc-mrs-wait-cnt = <0x000e000e>;
437 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
438 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
439 nvidia,emc-zcal-cnt-long = <0x00000042>;
440 nvidia,emc-zcal-interval = <0x00000000>;
441
442 nvidia,emc-configuration = <
443 0x00000001
444 0x0000000a
445 0x00000000
446 0x00000001
447 0x00000000
448 0x00000004
449 0x0000000a
450 0x00000005
451 0x0000000b
452 0x00000000
453 0x00000000
454 0x00000003
455 0x00000003
456 0x00000000
457 0x00000006
458 0x00000006
459 0x00000006
460 0x00000002
461 0x00000000
462 0x00000005
463 0x00000005
464 0x00010000
465 0x00000003
466 0x00000000
467 0x00000000
468 0x00000000
469 0x00000000
470 0x00000004
471 0x0000000c
472 0x0000000d
473 0x0000000f
474 0x00000134
475 0x00000000
476 0x0000004d
477 0x00000002
478 0x00000002
479 0x00000001
480 0x00000000
481 0x00000008
482 0x0000000f
483 0x0000000c
484 0x0000000c
485 0x00000004
486 0x00000005
487 0x00000004
488 0x00000000
489 0x00000000
490 0x00000005
491 0x00000005
492 0x0000013f
493 0x00000000
494 0x00000000
495 0x00000000
496 0x106aa298
497 0x002c00a0
498 0x00008000
499 0x00080000
500 0x00080000
501 0x00080000
502 0x00080000
503 0x00080000
504 0x00080000
505 0x00080000
506 0x00080000
507 0x00080000
508 0x00080000
509 0x00080000
510 0x00080000
511 0x00080000
512 0x00080000
513 0x00080000
514 0x00080000
515 0x00000000
516 0x00000000
517 0x00000000
518 0x00000000
519 0x00000000
520 0x00000000
521 0x00000000
522 0x00000000
523 0x00000000
524 0x00000000
525 0x00000000
526 0x00000000
527 0x00000000
528 0x00000000
529 0x00000000
530 0x00000000
531 0x00000000
532 0x00000000
533 0x00000000
534 0x00000000
535 0x00000000
536 0x00000000
537 0x00000000
538 0x00000000
539 0x00000000
540 0x00000000
541 0x00000000
542 0x00000000
543 0x00000000
544 0x00000000
545 0x00000000
546 0x00000000
547 0x00000000
548 0x00000000
549 0x00000000
550 0x00000000
551 0x00000000
552 0x00000000
553 0x000fc000
554 0x000fc000
555 0x000fc000
556 0x000fc000
557 0x0000fc00
558 0x0000fc00
559 0x0000fc00
560 0x0000fc00
561 0x10000280
562 0x00000000
563 0x00111111
564 0x00000000
565 0x00000000
566 0x77ffc081
567 0x00000e0e
568 0x81f1f108
569 0x07070004
570 0x0000003f
571 0x016eeeee
572 0x51451400
573 0x00514514
574 0x00514514
575 0x51451400
576 0x0000003f
577 0x00000015
578 0x00000000
579 0x00000042
580 0x000e000e
581 0x00000000
582 0x00000003
583 0x0000f2f3
584 0x80000370
585 0x0000000a
586 >;
587 };
588
589 timing-68000000 {
590 clock-frequency = <68000000>;
591
592 nvidia,emc-auto-cal-config = <0xa1430000>;
593 nvidia,emc-auto-cal-config2 = <0x00000000>;
594 nvidia,emc-auto-cal-config3 = <0x00000000>;
595 nvidia,emc-auto-cal-interval = <0x001fffff>;
596 nvidia,emc-bgbias-ctl0 = <0x00000008>;
597 nvidia,emc-cfg = <0x73240000>;
598 nvidia,emc-cfg-2 = <0x000008c5>;
599 nvidia,emc-ctt-term-ctrl = <0x00000802>;
600 nvidia,emc-mode-1 = <0x80100003>;
601 nvidia,emc-mode-2 = <0x80200008>;
602 nvidia,emc-mode-4 = <0x00000000>;
603 nvidia,emc-mode-reset = <0x80001221>;
604 nvidia,emc-mrs-wait-cnt = <0x000e000e>;
605 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
606 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
607 nvidia,emc-zcal-cnt-long = <0x00000042>;
608 nvidia,emc-zcal-interval = <0x00000000>;
609
610 nvidia,emc-configuration = <
611 0x00000003
612 0x00000011
613 0x00000000
614 0x00000002
615 0x00000000
616 0x00000004
617 0x0000000a
618 0x00000005
619 0x0000000b
620 0x00000000
621 0x00000000
622 0x00000003
623 0x00000003
624 0x00000000
625 0x00000006
626 0x00000006
627 0x00000006
628 0x00000002
629 0x00000000
630 0x00000005
631 0x00000005
632 0x00010000
633 0x00000003
634 0x00000000
635 0x00000000
636 0x00000000
637 0x00000000
638 0x00000004
639 0x0000000c
640 0x0000000d
641 0x0000000f
642 0x00000202
643 0x00000000
644 0x00000080
645 0x00000002
646 0x00000002
647 0x00000001
648 0x00000000
649 0x0000000f
650 0x0000000f
651 0x00000013
652 0x00000013
653 0x00000004
654 0x00000005
655 0x00000004
656 0x00000001
657 0x00000000
658 0x00000005
659 0x00000005
660 0x00000213
661 0x00000000
662 0x00000000
663 0x00000000
664 0x106aa298
665 0x002c00a0
666 0x00008000
667 0x00080000
668 0x00080000
669 0x00080000
670 0x00080000
671 0x00080000
672 0x00080000
673 0x00080000
674 0x00080000
675 0x00080000
676 0x00080000
677 0x00080000
678 0x00080000
679 0x00080000
680 0x00080000
681 0x00080000
682 0x00080000
683 0x00000000
684 0x00000000
685 0x00000000
686 0x00000000
687 0x00000000
688 0x00000000
689 0x00000000
690 0x00000000
691 0x00000000
692 0x00000000
693 0x00000000
694 0x00000000
695 0x00000000
696 0x00000000
697 0x00000000
698 0x00000000
699 0x00000000
700 0x00000000
701 0x00000000
702 0x00000000
703 0x00000000
704 0x00000000
705 0x00000000
706 0x00000000
707 0x00000000
708 0x00000000
709 0x00000000
710 0x00000000
711 0x00000000
712 0x00000000
713 0x00000000
714 0x00000000
715 0x00000000
716 0x00000000
717 0x00000000
718 0x00000000
719 0x00000000
720 0x00000000
721 0x000fc000
722 0x000fc000
723 0x000fc000
724 0x000fc000
725 0x0000fc00
726 0x0000fc00
727 0x0000fc00
728 0x0000fc00
729 0x10000280
730 0x00000000
731 0x00111111
732 0x00000000
733 0x00000000
734 0x77ffc081
735 0x00000e0e
736 0x81f1f108
737 0x07070004
738 0x0000003f
739 0x016eeeee
740 0x51451400
741 0x00514514
742 0x00514514
743 0x51451400
744 0x0000003f
745 0x00000022
746 0x00000000
747 0x00000042
748 0x000e000e
749 0x00000000
750 0x00000003
751 0x0000f2f3
752 0x8000050e
753 0x0000000a
754 >;
755 };
756
757 timing-102000000 {
758 clock-frequency = <102000000>;
759
760 nvidia,emc-auto-cal-config = <0xa1430000>;
761 nvidia,emc-auto-cal-config2 = <0x00000000>;
762 nvidia,emc-auto-cal-config3 = <0x00000000>;
763 nvidia,emc-auto-cal-interval = <0x001fffff>;
764 nvidia,emc-bgbias-ctl0 = <0x00000008>;
765 nvidia,emc-cfg = <0x73240000>;
766 nvidia,emc-cfg-2 = <0x000008c5>;
767 nvidia,emc-ctt-term-ctrl = <0x00000802>;
768 nvidia,emc-mode-1 = <0x80100003>;
769 nvidia,emc-mode-2 = <0x80200008>;
770 nvidia,emc-mode-4 = <0x00000000>;
771 nvidia,emc-mode-reset = <0x80001221>;
772 nvidia,emc-mrs-wait-cnt = <0x000e000e>;
773 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
774 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
775 nvidia,emc-zcal-cnt-long = <0x00000042>;
776 nvidia,emc-zcal-interval = <0x00000000>;
777
778 nvidia,emc-configuration = <
779 0x00000004
780 0x0000001a
781 0x00000000
782 0x00000003
783 0x00000001
784 0x00000004
785 0x0000000a
786 0x00000005
787 0x0000000b
788 0x00000001
789 0x00000001
790 0x00000003
791 0x00000003
792 0x00000000
793 0x00000006
794 0x00000006
795 0x00000006
796 0x00000002
797 0x00000000
798 0x00000005
799 0x00000005
800 0x00010000
801 0x00000003
802 0x00000000
803 0x00000000
804 0x00000000
805 0x00000000
806 0x00000004
807 0x0000000c
808 0x0000000d
809 0x0000000f
810 0x00000304
811 0x00000000
812 0x000000c1
813 0x00000002
814 0x00000002
815 0x00000001
816 0x00000000
817 0x00000018
818 0x0000000f
819 0x0000001c
820 0x0000001c
821 0x00000004
822 0x00000005
823 0x00000004
824 0x00000002
825 0x00000000
826 0x00000005
827 0x00000005
828 0x0000031c
829 0x00000000
830 0x00000000
831 0x00000000
832 0x106aa298
833 0x002c00a0
834 0x00008000
835 0x00080000
836 0x00080000
837 0x00080000
838 0x00080000
839 0x00080000
840 0x00080000
841 0x00080000
842 0x00080000
843 0x00080000
844 0x00080000
845 0x00080000
846 0x00080000
847 0x00080000
848 0x00080000
849 0x00080000
850 0x00080000
851 0x00000000
852 0x00000000
853 0x00000000
854 0x00000000
855 0x00000000
856 0x00000000
857 0x00000000
858 0x00000000
859 0x00000000
860 0x00000000
861 0x00000000
862 0x00000000
863 0x00000000
864 0x00000000
865 0x00000000
866 0x00000000
867 0x00000000
868 0x00000000
869 0x00000000
870 0x00000000
871 0x00000000
872 0x00000000
873 0x00000000
874 0x00000000
875 0x00000000
876 0x00000000
877 0x00000000
878 0x00000000
879 0x00000000
880 0x00000000
881 0x00000000
882 0x00000000
883 0x00000000
884 0x00000000
885 0x00000000
886 0x00000000
887 0x00000000
888 0x00000000
889 0x000fc000
890 0x000fc000
891 0x000fc000
892 0x000fc000
893 0x0000fc00
894 0x0000fc00
895 0x0000fc00
896 0x0000fc00
897 0x10000280
898 0x00000000
899 0x00111111
900 0x00000000
901 0x00000000
902 0x77ffc081
903 0x00000e0e
904 0x81f1f108
905 0x07070004
906 0x0000003f
907 0x016eeeee
908 0x51451400
909 0x00514514
910 0x00514514
911 0x51451400
912 0x0000003f
913 0x00000033
914 0x00000000
915 0x00000042
916 0x000e000e
917 0x00000000
918 0x00000003
919 0x0000f2f3
920 0x80000713
921 0x0000000a
922 >;
923 };
924
925 timing-204000000 {
926 clock-frequency = <204000000>;
927
928 nvidia,emc-auto-cal-config = <0xa1430000>;
929 nvidia,emc-auto-cal-config2 = <0x00000000>;
930 nvidia,emc-auto-cal-config3 = <0x00000000>;
931 nvidia,emc-auto-cal-interval = <0x001fffff>;
932 nvidia,emc-bgbias-ctl0 = <0x00000008>;
933 nvidia,emc-cfg = <0x73240000>;
934 nvidia,emc-cfg-2 = <0x000008cd>;
935 nvidia,emc-ctt-term-ctrl = <0x00000802>;
936 nvidia,emc-mode-1 = <0x80100003>;
937 nvidia,emc-mode-2 = <0x80200008>;
938 nvidia,emc-mode-4 = <0x00000000>;
939 nvidia,emc-mode-reset = <0x80001221>;
940 nvidia,emc-mrs-wait-cnt = <0x000e000e>;
941 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
942 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
943 nvidia,emc-zcal-cnt-long = <0x00000042>;
944 nvidia,emc-zcal-interval = <0x00020000>;
945
946 nvidia,emc-configuration = <
947 0x00000009
948 0x00000035
949 0x00000000
950 0x00000006
951 0x00000002
952 0x00000005
953 0x0000000a
954 0x00000005
955 0x0000000b
956 0x00000002
957 0x00000002
958 0x00000003
959 0x00000003
960 0x00000000
961 0x00000005
962 0x00000005
963 0x00000006
964 0x00000002
965 0x00000000
966 0x00000004
967 0x00000006
968 0x00010000
969 0x00000003
970 0x00000000
971 0x00000000
972 0x00000000
973 0x00000000
974 0x00000003
975 0x0000000d
976 0x0000000f
977 0x00000011
978 0x00000607
979 0x00000000
980 0x00000181
981 0x00000002
982 0x00000002
983 0x00000001
984 0x00000000
985 0x00000032
986 0x0000000f
987 0x00000038
988 0x00000038
989 0x00000004
990 0x00000005
991 0x00000004
992 0x00000006
993 0x00000000
994 0x00000005
995 0x00000005
996 0x00000638
997 0x00000000
998 0x00000000
999 0x00000000
1000 0x106aa298
1001 0x002c00a0
1002 0x00008000
1003 0x00080000
1004 0x00080000
1005 0x00080000
1006 0x00080000
1007 0x00080000
1008 0x00080000
1009 0x00080000
1010 0x00080000
1011 0x00080000
1012 0x00080000
1013 0x00080000
1014 0x00080000
1015 0x00080000
1016 0x00080000
1017 0x00080000
1018 0x00080000
1019 0x00000000
1020 0x00000000
1021 0x00000000
1022 0x00000000
1023 0x00000000
1024 0x00000000
1025 0x00000000
1026 0x00000000
1027 0x00000000
1028 0x00000000
1029 0x00008000
1030 0x00000000
1031 0x00000000
1032 0x00008000
1033 0x00000000
1034 0x00000000
1035 0x00000000
1036 0x00000000
1037 0x00000000
1038 0x00000000
1039 0x00000000
1040 0x00000000
1041 0x00000000
1042 0x00000000
1043 0x00000000
1044 0x00000000
1045 0x00000000
1046 0x00000000
1047 0x00000000
1048 0x00000000
1049 0x00000000
1050 0x00000000
1051 0x00000000
1052 0x00000000
1053 0x00000000
1054 0x00000000
1055 0x00000000
1056 0x00000000
1057 0x00090000
1058 0x00090000
1059 0x00090000
1060 0x00090000
1061 0x00009000
1062 0x00009000
1063 0x00009000
1064 0x00009000
1065 0x10000280
1066 0x00000000
1067 0x00111111
1068 0x00000000
1069 0x00000000
1070 0x77ffc081
1071 0x00000707
1072 0x81f1f108
1073 0x07070004
1074 0x0000003f
1075 0x016eeeee
1076 0x51451400
1077 0x00514514
1078 0x00514514
1079 0x51451400
1080 0x0000003f
1081 0x00000066
1082 0x00000000
1083 0x00000100
1084 0x000e000e
1085 0x00000000
1086 0x00000003
1087 0x0000d2b3
1088 0x80000d22
1089 0x0000000a
1090 >;
1091 };
1092
1093 timing-300000000 {
1094 clock-frequency = <300000000>;
1095
1096 nvidia,emc-auto-cal-config = <0xa1430000>;
1097 nvidia,emc-auto-cal-config2 = <0x00000000>;
1098 nvidia,emc-auto-cal-config3 = <0x00000000>;
1099 nvidia,emc-auto-cal-interval = <0x001fffff>;
1100 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1101 nvidia,emc-cfg = <0x73340000>;
1102 nvidia,emc-cfg-2 = <0x000008d5>;
1103 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1104 nvidia,emc-mode-1 = <0x80100002>;
1105 nvidia,emc-mode-2 = <0x80200000>;
1106 nvidia,emc-mode-4 = <0x00000000>;
1107 nvidia,emc-mode-reset = <0x80000321>;
1108 nvidia,emc-mrs-wait-cnt = <0x0173000e>;
1109 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
1110 nvidia,emc-xm2dqspadctrl2 = <0x01231339>;
1111 nvidia,emc-zcal-cnt-long = <0x00000042>;
1112 nvidia,emc-zcal-interval = <0x00020000>;
1113
1114 nvidia,emc-configuration = <
1115 0x0000000d
1116 0x0000004d
1117 0x00000000
1118 0x00000009
1119 0x00000003
1120 0x00000004
1121 0x00000008
1122 0x00000002
1123 0x00000009
1124 0x00000003
1125 0x00000003
1126 0x00000002
1127 0x00000002
1128 0x00000000
1129 0x00000003
1130 0x00000003
1131 0x00000005
1132 0x00000002
1133 0x00000000
1134 0x00000002
1135 0x00000007
1136 0x00020000
1137 0x00000003
1138 0x00000000
1139 0x00000000
1140 0x00000000
1141 0x00000000
1142 0x00000001
1143 0x0000000e
1144 0x00000010
1145 0x00000012
1146 0x000008e4
1147 0x00000000
1148 0x00000239
1149 0x00000001
1150 0x00000008
1151 0x00000001
1152 0x00000000
1153 0x0000004b
1154 0x0000000e
1155 0x00000052
1156 0x00000200
1157 0x00000004
1158 0x00000005
1159 0x00000004
1160 0x00000008
1161 0x00000000
1162 0x00000005
1163 0x00000005
1164 0x00000924
1165 0x00000000
1166 0x00000000
1167 0x00000000
1168 0x104ab098
1169 0x002c00a0
1170 0x00008000
1171 0x00030000
1172 0x00030000
1173 0x00030000
1174 0x00030000
1175 0x00030000
1176 0x00030000
1177 0x00030000
1178 0x00030000
1179 0x00030000
1180 0x00030000
1181 0x00030000
1182 0x00030000
1183 0x00030000
1184 0x00030000
1185 0x00030000
1186 0x00030000
1187 0x00000000
1188 0x00000000
1189 0x00000000
1190 0x00000000
1191 0x00000000
1192 0x00000000
1193 0x00000000
1194 0x00000000
1195 0x00098000
1196 0x00098000
1197 0x00000000
1198 0x00098000
1199 0x00098000
1200 0x00000000
1201 0x00000000
1202 0x00000000
1203 0x00000000
1204 0x00000000
1205 0x00000000
1206 0x00000000
1207 0x00000000
1208 0x00000000
1209 0x00000000
1210 0x00000000
1211 0x00000000
1212 0x00000000
1213 0x00000000
1214 0x00000000
1215 0x00000000
1216 0x00000000
1217 0x00000000
1218 0x00000000
1219 0x00000000
1220 0x00000000
1221 0x00000000
1222 0x00000000
1223 0x00000000
1224 0x00000000
1225 0x00050000
1226 0x00050000
1227 0x00050000
1228 0x00050000
1229 0x00005000
1230 0x00005000
1231 0x00005000
1232 0x00005000
1233 0x10000280
1234 0x00000000
1235 0x00111111
1236 0x00000000
1237 0x00000000
1238 0x77ffc081
1239 0x00000505
1240 0x81f1f108
1241 0x07070004
1242 0x00000000
1243 0x016eeeee
1244 0x51451420
1245 0x00514514
1246 0x00514514
1247 0x51451400
1248 0x0000003f
1249 0x00000096
1250 0x00000000
1251 0x00000100
1252 0x0173000e
1253 0x00000000
1254 0x00000003
1255 0x000052a3
1256 0x800012d7
1257 0x00000009
1258 >;
1259 };
1260
1261 timing-396000000 {
1262 clock-frequency = <396000000>;
1263
1264 nvidia,emc-auto-cal-config = <0xa1430000>;
1265 nvidia,emc-auto-cal-config2 = <0x00000000>;
1266 nvidia,emc-auto-cal-config3 = <0x00000000>;
1267 nvidia,emc-auto-cal-interval = <0x001fffff>;
1268 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1269 nvidia,emc-cfg = <0x73340000>;
1270 nvidia,emc-cfg-2 = <0x00000895>;
1271 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1272 nvidia,emc-mode-1 = <0x80100002>;
1273 nvidia,emc-mode-2 = <0x80200000>;
1274 nvidia,emc-mode-4 = <0x00000000>;
1275 nvidia,emc-mode-reset = <0x80000521>;
1276 nvidia,emc-mrs-wait-cnt = <0x015b000e>;
1277 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1278 nvidia,emc-xm2dqspadctrl2 = <0x01231339>;
1279 nvidia,emc-zcal-cnt-long = <0x00000042>;
1280 nvidia,emc-zcal-interval = <0x00020000>;
1281
1282 nvidia,emc-configuration = <
1283 0x00000011
1284 0x00000066
1285 0x00000000
1286 0x0000000c
1287 0x00000004
1288 0x00000004
1289 0x00000008
1290 0x00000002
1291 0x0000000a
1292 0x00000004
1293 0x00000004
1294 0x00000002
1295 0x00000002
1296 0x00000000
1297 0x00000003
1298 0x00000003
1299 0x00000005
1300 0x00000002
1301 0x00000000
1302 0x00000001
1303 0x00000008
1304 0x00020000
1305 0x00000003
1306 0x00000000
1307 0x00000000
1308 0x00000000
1309 0x00000000
1310 0x00000000
1311 0x0000000f
1312 0x00000010
1313 0x00000012
1314 0x00000bd1
1315 0x00000000
1316 0x000002f4
1317 0x00000001
1318 0x00000008
1319 0x00000001
1320 0x00000000
1321 0x00000063
1322 0x0000000f
1323 0x0000006c
1324 0x00000200
1325 0x00000004
1326 0x00000005
1327 0x00000004
1328 0x0000000b
1329 0x00000000
1330 0x00000005
1331 0x00000005
1332 0x00000c11
1333 0x00000000
1334 0x00000000
1335 0x00000000
1336 0x104ab098
1337 0x002c00a0
1338 0x00008000
1339 0x00030000
1340 0x00030000
1341 0x00030000
1342 0x00030000
1343 0x00030000
1344 0x00030000
1345 0x00030000
1346 0x00030000
1347 0x00030000
1348 0x00030000
1349 0x00030000
1350 0x00030000
1351 0x00030000
1352 0x00030000
1353 0x00030000
1354 0x00030000
1355 0x00000000
1356 0x00000000
1357 0x00000000
1358 0x00000000
1359 0x00000000
1360 0x00000000
1361 0x00000000
1362 0x00000000
1363 0x00070000
1364 0x00070000
1365 0x00000000
1366 0x00070000
1367 0x00070000
1368 0x00000000
1369 0x00000000
1370 0x00000000
1371 0x00000000
1372 0x00000000
1373 0x00000000
1374 0x00000000
1375 0x00000000
1376 0x00000000
1377 0x00000000
1378 0x00000000
1379 0x00000000
1380 0x00000000
1381 0x00000000
1382 0x00000000
1383 0x00000000
1384 0x00000000
1385 0x00000000
1386 0x00000000
1387 0x00000000
1388 0x00000000
1389 0x00000000
1390 0x00000000
1391 0x00000000
1392 0x00000000
1393 0x00038000
1394 0x00038000
1395 0x00038000
1396 0x00038000
1397 0x00003800
1398 0x00003800
1399 0x00003800
1400 0x00003800
1401 0x10000280
1402 0x00000000
1403 0x00111111
1404 0x00000000
1405 0x00000000
1406 0x77ffc081
1407 0x00000505
1408 0x81f1f108
1409 0x07070004
1410 0x00000000
1411 0x016eeeee
1412 0x51451420
1413 0x00514514
1414 0x00514514
1415 0x51451400
1416 0x0000003f
1417 0x000000c6
1418 0x00000000
1419 0x00000100
1420 0x015b000e
1421 0x00000000
1422 0x00000003
1423 0x000052a3
1424 0x8000188b
1425 0x00000009
1426 >;
1427 };
1428
1429 timing-528000000 {
1430 clock-frequency = <528000000>;
1431
1432 nvidia,emc-auto-cal-config = <0xa1430000>;
1433 nvidia,emc-auto-cal-config2 = <0x00000000>;
1434 nvidia,emc-auto-cal-config3 = <0x00000000>;
1435 nvidia,emc-auto-cal-interval = <0x001fffff>;
1436 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1437 nvidia,emc-cfg = <0x73300000>;
1438 nvidia,emc-cfg-2 = <0x0000089d>;
1439 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1440 nvidia,emc-mode-1 = <0x80100002>;
1441 nvidia,emc-mode-2 = <0x80200008>;
1442 nvidia,emc-mode-4 = <0x00000000>;
1443 nvidia,emc-mode-reset = <0x80000941>;
1444 nvidia,emc-mrs-wait-cnt = <0x0139000e>;
1445 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1446 nvidia,emc-xm2dqspadctrl2 = <0x0123133d>;
1447 nvidia,emc-zcal-cnt-long = <0x00000042>;
1448 nvidia,emc-zcal-interval = <0x00020000>;
1449
1450 nvidia,emc-configuration = <
1451 0x00000018
1452 0x00000088
1453 0x00000000
1454 0x00000010
1455 0x00000006
1456 0x00000006
1457 0x00000009
1458 0x00000002
1459 0x0000000d
1460 0x00000006
1461 0x00000006
1462 0x00000002
1463 0x00000002
1464 0x00000000
1465 0x00000003
1466 0x00000003
1467 0x00000006
1468 0x00000002
1469 0x00000000
1470 0x00000001
1471 0x00000009
1472 0x00030000
1473 0x00000003
1474 0x00000000
1475 0x00000000
1476 0x00000000
1477 0x00000000
1478 0x00000000
1479 0x00000010
1480 0x00000012
1481 0x00000014
1482 0x00000fd6
1483 0x00000000
1484 0x000003f5
1485 0x00000002
1486 0x0000000b
1487 0x00000001
1488 0x00000000
1489 0x00000085
1490 0x00000012
1491 0x00000090
1492 0x00000200
1493 0x00000004
1494 0x00000005
1495 0x00000004
1496 0x00000010
1497 0x00000000
1498 0x00000006
1499 0x00000006
1500 0x00001017
1501 0x00000000
1502 0x00000000
1503 0x00000000
1504 0x104ab098
1505 0xe01200b1
1506 0x00008000
1507 0x0000000a
1508 0x0000000a
1509 0x0000000a
1510 0x0000000a
1511 0x0000000a
1512 0x0000000a
1513 0x0000000a
1514 0x0000000a
1515 0x0000000a
1516 0x0000000a
1517 0x0000000a
1518 0x0000000a
1519 0x0000000a
1520 0x0000000a
1521 0x0000000a
1522 0x0000000a
1523 0x00000000
1524 0x00000000
1525 0x00000000
1526 0x00000000
1527 0x00000000
1528 0x00000000
1529 0x00000000
1530 0x00000000
1531 0x00054000
1532 0x00054000
1533 0x00000000
1534 0x00054000
1535 0x00054000
1536 0x00000000
1537 0x00000000
1538 0x00000000
1539 0x00000000
1540 0x00000000
1541 0x00000000
1542 0x00000000
1543 0x00000000
1544 0x00000000
1545 0x00000000
1546 0x00000000
1547 0x00000000
1548 0x00000000
1549 0x00000000
1550 0x00000000
1551 0x00000000
1552 0x00000000
1553 0x00000000
1554 0x00000000
1555 0x00000000
1556 0x00000000
1557 0x00000000
1558 0x00000000
1559 0x00000000
1560 0x00000000
1561 0x0000000c
1562 0x0000000c
1563 0x0000000c
1564 0x0000000c
1565 0x0000000c
1566 0x0000000c
1567 0x0000000c
1568 0x0000000c
1569 0x100002a0
1570 0x00000000
1571 0x00111111
1572 0x00000000
1573 0x00000000
1574 0x77ffc085
1575 0x00000505
1576 0x81f1f108
1577 0x07070004
1578 0x00000000
1579 0x016eeeee
1580 0x51451420
1581 0x00514514
1582 0x00514514
1583 0x51451400
1584 0x0606003f
1585 0x00000000
1586 0x00000000
1587 0x00000100
1588 0x0139000e
1589 0x00000000
1590 0x00000003
1591 0x000042a0
1592 0x80002062
1593 0x0000000a
1594 >;
1595 };
1596
1597 timing-600000000 {
1598 clock-frequency = <600000000>;
1599
1600 nvidia,emc-auto-cal-config = <0xa1430000>;
1601 nvidia,emc-auto-cal-config2 = <0x00000000>;
1602 nvidia,emc-auto-cal-config3 = <0x00000000>;
1603 nvidia,emc-auto-cal-interval = <0x001fffff>;
1604 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1605 nvidia,emc-cfg = <0x73300000>;
1606 nvidia,emc-cfg-2 = <0x0000089d>;
1607 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1608 nvidia,emc-mode-1 = <0x80100002>;
1609 nvidia,emc-mode-2 = <0x80200010>;
1610 nvidia,emc-mode-4 = <0x00000000>;
1611 nvidia,emc-mode-reset = <0x80000b61>;
1612 nvidia,emc-mrs-wait-cnt = <0x0127000e>;
1613 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1614 nvidia,emc-xm2dqspadctrl2 = <0x0121113d>;
1615 nvidia,emc-zcal-cnt-long = <0x00000042>;
1616 nvidia,emc-zcal-interval = <0x00020000>;
1617
1618 nvidia,emc-configuration = <
1619 0x0000001b
1620 0x0000009b
1621 0x00000000
1622 0x00000013
1623 0x00000007
1624 0x00000007
1625 0x0000000b
1626 0x00000003
1627 0x00000010
1628 0x00000007
1629 0x00000007
1630 0x00000002
1631 0x00000002
1632 0x00000000
1633 0x00000005
1634 0x00000005
1635 0x0000000a
1636 0x00000002
1637 0x00000000
1638 0x00000003
1639 0x0000000b
1640 0x00070000
1641 0x00000003
1642 0x00000000
1643 0x00000000
1644 0x00000000
1645 0x00000000
1646 0x00000002
1647 0x00000012
1648 0x00000016
1649 0x00000018
1650 0x00001208
1651 0x00000000
1652 0x00000482
1653 0x00000002
1654 0x0000000d
1655 0x00000001
1656 0x00000000
1657 0x00000097
1658 0x00000015
1659 0x000000a3
1660 0x00000200
1661 0x00000004
1662 0x00000005
1663 0x00000004
1664 0x00000013
1665 0x00000000
1666 0x00000006
1667 0x00000006
1668 0x00001248
1669 0x00000000
1670 0x00000000
1671 0x00000000
1672 0x104ab098
1673 0xe00e00b1
1674 0x00008000
1675 0x0000000a
1676 0x0000000a
1677 0x0000000a
1678 0x0000000a
1679 0x0000000a
1680 0x0000000a
1681 0x0000000a
1682 0x0000000a
1683 0x0000000a
1684 0x0000000a
1685 0x0000000a
1686 0x0000000a
1687 0x0000000a
1688 0x0000000a
1689 0x0000000a
1690 0x0000000a
1691 0x00000000
1692 0x00000000
1693 0x00000000
1694 0x00000000
1695 0x00000000
1696 0x00000000
1697 0x00000000
1698 0x00000000
1699 0x00048000
1700 0x00048000
1701 0x00000000
1702 0x00048000
1703 0x00048000
1704 0x00000000
1705 0x00000000
1706 0x00000000
1707 0x00000000
1708 0x00000000
1709 0x00000000
1710 0x00000000
1711 0x00000000
1712 0x00000000
1713 0x00000000
1714 0x00000000
1715 0x00000000
1716 0x00000000
1717 0x00000000
1718 0x00000000
1719 0x00000000
1720 0x00000000
1721 0x00000000
1722 0x00000000
1723 0x00000000
1724 0x00000000
1725 0x00000000
1726 0x00000000
1727 0x00000000
1728 0x00000000
1729 0x0000000d
1730 0x0000000d
1731 0x0000000d
1732 0x0000000d
1733 0x0000000d
1734 0x0000000d
1735 0x0000000d
1736 0x0000000d
1737 0x100002a0
1738 0x00000000
1739 0x00111111
1740 0x00000000
1741 0x00000000
1742 0x77ffc085
1743 0x00000505
1744 0x81f1f108
1745 0x07070004
1746 0x00000000
1747 0x016eeeee
1748 0x51451420
1749 0x00514514
1750 0x00514514
1751 0x51451400
1752 0x0606003f
1753 0x00000000
1754 0x00000000
1755 0x00000100
1756 0x0127000e
1757 0x00000000
1758 0x00000003
1759 0x000040a0
1760 0x800024aa
1761 0x0000000e
1762 >;
1763 };
1764
1765 timing-792000000 {
1766 clock-frequency = <792000000>;
1767
1768 nvidia,emc-auto-cal-config = <0xa1430000>;
1769 nvidia,emc-auto-cal-config2 = <0x00000000>;
1770 nvidia,emc-auto-cal-config3 = <0x00000000>;
1771 nvidia,emc-auto-cal-interval = <0x001fffff>;
1772 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1773 nvidia,emc-cfg = <0x73300000>;
1774 nvidia,emc-cfg-2 = <0x0000089d>;
1775 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1776 nvidia,emc-mode-1 = <0x80100002>;
1777 nvidia,emc-mode-2 = <0x80200018>;
1778 nvidia,emc-mode-4 = <0x00000000>;
1779 nvidia,emc-mode-reset = <0x80000d71>;
1780 nvidia,emc-mrs-wait-cnt = <0x00f7000e>;
1781 nvidia,emc-sel-dpd-ctrl = <0x00040000>;
1782 nvidia,emc-xm2dqspadctrl2 = <0x0120113d>;
1783 nvidia,emc-zcal-cnt-long = <0x00000042>;
1784 nvidia,emc-zcal-interval = <0x00020000>;
1785
1786 nvidia,emc-configuration = <
1787 0x00000024
1788 0x000000cd
1789 0x00000000
1790 0x00000019
1791 0x0000000a
1792 0x00000008
1793 0x0000000d
1794 0x00000004
1795 0x00000013
1796 0x0000000a
1797 0x0000000a
1798 0x00000004
1799 0x00000002
1800 0x00000000
1801 0x00000006
1802 0x00000006
1803 0x0000000b
1804 0x00000002
1805 0x00000000
1806 0x00000002
1807 0x0000000d
1808 0x00080000
1809 0x00000004
1810 0x00000000
1811 0x00000000
1812 0x00000000
1813 0x00000000
1814 0x00000001
1815 0x00000014
1816 0x00000018
1817 0x0000001a
1818 0x000017e2
1819 0x00000000
1820 0x000005f8
1821 0x00000003
1822 0x00000011
1823 0x00000001
1824 0x00000000
1825 0x000000c7
1826 0x00000018
1827 0x000000d7
1828 0x00000200
1829 0x00000005
1830 0x00000006
1831 0x00000005
1832 0x00000019
1833 0x00000000
1834 0x00000008
1835 0x00000008
1836 0x00001822
1837 0x00000000
1838 0x00000000
1839 0x00000000
1840 0x104ab098
1841 0xe00700b1
1842 0x00008000
1843 0x007fc008
1844 0x007fc008
1845 0x007fc008
1846 0x007fc008
1847 0x007fc008
1848 0x007fc008
1849 0x007fc008
1850 0x007fc008
1851 0x007fc008
1852 0x007fc008
1853 0x007fc008
1854 0x007fc008
1855 0x007fc008
1856 0x007fc008
1857 0x007fc008
1858 0x007fc008
1859 0x00000000
1860 0x00000000
1861 0x00000000
1862 0x00000000
1863 0x00000000
1864 0x00000000
1865 0x00000000
1866 0x00000000
1867 0x00034000
1868 0x00034000
1869 0x00000000
1870 0x00034000
1871 0x00034000
1872 0x00000000
1873 0x00000000
1874 0x00000000
1875 0x00000000
1876 0x00000000
1877 0x00000000
1878 0x00000000
1879 0x00000000
1880 0x00000000
1881 0x00000005
1882 0x00000005
1883 0x00000005
1884 0x00000005
1885 0x00000005
1886 0x00000005
1887 0x00000005
1888 0x00000005
1889 0x00000005
1890 0x00000005
1891 0x00000005
1892 0x00000005
1893 0x00000005
1894 0x00000005
1895 0x00000005
1896 0x00000005
1897 0x0000000a
1898 0x0000000a
1899 0x0000000a
1900 0x0000000a
1901 0x0000000a
1902 0x0000000a
1903 0x0000000a
1904 0x0000000a
1905 0x100002a0
1906 0x00000000
1907 0x00111111
1908 0x00000000
1909 0x00000000
1910 0x77ffc085
1911 0x00000000
1912 0x81f1f108
1913 0x07070004
1914 0x00000000
1915 0x016eeeee
1916 0x61861820
1917 0x00514514
1918 0x00514514
1919 0x61861800
1920 0x0606003f
1921 0x00000000
1922 0x00000000
1923 0x00000100
1924 0x00f7000e
1925 0x00000000
1926 0x00000004
1927 0x00004080
1928 0x80003012
1929 0x0000000f
1930 >;
1931 };
1932
1933 timing-924000000 {
1934 clock-frequency = <924000000>;
1935
1936 nvidia,emc-auto-cal-config = <0xa1430303>;
1937 nvidia,emc-auto-cal-config2 = <0x00000000>;
1938 nvidia,emc-auto-cal-config3 = <0x00000000>;
1939 nvidia,emc-auto-cal-interval = <0x001fffff>;
1940 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1941 nvidia,emc-cfg = <0x73300000>;
1942 nvidia,emc-cfg-2 = <0x0000089d>;
1943 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1944 nvidia,emc-mode-1 = <0x80100002>;
1945 nvidia,emc-mode-2 = <0x80200020>;
1946 nvidia,emc-mode-4 = <0x00000000>;
1947 nvidia,emc-mode-reset = <0x80000f15>;
1948 nvidia,emc-mrs-wait-cnt = <0x00cd000e>;
1949 nvidia,emc-sel-dpd-ctrl = <0x00040000>;
1950 nvidia,emc-xm2dqspadctrl2 = <0x0120113d>;
1951 nvidia,emc-zcal-cnt-long = <0x0000004c>;
1952 nvidia,emc-zcal-interval = <0x00020000>;
1953
1954 nvidia,emc-configuration = <
1955 0x0000002b
1956 0x000000f0
1957 0x00000000
1958 0x0000001e
1959 0x0000000b
1960 0x00000009
1961 0x0000000f
1962 0x00000005
1963 0x00000016
1964 0x0000000b
1965 0x0000000b
1966 0x00000004
1967 0x00000002
1968 0x00000000
1969 0x00000007
1970 0x00000007
1971 0x0000000d
1972 0x00000002
1973 0x00000000
1974 0x00000002
1975 0x0000000f
1976 0x000a0000
1977 0x00000004
1978 0x00000000
1979 0x00000000
1980 0x00000000
1981 0x00000000
1982 0x00000001
1983 0x00000016
1984 0x0000001a
1985 0x0000001c
1986 0x00001be7
1987 0x00000000
1988 0x000006f9
1989 0x00000004
1990 0x00000015
1991 0x00000001
1992 0x00000000
1993 0x000000e7
1994 0x0000001b
1995 0x000000fb
1996 0x00000200
1997 0x00000006
1998 0x00000007
1999 0x00000006
2000 0x0000001e
2001 0x00000000
2002 0x0000000a
2003 0x0000000a
2004 0x00001c28
2005 0x00000000
2006 0x00000000
2007 0x00000000
2008 0x104ab898
2009 0xe00400b1
2010 0x00008000
2011 0x007f800a
2012 0x007f800a
2013 0x007f800a
2014 0x007f800a
2015 0x007f800a
2016 0x007f800a
2017 0x007f800a
2018 0x007f800a
2019 0x007f800a
2020 0x007f800a
2021 0x007f800a
2022 0x007f800a
2023 0x007f800a
2024 0x007f800a
2025 0x007f800a
2026 0x007f800a
2027 0x00000000
2028 0x00000000
2029 0x00000000
2030 0x00000000
2031 0x00000000
2032 0x00000000
2033 0x00000000
2034 0x00000000
2035 0x0002c000
2036 0x0002c000
2037 0x00000000
2038 0x0002c000
2039 0x0002c000
2040 0x00000000
2041 0x00000000
2042 0x00000000
2043 0x00000000
2044 0x00000000
2045 0x00000000
2046 0x00000000
2047 0x00000000
2048 0x00000000
2049 0x00000004
2050 0x00000004
2051 0x00000004
2052 0x00000004
2053 0x00000004
2054 0x00000004
2055 0x00000004
2056 0x00000004
2057 0x00000004
2058 0x00000004
2059 0x00000004
2060 0x00000004
2061 0x00000004
2062 0x00000004
2063 0x00000004
2064 0x00000004
2065 0x00000008
2066 0x00000008
2067 0x00000008
2068 0x00000008
2069 0x00000008
2070 0x00000008
2071 0x00000008
2072 0x00000008
2073 0x100002a0
2074 0x00000000
2075 0x00111111
2076 0x00000000
2077 0x00000000
2078 0x77ffc085
2079 0x00000000
2080 0x81f1f108
2081 0x07070004
2082 0x00000000
2083 0x016eeeee
2084 0x5d75d720
2085 0x00514514
2086 0x00514514
2087 0x5d75d700
2088 0x0606003f
2089 0x00000000
2090 0x00000000
2091 0x00000128
2092 0x00cd000e
2093 0x00000000
2094 0x00000004
2095 0x00004080
2096 0x800037ea
2097 0x00000011
2098 >;
2099 };
2100
2101 };
2102 };
2103
2104 memory-controller@0,70019000 {
2105 emc-timings-3 {
2106 nvidia,ram-code = <3>;
2107
2108 timing-12750000 {
2109 clock-frequency = <12750000>;
2110
2111 nvidia,emem-configuration = <
2112 0x40040001
2113 0x8000000a
2114 0x00000001
2115 0x00000001
2116 0x00000002
2117 0x00000000
2118 0x00000002
2119 0x00000001
2120 0x00000003
2121 0x00000008
2122 0x00000003
2123 0x00000002
2124 0x00000003
2125 0x00000006
2126 0x06030203
2127 0x000a0502
2128 0x77e30303
2129 0x70000f03
2130 0x001f0000
2131 >;
2132 };
2133
2134 timing-20400000 {
2135 clock-frequency = <20400000>;
2136
2137 nvidia,emem-configuration = <
2138 0x40020001
2139 0x80000012
2140 0x00000001
2141 0x00000001
2142 0x00000002
2143 0x00000000
2144 0x00000002
2145 0x00000001
2146 0x00000003
2147 0x00000008
2148 0x00000003
2149 0x00000002
2150 0x00000003
2151 0x00000006
2152 0x06030203
2153 0x000a0502
2154 0x76230303
2155 0x70000f03
2156 0x001f0000
2157 >;
2158 };
2159
2160 timing-40800000 {
2161 clock-frequency = <40800000>;
2162
2163 nvidia,emem-configuration = <
2164 0xa0000001
2165 0x80000017
2166 0x00000001
2167 0x00000001
2168 0x00000002
2169 0x00000000
2170 0x00000002
2171 0x00000001
2172 0x00000003
2173 0x00000008
2174 0x00000003
2175 0x00000002
2176 0x00000003
2177 0x00000006
2178 0x06030203
2179 0x000a0502
2180 0x74a30303
2181 0x70000f03
2182 0x001f0000
2183 >;
2184 };
2185
2186 timing-68000000 {
2187 clock-frequency = <68000000>;
2188
2189 nvidia,emem-configuration = <
2190 0x00000001
2191 0x8000001e
2192 0x00000001
2193 0x00000001
2194 0x00000002
2195 0x00000000
2196 0x00000002
2197 0x00000001
2198 0x00000003
2199 0x00000008
2200 0x00000003
2201 0x00000002
2202 0x00000003
2203 0x00000006
2204 0x06030203
2205 0x000a0502
2206 0x74230403
2207 0x70000f03
2208 0x001f0000
2209 >;
2210 };
2211
2212 timing-102000000 {
2213 clock-frequency = <102000000>;
2214
2215 nvidia,emem-configuration = <
2216 0x08000001
2217 0x80000026
2218 0x00000001
2219 0x00000001
2220 0x00000003
2221 0x00000000
2222 0x00000002
2223 0x00000001
2224 0x00000003
2225 0x00000008
2226 0x00000003
2227 0x00000002
2228 0x00000003
2229 0x00000006
2230 0x06030203
2231 0x000a0503
2232 0x73c30504
2233 0x70000f03
2234 0x001f0000
2235 >;
2236 };
2237
2238 timing-204000000 {
2239 clock-frequency = <204000000>;
2240
2241 nvidia,emem-configuration = <
2242 0x01000003
2243 0x80000040
2244 0x00000001
2245 0x00000001
2246 0x00000004
2247 0x00000002
2248 0x00000003
2249 0x00000001
2250 0x00000003
2251 0x00000008
2252 0x00000003
2253 0x00000002
2254 0x00000004
2255 0x00000006
2256 0x06040203
2257 0x000a0504
2258 0x73840a05
2259 0x70000f03
2260 0x001f0000
2261 >;
2262 };
2263
2264 timing-300000000 {
2265 clock-frequency = <300000000>;
2266
2267 nvidia,emem-configuration = <
2268 0x08000004
2269 0x80000040
2270 0x00000001
2271 0x00000002
2272 0x00000007
2273 0x00000004
2274 0x00000004
2275 0x00000001
2276 0x00000002
2277 0x00000007
2278 0x00000002
2279 0x00000002
2280 0x00000004
2281 0x00000006
2282 0x06040202
2283 0x000b0607
2284 0x77450e08
2285 0x70000f03
2286 0x001f0000
2287 >;
2288 };
2289
2290 timing-396000000 {
2291 clock-frequency = <396000000>;
2292
2293 nvidia,emem-configuration = <
2294 0x0f000005
2295 0x80000040
2296 0x00000001
2297 0x00000002
2298 0x00000009
2299 0x00000005
2300 0x00000006
2301 0x00000001
2302 0x00000002
2303 0x00000008
2304 0x00000002
2305 0x00000002
2306 0x00000004
2307 0x00000006
2308 0x06040202
2309 0x000d0709
2310 0x7586120a
2311 0x70000f03
2312 0x001f0000
2313 >;
2314 };
2315
2316 timing-528000000 {
2317 clock-frequency = <528000000>;
2318
2319 nvidia,emem-configuration = <
2320 0x0f000007
2321 0x80000040
2322 0x00000002
2323 0x00000003
2324 0x0000000c
2325 0x00000007
2326 0x00000008
2327 0x00000001
2328 0x00000002
2329 0x00000009
2330 0x00000002
2331 0x00000002
2332 0x00000005
2333 0x00000006
2334 0x06050202
2335 0x0010090c
2336 0x7428180d
2337 0x70000f03
2338 0x001f0000
2339 >;
2340 };
2341
2342 timing-600000000 {
2343 clock-frequency = <600000000>;
2344
2345 nvidia,emem-configuration = <
2346 0x00000009
2347 0x80000040
2348 0x00000003
2349 0x00000004
2350 0x0000000e
2351 0x00000009
2352 0x0000000a
2353 0x00000001
2354 0x00000003
2355 0x0000000b
2356 0x00000002
2357 0x00000002
2358 0x00000005
2359 0x00000007
2360 0x07050202
2361 0x00130b0e
2362 0x73a91b0f
2363 0x70000f03
2364 0x001f0000
2365 >;
2366 };
2367
2368 timing-792000000 {
2369 clock-frequency = <792000000>;
2370
2371 nvidia,emem-configuration = <
2372 0x0e00000b
2373 0x80000040
2374 0x00000004
2375 0x00000005
2376 0x00000013
2377 0x0000000c
2378 0x0000000d
2379 0x00000002
2380 0x00000003
2381 0x0000000c
2382 0x00000002
2383 0x00000002
2384 0x00000006
2385 0x00000008
2386 0x08060202
2387 0x00170e13
2388 0x736c2414
2389 0x70000f02
2390 0x001f0000
2391 >;
2392 };
2393
2394 timing-924000000 {
2395 clock-frequency = <924000000>;
2396
2397 nvidia,emem-configuration = <
2398 0x0e00000d
2399 0x80000040
2400 0x00000005
2401 0x00000006
2402 0x00000016
2403 0x0000000e
2404 0x0000000f
2405 0x00000002
2406 0x00000004
2407 0x0000000e
2408 0x00000002
2409 0x00000002
2410 0x00000006
2411 0x00000009
2412 0x09060202
2413 0x001a1016
2414 0x734e2a17
2415 0x70000f02
2416 0x001f0000
2417 >;
2418 };
2419 };
2420 };
2421};
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index dbfaba09703a..ed8a8acd3d34 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -3,6 +3,8 @@
3#include <dt-bindings/input/input.h> 3#include <dt-bindings/input/input.h>
4#include "tegra124.dtsi" 4#include "tegra124.dtsi"
5 5
6#include "tegra124-jetson-tk1-emc.dtsi"
7
6/ { 8/ {
7 model = "NVIDIA Tegra124 Jetson TK1"; 9 model = "NVIDIA Tegra124 Jetson TK1";
8 compatible = "nvidia,jetson-tk1", "nvidia,tegra124"; 10 compatible = "nvidia,jetson-tk1", "nvidia,tegra124";
@@ -60,35 +62,35 @@
60 nvidia,pins = "clk_32k_out_pa0"; 62 nvidia,pins = "clk_32k_out_pa0";
61 nvidia,function = "soc"; 63 nvidia,function = "soc";
62 nvidia,pull = <TEGRA_PIN_PULL_UP>; 64 nvidia,pull = <TEGRA_PIN_PULL_UP>;
63 nvidia,tristate = <TEGRA_PIN_DISABLE>; 65 nvidia,tristate = <TEGRA_PIN_ENABLE>;
64 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 66 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
65 }; 67 };
66 uart3_cts_n_pa1 { 68 uart3_cts_n_pa1 {
67 nvidia,pins = "uart3_cts_n_pa1"; 69 nvidia,pins = "uart3_cts_n_pa1";
68 nvidia,function = "uartc"; 70 nvidia,function = "gmi";
69 nvidia,pull = <TEGRA_PIN_PULL_UP>; 71 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
70 nvidia,tristate = <TEGRA_PIN_DISABLE>; 72 nvidia,tristate = <TEGRA_PIN_ENABLE>;
71 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 73 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
72 }; 74 };
73 dap2_fs_pa2 { 75 dap2_fs_pa2 {
74 nvidia,pins = "dap2_fs_pa2"; 76 nvidia,pins = "dap2_fs_pa2";
75 nvidia,function = "i2s1"; 77 nvidia,function = "i2s1";
76 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 78 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
77 nvidia,tristate = <TEGRA_PIN_DISABLE>; 79 nvidia,tristate = <TEGRA_PIN_DISABLE>;
78 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 80 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
79 }; 81 };
80 dap2_sclk_pa3 { 82 dap2_sclk_pa3 {
81 nvidia,pins = "dap2_sclk_pa3"; 83 nvidia,pins = "dap2_sclk_pa3";
82 nvidia,function = "i2s1"; 84 nvidia,function = "i2s1";
83 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 85 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
84 nvidia,tristate = <TEGRA_PIN_DISABLE>; 86 nvidia,tristate = <TEGRA_PIN_DISABLE>;
85 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 87 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
86 }; 88 };
87 dap2_din_pa4 { 89 dap2_din_pa4 {
88 nvidia,pins = "dap2_din_pa4"; 90 nvidia,pins = "dap2_din_pa4";
89 nvidia,function = "i2s1"; 91 nvidia,function = "i2s1";
90 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 92 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
91 nvidia,tristate = <TEGRA_PIN_DISABLE>; 93 nvidia,tristate = <TEGRA_PIN_ENABLE>;
92 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 94 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
93 }; 95 };
94 dap2_dout_pa5 { 96 dap2_dout_pa5 {
@@ -96,14 +98,14 @@
96 nvidia,function = "i2s1"; 98 nvidia,function = "i2s1";
97 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 99 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
98 nvidia,tristate = <TEGRA_PIN_DISABLE>; 100 nvidia,tristate = <TEGRA_PIN_DISABLE>;
99 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 101 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
100 }; 102 };
101 sdmmc3_clk_pa6 { 103 sdmmc3_clk_pa6 {
102 nvidia,pins = "sdmmc3_clk_pa6"; 104 nvidia,pins = "sdmmc3_clk_pa6";
103 nvidia,function = "sdmmc3"; 105 nvidia,function = "sdmmc3";
104 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 106 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
105 nvidia,tristate = <TEGRA_PIN_DISABLE>; 107 nvidia,tristate = <TEGRA_PIN_DISABLE>;
106 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 108 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
107 }; 109 };
108 sdmmc3_cmd_pa7 { 110 sdmmc3_cmd_pa7 {
109 nvidia,pins = "sdmmc3_cmd_pa7"; 111 nvidia,pins = "sdmmc3_cmd_pa7";
@@ -116,14 +118,14 @@
116 nvidia,pins = "pb0"; 118 nvidia,pins = "pb0";
117 nvidia,function = "uartd"; 119 nvidia,function = "uartd";
118 nvidia,pull = <TEGRA_PIN_PULL_UP>; 120 nvidia,pull = <TEGRA_PIN_PULL_UP>;
119 nvidia,tristate = <TEGRA_PIN_DISABLE>; 121 nvidia,tristate = <TEGRA_PIN_ENABLE>;
120 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 122 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
121 }; 123 };
122 pb1 { 124 pb1 {
123 nvidia,pins = "pb1"; 125 nvidia,pins = "pb1";
124 nvidia,function = "uartd"; 126 nvidia,function = "uartd";
125 nvidia,pull = <TEGRA_PIN_PULL_UP>; 127 nvidia,pull = <TEGRA_PIN_PULL_UP>;
126 nvidia,tristate = <TEGRA_PIN_DISABLE>; 128 nvidia,tristate = <TEGRA_PIN_ENABLE>;
127 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 129 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
128 }; 130 };
129 sdmmc3_dat3_pb4 { 131 sdmmc3_dat3_pb4 {
@@ -156,9 +158,9 @@
156 }; 158 };
157 uart3_rts_n_pc0 { 159 uart3_rts_n_pc0 {
158 nvidia,pins = "uart3_rts_n_pc0"; 160 nvidia,pins = "uart3_rts_n_pc0";
159 nvidia,function = "uartc"; 161 nvidia,function = "gmi";
160 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 162 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
161 nvidia,tristate = <TEGRA_PIN_DISABLE>; 163 nvidia,tristate = <TEGRA_PIN_ENABLE>;
162 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 164 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
163 }; 165 };
164 uart2_txd_pc2 { 166 uart2_txd_pc2 {
@@ -172,7 +174,7 @@
172 nvidia,pins = "uart2_rxd_pc3"; 174 nvidia,pins = "uart2_rxd_pc3";
173 nvidia,function = "irda"; 175 nvidia,function = "irda";
174 nvidia,pull = <TEGRA_PIN_PULL_UP>; 176 nvidia,pull = <TEGRA_PIN_PULL_UP>;
175 nvidia,tristate = <TEGRA_PIN_DISABLE>; 177 nvidia,tristate = <TEGRA_PIN_ENABLE>;
176 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 178 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
177 }; 179 };
178 gen1_i2c_scl_pc4 { 180 gen1_i2c_scl_pc4 {
@@ -194,44 +196,39 @@
194 pc7 { 196 pc7 {
195 nvidia,pins = "pc7"; 197 nvidia,pins = "pc7";
196 nvidia,function = "rsvd1"; 198 nvidia,function = "rsvd1";
197 nvidia,pull = <TEGRA_PIN_PULL_UP>; 199 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
198 nvidia,tristate = <TEGRA_PIN_DISABLE>; 200 nvidia,tristate = <TEGRA_PIN_ENABLE>;
199 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 201 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
200 }; 202 };
201 pg0 { 203 pg0 {
202 nvidia,pins = "pg0"; 204 nvidia,pins = "pg0";
203 nvidia,function = "rsvd1";
204 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 205 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
205 nvidia,tristate = <TEGRA_PIN_DISABLE>; 206 nvidia,tristate = <TEGRA_PIN_ENABLE>;
206 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 207 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
207 }; 208 };
208 pg1 { 209 pg1 {
209 nvidia,pins = "pg1"; 210 nvidia,pins = "pg1";
210 nvidia,function = "rsvd1";
211 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 211 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
212 nvidia,tristate = <TEGRA_PIN_DISABLE>; 212 nvidia,tristate = <TEGRA_PIN_ENABLE>;
213 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 213 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
214 }; 214 };
215 pg2 { 215 pg2 {
216 nvidia,pins = "pg2"; 216 nvidia,pins = "pg2";
217 nvidia,function = "rsvd1"; 217 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
218 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 218 nvidia,tristate = <TEGRA_PIN_ENABLE>;
219 nvidia,tristate = <TEGRA_PIN_DISABLE>;
220 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 219 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
221 }; 220 };
222 pg3 { 221 pg3 {
223 nvidia,pins = "pg3"; 222 nvidia,pins = "pg3";
224 nvidia,function = "rsvd1"; 223 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
225 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 224 nvidia,tristate = <TEGRA_PIN_ENABLE>;
226 nvidia,tristate = <TEGRA_PIN_DISABLE>;
227 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 225 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
228 }; 226 };
229 pg4 { 227 pg4 {
230 nvidia,pins = "pg4"; 228 nvidia,pins = "pg4";
231 nvidia,function = "spi4";
232 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 229 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
233 nvidia,tristate = <TEGRA_PIN_DISABLE>; 230 nvidia,tristate = <TEGRA_PIN_ENABLE>;
234 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 231 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
235 }; 232 };
236 pg5 { 233 pg5 {
237 nvidia,pins = "pg5"; 234 nvidia,pins = "pg5";
@@ -251,7 +248,7 @@
251 nvidia,pins = "pg7"; 248 nvidia,pins = "pg7";
252 nvidia,function = "spi4"; 249 nvidia,function = "spi4";
253 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 250 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
254 nvidia,tristate = <TEGRA_PIN_DISABLE>; 251 nvidia,tristate = <TEGRA_PIN_ENABLE>;
255 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 252 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
256 }; 253 };
257 ph0 { 254 ph0 {
@@ -270,7 +267,6 @@
270 }; 267 };
271 ph2 { 268 ph2 {
272 nvidia,pins = "ph2"; 269 nvidia,pins = "ph2";
273 nvidia,function = "gmi";
274 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 270 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
275 nvidia,tristate = <TEGRA_PIN_DISABLE>; 271 nvidia,tristate = <TEGRA_PIN_DISABLE>;
276 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 272 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -278,57 +274,53 @@
278 ph3 { 274 ph3 {
279 nvidia,pins = "ph3"; 275 nvidia,pins = "ph3";
280 nvidia,function = "gmi"; 276 nvidia,function = "gmi";
281 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 277 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
282 nvidia,tristate = <TEGRA_PIN_DISABLE>; 278 nvidia,tristate = <TEGRA_PIN_ENABLE>;
283 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 279 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
284 }; 280 };
285 ph4 { 281 ph4 {
286 nvidia,pins = "ph4"; 282 nvidia,pins = "ph4";
287 nvidia,function = "rsvd2"; 283 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
288 nvidia,pull = <TEGRA_PIN_PULL_UP>; 284 nvidia,tristate = <TEGRA_PIN_ENABLE>;
289 nvidia,tristate = <TEGRA_PIN_DISABLE>;
290 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 285 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
291 }; 286 };
292 ph5 { 287 ph5 {
293 nvidia,pins = "ph5"; 288 nvidia,pins = "ph5";
294 nvidia,function = "rsvd2"; 289 nvidia,function = "rsvd2";
295 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 290 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
296 nvidia,tristate = <TEGRA_PIN_DISABLE>; 291 nvidia,tristate = <TEGRA_PIN_ENABLE>;
297 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 292 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
298 }; 293 };
299 ph6 { 294 ph6 {
300 nvidia,pins = "ph6"; 295 nvidia,pins = "ph6";
301 nvidia,function = "gmi"; 296 nvidia,function = "gmi";
302 nvidia,pull = <TEGRA_PIN_PULL_UP>; 297 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
303 nvidia,tristate = <TEGRA_PIN_DISABLE>; 298 nvidia,tristate = <TEGRA_PIN_ENABLE>;
304 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 299 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
305 }; 300 };
306 ph7 { 301 ph7 {
307 nvidia,pins = "ph7"; 302 nvidia,pins = "ph7";
308 nvidia,function = "gmi";
309 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 303 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
310 nvidia,tristate = <TEGRA_PIN_DISABLE>; 304 nvidia,tristate = <TEGRA_PIN_DISABLE>;
311 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 305 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
312 }; 306 };
313 pi0 { 307 pi0 {
314 nvidia,pins = "pi0"; 308 nvidia,pins = "pi0";
315 nvidia,function = "rsvd1";
316 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 309 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
317 nvidia,tristate = <TEGRA_PIN_DISABLE>; 310 nvidia,tristate = <TEGRA_PIN_DISABLE>;
318 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 311 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
319 }; 312 };
320 pi1 { 313 pi1 {
321 nvidia,pins = "pi1"; 314 nvidia,pins = "pi1";
322 nvidia,function = "rsvd1"; 315 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
323 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
324 nvidia,tristate = <TEGRA_PIN_ENABLE>; 316 nvidia,tristate = <TEGRA_PIN_ENABLE>;
325 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 317 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
326 }; 318 };
327 pi2 { 319 pi2 {
328 nvidia,pins = "pi2"; 320 nvidia,pins = "pi2";
329 nvidia,function = "rsvd4"; 321 nvidia,function = "rsvd4";
330 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 322 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
331 nvidia,tristate = <TEGRA_PIN_DISABLE>; 323 nvidia,tristate = <TEGRA_PIN_ENABLE>;
332 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 324 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
333 }; 325 };
334 pi3 { 326 pi3 {
@@ -341,22 +333,21 @@
341 pi4 { 333 pi4 {
342 nvidia,pins = "pi4"; 334 nvidia,pins = "pi4";
343 nvidia,function = "gmi"; 335 nvidia,function = "gmi";
344 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 336 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
345 nvidia,tristate = <TEGRA_PIN_DISABLE>; 337 nvidia,tristate = <TEGRA_PIN_ENABLE>;
346 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 338 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
347 }; 339 };
348 pi5 { 340 pi5 {
349 nvidia,pins = "pi5"; 341 nvidia,pins = "pi5";
350 nvidia,function = "rsvd2"; 342 nvidia,function = "rsvd2";
351 nvidia,pull = <TEGRA_PIN_PULL_UP>; 343 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
352 nvidia,tristate = <TEGRA_PIN_DISABLE>; 344 nvidia,tristate = <TEGRA_PIN_ENABLE>;
353 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 345 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
354 }; 346 };
355 pi6 { 347 pi6 {
356 nvidia,pins = "pi6"; 348 nvidia,pins = "pi6";
357 nvidia,function = "rsvd1"; 349 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
358 nvidia,pull = <TEGRA_PIN_PULL_UP>; 350 nvidia,tristate = <TEGRA_PIN_ENABLE>;
359 nvidia,tristate = <TEGRA_PIN_DISABLE>;
360 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 351 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
361 }; 352 };
362 pi7 { 353 pi7 {
@@ -368,23 +359,22 @@
368 }; 359 };
369 pj0 { 360 pj0 {
370 nvidia,pins = "pj0"; 361 nvidia,pins = "pj0";
371 nvidia,function = "rsvd1"; 362 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
372 nvidia,pull = <TEGRA_PIN_PULL_UP>; 363 nvidia,tristate = <TEGRA_PIN_ENABLE>;
373 nvidia,tristate = <TEGRA_PIN_DISABLE>;
374 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 364 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
375 }; 365 };
376 pj2 { 366 pj2 {
377 nvidia,pins = "pj2"; 367 nvidia,pins = "pj2";
378 nvidia,function = "rsvd1"; 368 nvidia,function = "rsvd1";
379 nvidia,pull = <TEGRA_PIN_PULL_UP>; 369 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
380 nvidia,tristate = <TEGRA_PIN_DISABLE>; 370 nvidia,tristate = <TEGRA_PIN_ENABLE>;
381 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 371 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
382 }; 372 };
383 uart2_cts_n_pj5 { 373 uart2_cts_n_pj5 {
384 nvidia,pins = "uart2_cts_n_pj5"; 374 nvidia,pins = "uart2_cts_n_pj5";
385 nvidia,function = "uartb"; 375 nvidia,function = "uartb";
386 nvidia,pull = <TEGRA_PIN_PULL_UP>; 376 nvidia,pull = <TEGRA_PIN_PULL_UP>;
387 nvidia,tristate = <TEGRA_PIN_DISABLE>; 377 nvidia,tristate = <TEGRA_PIN_ENABLE>;
388 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 378 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
389 }; 379 };
390 uart2_rts_n_pj6 { 380 uart2_rts_n_pj6 {
@@ -403,35 +393,32 @@
403 }; 393 };
404 pk0 { 394 pk0 {
405 nvidia,pins = "pk0"; 395 nvidia,pins = "pk0";
406 nvidia,function = "soc"; 396 nvidia,function = "rsvd1";
407 nvidia,pull = <TEGRA_PIN_PULL_UP>; 397 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
408 nvidia,tristate = <TEGRA_PIN_DISABLE>; 398 nvidia,tristate = <TEGRA_PIN_ENABLE>;
409 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 399 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
410 }; 400 };
411 pk1 { 401 pk1 {
412 nvidia,pins = "pk1"; 402 nvidia,pins = "pk1";
413 nvidia,function = "rsvd4";
414 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 403 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
415 nvidia,tristate = <TEGRA_PIN_DISABLE>; 404 nvidia,tristate = <TEGRA_PIN_DISABLE>;
416 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 405 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
417 }; 406 };
418 pk2 { 407 pk2 {
419 nvidia,pins = "pk2"; 408 nvidia,pins = "pk2";
420 nvidia,function = "rsvd1"; 409 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
421 nvidia,pull = <TEGRA_PIN_PULL_UP>;
422 nvidia,tristate = <TEGRA_PIN_DISABLE>; 410 nvidia,tristate = <TEGRA_PIN_DISABLE>;
423 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 411 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
424 }; 412 };
425 pk3 { 413 pk3 {
426 nvidia,pins = "pk3"; 414 nvidia,pins = "pk3";
427 nvidia,function = "gmi"; 415 nvidia,function = "gmi";
428 nvidia,pull = <TEGRA_PIN_PULL_UP>; 416 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
429 nvidia,tristate = <TEGRA_PIN_DISABLE>; 417 nvidia,tristate = <TEGRA_PIN_ENABLE>;
430 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 418 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
431 }; 419 };
432 pk4 { 420 pk4 {
433 nvidia,pins = "pk4"; 421 nvidia,pins = "pk4";
434 nvidia,function = "rsvd2";
435 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 422 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
436 nvidia,tristate = <TEGRA_PIN_DISABLE>; 423 nvidia,tristate = <TEGRA_PIN_DISABLE>;
437 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 424 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -439,13 +426,12 @@
439 spdif_out_pk5 { 426 spdif_out_pk5 {
440 nvidia,pins = "spdif_out_pk5"; 427 nvidia,pins = "spdif_out_pk5";
441 nvidia,function = "rsvd2"; 428 nvidia,function = "rsvd2";
442 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 429 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
443 nvidia,tristate = <TEGRA_PIN_DISABLE>; 430 nvidia,tristate = <TEGRA_PIN_ENABLE>;
444 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 431 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
445 }; 432 };
446 spdif_in_pk6 { 433 spdif_in_pk6 {
447 nvidia,pins = "spdif_in_pk6"; 434 nvidia,pins = "spdif_in_pk6";
448 nvidia,function = "rsvd2";
449 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 435 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
450 nvidia,tristate = <TEGRA_PIN_DISABLE>; 436 nvidia,tristate = <TEGRA_PIN_DISABLE>;
451 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 437 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -459,17 +445,17 @@
459 }; 445 };
460 dap1_fs_pn0 { 446 dap1_fs_pn0 {
461 nvidia,pins = "dap1_fs_pn0"; 447 nvidia,pins = "dap1_fs_pn0";
462 nvidia,function = "i2s0"; 448 nvidia,function = "rsvd4";
463 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 449 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
464 nvidia,tristate = <TEGRA_PIN_DISABLE>; 450 nvidia,tristate = <TEGRA_PIN_ENABLE>;
465 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 451 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
466 }; 452 };
467 dap1_din_pn1 { 453 dap1_din_pn1 {
468 nvidia,pins = "dap1_din_pn1"; 454 nvidia,pins = "dap1_din_pn1";
469 nvidia,function = "i2s0"; 455 nvidia,function = "rsvd4";
470 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 456 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
471 nvidia,tristate = <TEGRA_PIN_DISABLE>; 457 nvidia,tristate = <TEGRA_PIN_ENABLE>;
472 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 458 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
473 }; 459 };
474 dap1_dout_pn2 { 460 dap1_dout_pn2 {
475 nvidia,pins = "dap1_dout_pn2"; 461 nvidia,pins = "dap1_dout_pn2";
@@ -480,108 +466,104 @@
480 }; 466 };
481 dap1_sclk_pn3 { 467 dap1_sclk_pn3 {
482 nvidia,pins = "dap1_sclk_pn3"; 468 nvidia,pins = "dap1_sclk_pn3";
483 nvidia,function = "i2s0"; 469 nvidia,function = "rsvd4";
484 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 470 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
485 nvidia,tristate = <TEGRA_PIN_DISABLE>; 471 nvidia,tristate = <TEGRA_PIN_ENABLE>;
486 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 472 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
487 }; 473 };
488 usb_vbus_en0_pn4 { 474 usb_vbus_en0_pn4 {
489 nvidia,pins = "usb_vbus_en0_pn4"; 475 nvidia,pins = "usb_vbus_en0_pn4";
490 nvidia,function = "usb"; 476 nvidia,function = "usb";
491 nvidia,pull = <TEGRA_PIN_PULL_UP>; 477 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
492 nvidia,tristate = <TEGRA_PIN_DISABLE>; 478 nvidia,tristate = <TEGRA_PIN_DISABLE>;
493 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 479 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
494 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 480 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
495 }; 481 };
496 usb_vbus_en1_pn5 { 482 usb_vbus_en1_pn5 {
497 nvidia,pins = "usb_vbus_en1_pn5"; 483 nvidia,pins = "usb_vbus_en1_pn5";
498 nvidia,function = "usb"; 484 nvidia,function = "usb";
499 nvidia,pull = <TEGRA_PIN_PULL_UP>; 485 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
500 nvidia,tristate = <TEGRA_PIN_DISABLE>; 486 nvidia,tristate = <TEGRA_PIN_DISABLE>;
501 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 487 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
502 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 488 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
503 }; 489 };
504 hdmi_int_pn7 { 490 hdmi_int_pn7 {
505 nvidia,pins = "hdmi_int_pn7"; 491 nvidia,pins = "hdmi_int_pn7";
506 nvidia,function = "rsvd1";
507 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 492 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
508 nvidia,tristate = <TEGRA_PIN_DISABLE>; 493 nvidia,tristate = <TEGRA_PIN_ENABLE>;
509 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 494 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
510 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>; 495 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
511 }; 496 };
512 ulpi_data7_po0 { 497 ulpi_data7_po0 {
513 nvidia,pins = "ulpi_data7_po0"; 498 nvidia,pins = "ulpi_data7_po0";
514 nvidia,function = "ulpi"; 499 nvidia,function = "ulpi";
515 nvidia,pull = <TEGRA_PIN_PULL_UP>; 500 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
516 nvidia,tristate = <TEGRA_PIN_DISABLE>; 501 nvidia,tristate = <TEGRA_PIN_ENABLE>;
517 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 502 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
518 }; 503 };
519 ulpi_data0_po1 { 504 ulpi_data0_po1 {
520 nvidia,pins = "ulpi_data0_po1"; 505 nvidia,pins = "ulpi_data0_po1";
521 nvidia,function = "ulpi"; 506 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
522 nvidia,pull = <TEGRA_PIN_PULL_UP>; 507 nvidia,tristate = <TEGRA_PIN_ENABLE>;
523 nvidia,tristate = <TEGRA_PIN_DISABLE>;
524 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 508 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
525 }; 509 };
526 ulpi_data1_po2 { 510 ulpi_data1_po2 {
527 nvidia,pins = "ulpi_data1_po2"; 511 nvidia,pins = "ulpi_data1_po2";
528 nvidia,function = "ulpi"; 512 nvidia,function = "ulpi";
529 nvidia,pull = <TEGRA_PIN_PULL_UP>; 513 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
530 nvidia,tristate = <TEGRA_PIN_DISABLE>; 514 nvidia,tristate = <TEGRA_PIN_ENABLE>;
531 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 515 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
532 }; 516 };
533 ulpi_data2_po3 { 517 ulpi_data2_po3 {
534 nvidia,pins = "ulpi_data2_po3"; 518 nvidia,pins = "ulpi_data2_po3";
535 nvidia,function = "ulpi"; 519 nvidia,function = "ulpi";
536 nvidia,pull = <TEGRA_PIN_PULL_UP>; 520 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
537 nvidia,tristate = <TEGRA_PIN_DISABLE>; 521 nvidia,tristate = <TEGRA_PIN_ENABLE>;
538 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 522 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
539 }; 523 };
540 ulpi_data3_po4 { 524 ulpi_data3_po4 {
541 nvidia,pins = "ulpi_data3_po4"; 525 nvidia,pins = "ulpi_data3_po4";
542 nvidia,function = "ulpi"; 526 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
543 nvidia,pull = <TEGRA_PIN_PULL_UP>; 527 nvidia,tristate = <TEGRA_PIN_ENABLE>;
544 nvidia,tristate = <TEGRA_PIN_DISABLE>;
545 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 528 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
546 }; 529 };
547 ulpi_data4_po5 { 530 ulpi_data4_po5 {
548 nvidia,pins = "ulpi_data4_po5"; 531 nvidia,pins = "ulpi_data4_po5";
549 nvidia,function = "ulpi"; 532 nvidia,function = "ulpi";
550 nvidia,pull = <TEGRA_PIN_PULL_UP>; 533 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
551 nvidia,tristate = <TEGRA_PIN_DISABLE>; 534 nvidia,tristate = <TEGRA_PIN_ENABLE>;
552 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 535 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
553 }; 536 };
554 ulpi_data5_po6 { 537 ulpi_data5_po6 {
555 nvidia,pins = "ulpi_data5_po6"; 538 nvidia,pins = "ulpi_data5_po6";
556 nvidia,function = "ulpi"; 539 nvidia,function = "ulpi";
557 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 540 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
558 nvidia,tristate = <TEGRA_PIN_DISABLE>; 541 nvidia,tristate = <TEGRA_PIN_ENABLE>;
559 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 542 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
560 }; 543 };
561 ulpi_data6_po7 { 544 ulpi_data6_po7 {
562 nvidia,pins = "ulpi_data6_po7"; 545 nvidia,pins = "ulpi_data6_po7";
563 nvidia,function = "ulpi"; 546 nvidia,function = "ulpi";
564 nvidia,pull = <TEGRA_PIN_PULL_UP>; 547 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
565 nvidia,tristate = <TEGRA_PIN_DISABLE>; 548 nvidia,tristate = <TEGRA_PIN_ENABLE>;
566 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 549 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
567 }; 550 };
568 dap3_fs_pp0 { 551 dap3_fs_pp0 {
569 nvidia,pins = "dap3_fs_pp0"; 552 nvidia,pins = "dap3_fs_pp0";
570 nvidia,function = "i2s2"; 553 nvidia,function = "i2s2";
571 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 554 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
572 nvidia,tristate = <TEGRA_PIN_DISABLE>; 555 nvidia,tristate = <TEGRA_PIN_ENABLE>;
573 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 556 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
574 }; 557 };
575 dap3_din_pp1 { 558 dap3_din_pp1 {
576 nvidia,pins = "dap3_din_pp1"; 559 nvidia,pins = "dap3_din_pp1";
577 nvidia,function = "i2s2"; 560 nvidia,function = "i2s2";
578 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 561 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
579 nvidia,tristate = <TEGRA_PIN_DISABLE>; 562 nvidia,tristate = <TEGRA_PIN_ENABLE>;
580 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 563 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
581 }; 564 };
582 dap3_dout_pp2 { 565 dap3_dout_pp2 {
583 nvidia,pins = "dap3_dout_pp2"; 566 nvidia,pins = "dap3_dout_pp2";
584 nvidia,function = "rsvd4";
585 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 567 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
586 nvidia,tristate = <TEGRA_PIN_DISABLE>; 568 nvidia,tristate = <TEGRA_PIN_DISABLE>;
587 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 569 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -595,91 +577,87 @@
595 }; 577 };
596 dap4_fs_pp4 { 578 dap4_fs_pp4 {
597 nvidia,pins = "dap4_fs_pp4"; 579 nvidia,pins = "dap4_fs_pp4";
598 nvidia,function = "i2s3"; 580 nvidia,function = "rsvd4";
599 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 581 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
600 nvidia,tristate = <TEGRA_PIN_DISABLE>; 582 nvidia,tristate = <TEGRA_PIN_ENABLE>;
601 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 583 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
602 }; 584 };
603 dap4_din_pp5 { 585 dap4_din_pp5 {
604 nvidia,pins = "dap4_din_pp5"; 586 nvidia,pins = "dap4_din_pp5";
605 nvidia,function = "i2s3"; 587 nvidia,function = "rsvd3";
606 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 588 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
607 nvidia,tristate = <TEGRA_PIN_DISABLE>; 589 nvidia,tristate = <TEGRA_PIN_ENABLE>;
608 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 590 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
609 }; 591 };
610 dap4_dout_pp6 { 592 dap4_dout_pp6 {
611 nvidia,pins = "dap4_dout_pp6"; 593 nvidia,pins = "dap4_dout_pp6";
612 nvidia,function = "i2s3"; 594 nvidia,function = "rsvd4";
613 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 595 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
614 nvidia,tristate = <TEGRA_PIN_DISABLE>; 596 nvidia,tristate = <TEGRA_PIN_ENABLE>;
615 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 597 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
616 }; 598 };
617 dap4_sclk_pp7 { 599 dap4_sclk_pp7 {
618 nvidia,pins = "dap4_sclk_pp7"; 600 nvidia,pins = "dap4_sclk_pp7";
619 nvidia,function = "i2s3"; 601 nvidia,function = "rsvd3";
620 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 602 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
621 nvidia,tristate = <TEGRA_PIN_DISABLE>; 603 nvidia,tristate = <TEGRA_PIN_ENABLE>;
622 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 604 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
623 }; 605 };
624 kb_col0_pq0 { 606 kb_col0_pq0 {
625 nvidia,pins = "kb_col0_pq0"; 607 nvidia,pins = "kb_col0_pq0";
626 nvidia,function = "rsvd2";
627 nvidia,pull = <TEGRA_PIN_PULL_UP>; 608 nvidia,pull = <TEGRA_PIN_PULL_UP>;
628 nvidia,tristate = <TEGRA_PIN_DISABLE>; 609 nvidia,tristate = <TEGRA_PIN_ENABLE>;
629 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 610 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
630 }; 611 };
631 kb_col1_pq1 { 612 kb_col1_pq1 {
632 nvidia,pins = "kb_col1_pq1"; 613 nvidia,pins = "kb_col1_pq1";
633 nvidia,function = "rsvd2"; 614 nvidia,function = "rsvd2";
634 nvidia,pull = <TEGRA_PIN_PULL_UP>; 615 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
635 nvidia,tristate = <TEGRA_PIN_DISABLE>; 616 nvidia,tristate = <TEGRA_PIN_ENABLE>;
636 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 617 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
637 }; 618 };
638 kb_col2_pq2 { 619 kb_col2_pq2 {
639 nvidia,pins = "kb_col2_pq2"; 620 nvidia,pins = "kb_col2_pq2";
640 nvidia,function = "rsvd2"; 621 nvidia,function = "rsvd2";
641 nvidia,pull = <TEGRA_PIN_PULL_UP>; 622 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
642 nvidia,tristate = <TEGRA_PIN_DISABLE>; 623 nvidia,tristate = <TEGRA_PIN_ENABLE>;
643 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 624 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
644 }; 625 };
645 kb_col3_pq3 { 626 kb_col3_pq3 {
646 nvidia,pins = "kb_col3_pq3"; 627 nvidia,pins = "kb_col3_pq3";
647 nvidia,function = "kbc"; 628 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
648 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
649 nvidia,tristate = <TEGRA_PIN_ENABLE>; 629 nvidia,tristate = <TEGRA_PIN_ENABLE>;
650 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 630 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
651 }; 631 };
652 kb_col4_pq4 { 632 kb_col4_pq4 {
653 nvidia,pins = "kb_col4_pq4"; 633 nvidia,pins = "kb_col4_pq4";
654 nvidia,function = "sdmmc3"; 634 nvidia,function = "sdmmc3";
655 nvidia,pull = <TEGRA_PIN_PULL_UP>; 635 nvidia,pull = <TEGRA_PIN_PULL_UP>;
656 nvidia,tristate = <TEGRA_PIN_DISABLE>; 636 nvidia,tristate = <TEGRA_PIN_ENABLE>;
657 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 637 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
658 }; 638 };
659 kb_col5_pq5 { 639 kb_col5_pq5 {
660 nvidia,pins = "kb_col5_pq5"; 640 nvidia,pins = "kb_col5_pq5";
661 nvidia,function = "rsvd2"; 641 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
662 nvidia,pull = <TEGRA_PIN_PULL_UP>; 642 nvidia,tristate = <TEGRA_PIN_ENABLE>;
663 nvidia,tristate = <TEGRA_PIN_DISABLE>;
664 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 643 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
665 }; 644 };
666 kb_col6_pq6 { 645 kb_col6_pq6 {
667 nvidia,pins = "kb_col6_pq6"; 646 nvidia,pins = "kb_col6_pq6";
668 nvidia,function = "rsvd2"; 647 nvidia,function = "rsvd2";
669 nvidia,pull = <TEGRA_PIN_PULL_UP>; 648 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
670 nvidia,tristate = <TEGRA_PIN_DISABLE>; 649 nvidia,tristate = <TEGRA_PIN_ENABLE>;
671 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 650 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
672 }; 651 };
673 kb_col7_pq7 { 652 kb_col7_pq7 {
674 nvidia,pins = "kb_col7_pq7"; 653 nvidia,pins = "kb_col7_pq7";
675 nvidia,function = "rsvd2"; 654 nvidia,function = "rsvd2";
676 nvidia,pull = <TEGRA_PIN_PULL_UP>; 655 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
677 nvidia,tristate = <TEGRA_PIN_DISABLE>; 656 nvidia,tristate = <TEGRA_PIN_ENABLE>;
678 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 657 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
679 }; 658 };
680 kb_row0_pr0 { 659 kb_row0_pr0 {
681 nvidia,pins = "kb_row0_pr0"; 660 nvidia,pins = "kb_row0_pr0";
682 nvidia,function = "rsvd2";
683 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 661 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
684 nvidia,tristate = <TEGRA_PIN_DISABLE>; 662 nvidia,tristate = <TEGRA_PIN_DISABLE>;
685 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 663 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -687,121 +665,115 @@
687 kb_row1_pr1 { 665 kb_row1_pr1 {
688 nvidia,pins = "kb_row1_pr1"; 666 nvidia,pins = "kb_row1_pr1";
689 nvidia,function = "rsvd2"; 667 nvidia,function = "rsvd2";
690 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 668 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
691 nvidia,tristate = <TEGRA_PIN_DISABLE>; 669 nvidia,tristate = <TEGRA_PIN_ENABLE>;
692 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 670 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
693 }; 671 };
694 kb_row2_pr2 { 672 kb_row2_pr2 {
695 nvidia,pins = "kb_row2_pr2"; 673 nvidia,pins = "kb_row2_pr2";
696 nvidia,function = "rsvd2";
697 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 674 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
698 nvidia,tristate = <TEGRA_PIN_DISABLE>; 675 nvidia,tristate = <TEGRA_PIN_DISABLE>;
699 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 676 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
700 }; 677 };
701 kb_row3_pr3 { 678 kb_row3_pr3 {
702 nvidia,pins = "kb_row3_pr3"; 679 nvidia,pins = "kb_row3_pr3";
703 nvidia,function = "sys"; 680 nvidia,function = "kbc";
704 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 681 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
705 nvidia,tristate = <TEGRA_PIN_DISABLE>; 682 nvidia,tristate = <TEGRA_PIN_ENABLE>;
706 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 683 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
707 }; 684 };
708 kb_row4_pr4 { 685 kb_row4_pr4 {
709 nvidia,pins = "kb_row4_pr4"; 686 nvidia,pins = "kb_row4_pr4";
710 nvidia,function = "rsvd3"; 687 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
711 nvidia,pull = <TEGRA_PIN_PULL_UP>; 688 nvidia,tristate = <TEGRA_PIN_ENABLE>;
712 nvidia,tristate = <TEGRA_PIN_DISABLE>;
713 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 689 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
714 }; 690 };
715 kb_row5_pr5 { 691 kb_row5_pr5 {
716 nvidia,pins = "kb_row5_pr5"; 692 nvidia,pins = "kb_row5_pr5";
717 nvidia,function = "rsvd3"; 693 nvidia,function = "rsvd3";
718 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 694 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
719 nvidia,tristate = <TEGRA_PIN_DISABLE>; 695 nvidia,tristate = <TEGRA_PIN_ENABLE>;
720 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 696 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
721 }; 697 };
722 kb_row6_pr6 { 698 kb_row6_pr6 {
723 nvidia,pins = "kb_row6_pr6"; 699 nvidia,pins = "kb_row6_pr6";
724 nvidia,function = "displaya_alt"; 700 nvidia,function = "displaya_alt";
725 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 701 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
726 nvidia,tristate = <TEGRA_PIN_DISABLE>; 702 nvidia,tristate = <TEGRA_PIN_ENABLE>;
727 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 703 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
728 }; 704 };
729 kb_row7_pr7 { 705 kb_row7_pr7 {
730 nvidia,pins = "kb_row7_pr7"; 706 nvidia,pins = "kb_row7_pr7";
731 nvidia,function = "rsvd2"; 707 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
732 nvidia,pull = <TEGRA_PIN_PULL_UP>; 708 nvidia,tristate = <TEGRA_PIN_ENABLE>;
733 nvidia,tristate = <TEGRA_PIN_DISABLE>;
734 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 709 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
735 }; 710 };
736 kb_row8_ps0 { 711 kb_row8_ps0 {
737 nvidia,pins = "kb_row8_ps0"; 712 nvidia,pins = "kb_row8_ps0";
738 nvidia,function = "rsvd2"; 713 nvidia,function = "rsvd2";
739 nvidia,pull = <TEGRA_PIN_PULL_UP>; 714 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
740 nvidia,tristate = <TEGRA_PIN_DISABLE>; 715 nvidia,tristate = <TEGRA_PIN_ENABLE>;
741 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 716 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
742 }; 717 };
743 kb_row9_ps1 { 718 kb_row9_ps1 {
744 nvidia,pins = "kb_row9_ps1"; 719 nvidia,pins = "kb_row9_ps1";
745 nvidia,function = "rsvd2"; 720 nvidia,function = "uarta";
746 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 721 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
747 nvidia,tristate = <TEGRA_PIN_DISABLE>; 722 nvidia,tristate = <TEGRA_PIN_DISABLE>;
748 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 723 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
749 }; 724 };
750 kb_row10_ps2 { 725 kb_row10_ps2 {
751 nvidia,pins = "kb_row10_ps2"; 726 nvidia,pins = "kb_row10_ps2";
752 nvidia,function = "rsvd2"; 727 nvidia,function = "uarta";
753 nvidia,pull = <TEGRA_PIN_PULL_UP>; 728 nvidia,pull = <TEGRA_PIN_PULL_UP>;
754 nvidia,tristate = <TEGRA_PIN_DISABLE>; 729 nvidia,tristate = <TEGRA_PIN_ENABLE>;
755 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 730 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
756 }; 731 };
757 kb_row11_ps3 { 732 kb_row11_ps3 {
758 nvidia,pins = "kb_row11_ps3"; 733 nvidia,pins = "kb_row11_ps3";
759 nvidia,function = "rsvd2"; 734 nvidia,function = "rsvd2";
760 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 735 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
761 nvidia,tristate = <TEGRA_PIN_DISABLE>; 736 nvidia,tristate = <TEGRA_PIN_ENABLE>;
762 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 737 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
763 }; 738 };
764 kb_row12_ps4 { 739 kb_row12_ps4 {
765 nvidia,pins = "kb_row12_ps4"; 740 nvidia,pins = "kb_row12_ps4";
766 nvidia,function = "rsvd2"; 741 nvidia,function = "rsvd2";
767 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 742 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
768 nvidia,tristate = <TEGRA_PIN_DISABLE>; 743 nvidia,tristate = <TEGRA_PIN_ENABLE>;
769 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 744 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
770 }; 745 };
771 kb_row13_ps5 { 746 kb_row13_ps5 {
772 nvidia,pins = "kb_row13_ps5"; 747 nvidia,pins = "kb_row13_ps5";
773 nvidia,function = "rsvd2"; 748 nvidia,function = "rsvd2";
774 nvidia,pull = <TEGRA_PIN_PULL_UP>; 749 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
775 nvidia,tristate = <TEGRA_PIN_DISABLE>; 750 nvidia,tristate = <TEGRA_PIN_ENABLE>;
776 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 751 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
777 }; 752 };
778 kb_row14_ps6 { 753 kb_row14_ps6 {
779 nvidia,pins = "kb_row14_ps6"; 754 nvidia,pins = "kb_row14_ps6";
780 nvidia,function = "rsvd2"; 755 nvidia,function = "rsvd2";
781 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 756 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
782 nvidia,tristate = <TEGRA_PIN_DISABLE>; 757 nvidia,tristate = <TEGRA_PIN_ENABLE>;
783 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 758 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
784 }; 759 };
785 kb_row15_ps7 { 760 kb_row15_ps7 {
786 nvidia,pins = "kb_row15_ps7"; 761 nvidia,pins = "kb_row15_ps7";
787 nvidia,function = "soc"; 762 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
788 nvidia,pull = <TEGRA_PIN_PULL_UP>; 763 nvidia,tristate = <TEGRA_PIN_ENABLE>;
789 nvidia,tristate = <TEGRA_PIN_DISABLE>;
790 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 764 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
791 }; 765 };
792 kb_row16_pt0 { 766 kb_row16_pt0 {
793 nvidia,pins = "kb_row16_pt0"; 767 nvidia,pins = "kb_row16_pt0";
794 nvidia,function = "rsvd2";
795 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 768 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
796 nvidia,tristate = <TEGRA_PIN_DISABLE>; 769 nvidia,tristate = <TEGRA_PIN_DISABLE>;
797 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 770 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
798 }; 771 };
799 kb_row17_pt1 { 772 kb_row17_pt1 {
800 nvidia,pins = "kb_row17_pt1"; 773 nvidia,pins = "kb_row17_pt1";
801 nvidia,function = "rsvd2";
802 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 774 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
803 nvidia,tristate = <TEGRA_PIN_DISABLE>; 775 nvidia,tristate = <TEGRA_PIN_ENABLE>;
804 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 776 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
805 }; 777 };
806 gen2_i2c_scl_pt5 { 778 gen2_i2c_scl_pt5 {
807 nvidia,pins = "gen2_i2c_scl_pt5"; 779 nvidia,pins = "gen2_i2c_scl_pt5";
@@ -828,72 +800,63 @@
828 }; 800 };
829 pu0 { 801 pu0 {
830 nvidia,pins = "pu0"; 802 nvidia,pins = "pu0";
831 nvidia,function = "rsvd4";
832 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 803 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
833 nvidia,tristate = <TEGRA_PIN_DISABLE>; 804 nvidia,tristate = <TEGRA_PIN_DISABLE>;
834 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 805 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
835 }; 806 };
836 pu1 { 807 pu1 {
837 nvidia,pins = "pu1"; 808 nvidia,pins = "pu1";
838 nvidia,function = "rsvd1"; 809 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
839 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
840 nvidia,tristate = <TEGRA_PIN_DISABLE>; 810 nvidia,tristate = <TEGRA_PIN_DISABLE>;
841 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 811 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
842 }; 812 };
843 pu2 { 813 pu2 {
844 nvidia,pins = "pu2"; 814 nvidia,pins = "pu2";
845 nvidia,function = "rsvd1"; 815 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
846 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
847 nvidia,tristate = <TEGRA_PIN_DISABLE>; 816 nvidia,tristate = <TEGRA_PIN_DISABLE>;
848 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 817 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
849 }; 818 };
850 pu3 { 819 pu3 {
851 nvidia,pins = "pu3"; 820 nvidia,pins = "pu3";
852 nvidia,function = "gmi";
853 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 821 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
854 nvidia,tristate = <TEGRA_PIN_DISABLE>; 822 nvidia,tristate = <TEGRA_PIN_DISABLE>;
855 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 823 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
856 }; 824 };
857 pu4 { 825 pu4 {
858 nvidia,pins = "pu4"; 826 nvidia,pins = "pu4";
859 nvidia,function = "gmi";
860 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 827 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
861 nvidia,tristate = <TEGRA_PIN_DISABLE>; 828 nvidia,tristate = <TEGRA_PIN_DISABLE>;
862 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 829 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
863 }; 830 };
864 pu5 { 831 pu5 {
865 nvidia,pins = "pu5"; 832 nvidia,pins = "pu5";
866 nvidia,function = "gmi"; 833 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
867 nvidia,pull = <TEGRA_PIN_PULL_UP>;
868 nvidia,tristate = <TEGRA_PIN_DISABLE>; 834 nvidia,tristate = <TEGRA_PIN_DISABLE>;
869 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 835 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
870 }; 836 };
871 pu6 { 837 pu6 {
872 nvidia,pins = "pu6"; 838 nvidia,pins = "pu6";
873 nvidia,function = "rsvd3"; 839 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
874 nvidia,pull = <TEGRA_PIN_PULL_UP>;
875 nvidia,tristate = <TEGRA_PIN_DISABLE>; 840 nvidia,tristate = <TEGRA_PIN_DISABLE>;
876 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 841 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
877 }; 842 };
878 pv0 { 843 pv0 {
879 nvidia,pins = "pv0"; 844 nvidia,pins = "pv0";
880 nvidia,function = "rsvd1"; 845 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
881 nvidia,pull = <TEGRA_PIN_PULL_UP>; 846 nvidia,tristate = <TEGRA_PIN_ENABLE>;
882 nvidia,tristate = <TEGRA_PIN_DISABLE>;
883 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 847 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
884 }; 848 };
885 pv1 { 849 pv1 {
886 nvidia,pins = "pv1"; 850 nvidia,pins = "pv1";
887 nvidia,function = "rsvd1"; 851 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
888 nvidia,pull = <TEGRA_PIN_PULL_UP>; 852 nvidia,tristate = <TEGRA_PIN_ENABLE>;
889 nvidia,tristate = <TEGRA_PIN_DISABLE>;
890 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 853 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
891 }; 854 };
892 sdmmc3_cd_n_pv2 { 855 sdmmc3_cd_n_pv2 {
893 nvidia,pins = "sdmmc3_cd_n_pv2"; 856 nvidia,pins = "sdmmc3_cd_n_pv2";
894 nvidia,function = "sdmmc3"; 857 nvidia,function = "sdmmc3";
895 nvidia,pull = <TEGRA_PIN_PULL_UP>; 858 nvidia,pull = <TEGRA_PIN_PULL_UP>;
896 nvidia,tristate = <TEGRA_PIN_DISABLE>; 859 nvidia,tristate = <TEGRA_PIN_ENABLE>;
897 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 860 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
898 }; 861 };
899 sdmmc1_wp_n_pv3 { 862 sdmmc1_wp_n_pv3 {
@@ -922,16 +885,16 @@
922 gpio_w2_aud_pw2 { 885 gpio_w2_aud_pw2 {
923 nvidia,pins = "gpio_w2_aud_pw2"; 886 nvidia,pins = "gpio_w2_aud_pw2";
924 nvidia,function = "rsvd2"; 887 nvidia,function = "rsvd2";
925 nvidia,pull = <TEGRA_PIN_PULL_UP>; 888 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
926 nvidia,tristate = <TEGRA_PIN_DISABLE>; 889 nvidia,tristate = <TEGRA_PIN_ENABLE>;
927 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 890 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
928 }; 891 };
929 gpio_w3_aud_pw3 { 892 gpio_w3_aud_pw3 {
930 nvidia,pins = "gpio_w3_aud_pw3"; 893 nvidia,pins = "gpio_w3_aud_pw3";
931 nvidia,function = "spi6"; 894 nvidia,function = "spi6";
932 nvidia,pull = <TEGRA_PIN_PULL_UP>; 895 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
933 nvidia,tristate = <TEGRA_PIN_DISABLE>; 896 nvidia,tristate = <TEGRA_PIN_ENABLE>;
934 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 897 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
935 }; 898 };
936 dap_mclk1_pw4 { 899 dap_mclk1_pw4 {
937 nvidia,pins = "dap_mclk1_pw4"; 900 nvidia,pins = "dap_mclk1_pw4";
@@ -949,17 +912,17 @@
949 }; 912 };
950 uart3_txd_pw6 { 913 uart3_txd_pw6 {
951 nvidia,pins = "uart3_txd_pw6"; 914 nvidia,pins = "uart3_txd_pw6";
952 nvidia,function = "uartc"; 915 nvidia,function = "rsvd2";
953 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 916 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
954 nvidia,tristate = <TEGRA_PIN_DISABLE>; 917 nvidia,tristate = <TEGRA_PIN_ENABLE>;
955 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 918 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
956 }; 919 };
957 uart3_rxd_pw7 { 920 uart3_rxd_pw7 {
958 nvidia,pins = "uart3_rxd_pw7"; 921 nvidia,pins = "uart3_rxd_pw7";
959 nvidia,function = "uartc"; 922 nvidia,function = "rsvd2";
960 nvidia,pull = <TEGRA_PIN_PULL_UP>; 923 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
961 nvidia,tristate = <TEGRA_PIN_DISABLE>; 924 nvidia,tristate = <TEGRA_PIN_ENABLE>;
962 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 925 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
963 }; 926 };
964 dvfs_pwm_px0 { 927 dvfs_pwm_px0 {
965 nvidia,pins = "dvfs_pwm_px0"; 928 nvidia,pins = "dvfs_pwm_px0";
@@ -970,10 +933,9 @@
970 }; 933 };
971 gpio_x1_aud_px1 { 934 gpio_x1_aud_px1 {
972 nvidia,pins = "gpio_x1_aud_px1"; 935 nvidia,pins = "gpio_x1_aud_px1";
973 nvidia,function = "rsvd2";
974 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 936 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
975 nvidia,tristate = <TEGRA_PIN_DISABLE>; 937 nvidia,tristate = <TEGRA_PIN_ENABLE>;
976 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 938 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
977 }; 939 };
978 dvfs_clk_px2 { 940 dvfs_clk_px2 {
979 nvidia,pins = "dvfs_clk_px2"; 941 nvidia,pins = "dvfs_clk_px2";
@@ -985,34 +947,32 @@
985 gpio_x3_aud_px3 { 947 gpio_x3_aud_px3 {
986 nvidia,pins = "gpio_x3_aud_px3"; 948 nvidia,pins = "gpio_x3_aud_px3";
987 nvidia,function = "rsvd4"; 949 nvidia,function = "rsvd4";
988 nvidia,pull = <TEGRA_PIN_PULL_UP>; 950 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
989 nvidia,tristate = <TEGRA_PIN_DISABLE>; 951 nvidia,tristate = <TEGRA_PIN_ENABLE>;
990 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 952 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
991 }; 953 };
992 gpio_x4_aud_px4 { 954 gpio_x4_aud_px4 {
993 nvidia,pins = "gpio_x4_aud_px4"; 955 nvidia,pins = "gpio_x4_aud_px4";
994 nvidia,function = "gmi";
995 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 956 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
996 nvidia,tristate = <TEGRA_PIN_DISABLE>; 957 nvidia,tristate = <TEGRA_PIN_ENABLE>;
997 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 958 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
998 }; 959 };
999 gpio_x5_aud_px5 { 960 gpio_x5_aud_px5 {
1000 nvidia,pins = "gpio_x5_aud_px5"; 961 nvidia,pins = "gpio_x5_aud_px5";
1001 nvidia,function = "rsvd4"; 962 nvidia,function = "rsvd4";
1002 nvidia,pull = <TEGRA_PIN_PULL_UP>; 963 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1003 nvidia,tristate = <TEGRA_PIN_DISABLE>; 964 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1004 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 965 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1005 }; 966 };
1006 gpio_x6_aud_px6 { 967 gpio_x6_aud_px6 {
1007 nvidia,pins = "gpio_x6_aud_px6"; 968 nvidia,pins = "gpio_x6_aud_px6";
1008 nvidia,function = "gmi"; 969 nvidia,function = "gmi";
1009 nvidia,pull = <TEGRA_PIN_PULL_UP>; 970 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1010 nvidia,tristate = <TEGRA_PIN_DISABLE>; 971 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1011 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 972 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1012 }; 973 };
1013 gpio_x7_aud_px7 { 974 gpio_x7_aud_px7 {
1014 nvidia,pins = "gpio_x7_aud_px7"; 975 nvidia,pins = "gpio_x7_aud_px7";
1015 nvidia,function = "rsvd1";
1016 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 976 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1017 nvidia,tristate = <TEGRA_PIN_DISABLE>; 977 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1018 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 978 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -1027,8 +987,8 @@
1027 ulpi_dir_py1 { 987 ulpi_dir_py1 {
1028 nvidia,pins = "ulpi_dir_py1"; 988 nvidia,pins = "ulpi_dir_py1";
1029 nvidia,function = "spi1"; 989 nvidia,function = "spi1";
1030 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 990 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1031 nvidia,tristate = <TEGRA_PIN_DISABLE>; 991 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1032 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 992 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1033 }; 993 };
1034 ulpi_nxt_py2 { 994 ulpi_nxt_py2 {
@@ -1048,44 +1008,44 @@
1048 sdmmc1_dat3_py4 { 1008 sdmmc1_dat3_py4 {
1049 nvidia,pins = "sdmmc1_dat3_py4"; 1009 nvidia,pins = "sdmmc1_dat3_py4";
1050 nvidia,function = "sdmmc1"; 1010 nvidia,function = "sdmmc1";
1051 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1011 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1052 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1012 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1053 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1013 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1054 }; 1014 };
1055 sdmmc1_dat2_py5 { 1015 sdmmc1_dat2_py5 {
1056 nvidia,pins = "sdmmc1_dat2_py5"; 1016 nvidia,pins = "sdmmc1_dat2_py5";
1057 nvidia,function = "sdmmc1"; 1017 nvidia,function = "sdmmc1";
1058 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1018 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1059 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1019 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1060 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1020 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1061 }; 1021 };
1062 sdmmc1_dat1_py6 { 1022 sdmmc1_dat1_py6 {
1063 nvidia,pins = "sdmmc1_dat1_py6"; 1023 nvidia,pins = "sdmmc1_dat1_py6";
1064 nvidia,function = "sdmmc1"; 1024 nvidia,function = "sdmmc1";
1065 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1025 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1066 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1026 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1067 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1027 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1068 }; 1028 };
1069 sdmmc1_dat0_py7 { 1029 sdmmc1_dat0_py7 {
1070 nvidia,pins = "sdmmc1_dat0_py7"; 1030 nvidia,pins = "sdmmc1_dat0_py7";
1071 nvidia,function = "sdmmc1"; 1031 nvidia,function = "rsvd2";
1072 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1032 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1073 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1033 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1074 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1034 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1075 }; 1035 };
1076 sdmmc1_clk_pz0 { 1036 sdmmc1_clk_pz0 {
1077 nvidia,pins = "sdmmc1_clk_pz0"; 1037 nvidia,pins = "sdmmc1_clk_pz0";
1078 nvidia,function = "sdmmc1"; 1038 nvidia,function = "rsvd3";
1079 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1039 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1080 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1040 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1081 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1041 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1082 }; 1042 };
1083 sdmmc1_cmd_pz1 { 1043 sdmmc1_cmd_pz1 {
1084 nvidia,pins = "sdmmc1_cmd_pz1"; 1044 nvidia,pins = "sdmmc1_cmd_pz1";
1085 nvidia,function = "sdmmc1"; 1045 nvidia,function = "sdmmc1";
1086 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1046 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1087 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1047 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1088 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1048 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1089 }; 1049 };
1090 pwr_i2c_scl_pz6 { 1050 pwr_i2c_scl_pz6 {
1091 nvidia,pins = "pwr_i2c_scl_pz6"; 1051 nvidia,pins = "pwr_i2c_scl_pz6";
@@ -1184,7 +1144,6 @@
1184 }; 1144 };
1185 pbb3 { 1145 pbb3 {
1186 nvidia,pins = "pbb3"; 1146 nvidia,pins = "pbb3";
1187 nvidia,function = "vgp3";
1188 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1147 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1189 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1148 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1190 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1149 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -1198,21 +1157,18 @@
1198 }; 1157 };
1199 pbb5 { 1158 pbb5 {
1200 nvidia,pins = "pbb5"; 1159 nvidia,pins = "pbb5";
1201 nvidia,function = "rsvd3";
1202 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1160 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1203 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1161 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1204 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1162 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1205 }; 1163 };
1206 pbb6 { 1164 pbb6 {
1207 nvidia,pins = "pbb6"; 1165 nvidia,pins = "pbb6";
1208 nvidia,function = "rsvd2";
1209 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1166 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1210 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1167 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1211 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1168 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1212 }; 1169 };
1213 pbb7 { 1170 pbb7 {
1214 nvidia,pins = "pbb7"; 1171 nvidia,pins = "pbb7";
1215 nvidia,function = "rsvd2";
1216 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1172 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1217 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1173 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1218 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1174 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -1226,15 +1182,13 @@
1226 }; 1182 };
1227 pcc1 { 1183 pcc1 {
1228 nvidia,pins = "pcc1"; 1184 nvidia,pins = "pcc1";
1229 nvidia,function = "rsvd2"; 1185 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1230 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1231 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1186 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1232 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1187 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1233 }; 1188 };
1234 pcc2 { 1189 pcc2 {
1235 nvidia,pins = "pcc2"; 1190 nvidia,pins = "pcc2";
1236 nvidia,function = "rsvd2"; 1191 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1237 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1238 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1192 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1239 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1193 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1240 }; 1194 };
@@ -1248,8 +1202,8 @@
1248 clk2_req_pcc5 { 1202 clk2_req_pcc5 {
1249 nvidia,pins = "clk2_req_pcc5"; 1203 nvidia,pins = "clk2_req_pcc5";
1250 nvidia,function = "rsvd2"; 1204 nvidia,function = "rsvd2";
1251 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1205 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1252 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1206 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1253 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1207 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1254 }; 1208 };
1255 pex_l0_rst_n_pdd1 { 1209 pex_l0_rst_n_pdd1 {
@@ -1262,15 +1216,15 @@
1262 pex_l0_clkreq_n_pdd2 { 1216 pex_l0_clkreq_n_pdd2 {
1263 nvidia,pins = "pex_l0_clkreq_n_pdd2"; 1217 nvidia,pins = "pex_l0_clkreq_n_pdd2";
1264 nvidia,function = "pe0"; 1218 nvidia,function = "pe0";
1265 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1219 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1266 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1220 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1267 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1221 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1268 }; 1222 };
1269 pex_wake_n_pdd3 { 1223 pex_wake_n_pdd3 {
1270 nvidia,pins = "pex_wake_n_pdd3"; 1224 nvidia,pins = "pex_wake_n_pdd3";
1271 nvidia,function = "pe"; 1225 nvidia,function = "pe";
1272 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1226 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1273 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1227 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1274 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1228 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1275 }; 1229 };
1276 pex_l1_rst_n_pdd5 { 1230 pex_l1_rst_n_pdd5 {
@@ -1283,8 +1237,8 @@
1283 pex_l1_clkreq_n_pdd6 { 1237 pex_l1_clkreq_n_pdd6 {
1284 nvidia,pins = "pex_l1_clkreq_n_pdd6"; 1238 nvidia,pins = "pex_l1_clkreq_n_pdd6";
1285 nvidia,function = "pe1"; 1239 nvidia,function = "pe1";
1286 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1240 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1287 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1241 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1288 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1242 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1289 }; 1243 };
1290 clk3_out_pee0 { 1244 clk3_out_pee0 {
@@ -1297,13 +1251,12 @@
1297 clk3_req_pee1 { 1251 clk3_req_pee1 {
1298 nvidia,pins = "clk3_req_pee1"; 1252 nvidia,pins = "clk3_req_pee1";
1299 nvidia,function = "rsvd2"; 1253 nvidia,function = "rsvd2";
1300 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1254 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1301 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1255 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1302 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1256 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1303 }; 1257 };
1304 dap_mclk1_req_pee2 { 1258 dap_mclk1_req_pee2 {
1305 nvidia,pins = "dap_mclk1_req_pee2"; 1259 nvidia,pins = "dap_mclk1_req_pee2";
1306 nvidia,function = "sata";
1307 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1260 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1308 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1261 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1309 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1262 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -1314,7 +1267,7 @@
1314 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1267 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1315 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1268 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1316 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1269 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1317 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 1270 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1318 }; 1271 };
1319 sdmmc3_clk_lb_out_pee4 { 1272 sdmmc3_clk_lb_out_pee4 {
1320 nvidia,pins = "sdmmc3_clk_lb_out_pee4"; 1273 nvidia,pins = "sdmmc3_clk_lb_out_pee4";
@@ -1333,24 +1286,24 @@
1333 dp_hpd_pff0 { 1286 dp_hpd_pff0 {
1334 nvidia,pins = "dp_hpd_pff0"; 1287 nvidia,pins = "dp_hpd_pff0";
1335 nvidia,function = "dp"; 1288 nvidia,function = "dp";
1336 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1289 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1337 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1290 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1338 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1291 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1339 }; 1292 };
1340 usb_vbus_en2_pff1 { 1293 usb_vbus_en2_pff1 {
1341 nvidia,pins = "usb_vbus_en2_pff1"; 1294 nvidia,pins = "usb_vbus_en2_pff1";
1342 nvidia,function = "rsvd2"; 1295 nvidia,function = "rsvd2";
1343 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1296 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1344 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1297 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1345 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1298 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1346 nvidia,open-drain = <TEGRA_PIN_DISABLE>; 1299 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1347 }; 1300 };
1348 pff2 { 1301 pff2 {
1349 nvidia,pins = "pff2"; 1302 nvidia,pins = "pff2";
1350 nvidia,function = "rsvd2"; 1303 nvidia,function = "rsvd2";
1351 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1304 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1352 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1305 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1353 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1306 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1354 nvidia,open-drain = <TEGRA_PIN_DISABLE>; 1307 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1355 }; 1308 };
1356 core_pwr_req { 1309 core_pwr_req {
@@ -1362,7 +1315,7 @@
1362 }; 1315 };
1363 cpu_pwr_req { 1316 cpu_pwr_req {
1364 nvidia,pins = "cpu_pwr_req"; 1317 nvidia,pins = "cpu_pwr_req";
1365 nvidia,function = "rsvd2"; 1318 nvidia,function = "cpu";
1366 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1319 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1367 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1320 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1368 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1321 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -1371,7 +1324,7 @@
1371 nvidia,pins = "pwr_int_n"; 1324 nvidia,pins = "pwr_int_n";
1372 nvidia,function = "pmi"; 1325 nvidia,function = "pmi";
1373 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1326 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1374 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1327 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1375 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1328 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1376 }; 1329 };
1377 reset_out_n { 1330 reset_out_n {
@@ -1379,7 +1332,7 @@
1379 nvidia,function = "reset_out_n"; 1332 nvidia,function = "reset_out_n";
1380 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1333 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1381 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1334 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1382 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1335 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1383 }; 1336 };
1384 owr { 1337 owr {
1385 nvidia,pins = "owr"; 1338 nvidia,pins = "owr";
@@ -1391,9 +1344,9 @@
1391 }; 1344 };
1392 clk_32k_in { 1345 clk_32k_in {
1393 nvidia,pins = "clk_32k_in"; 1346 nvidia,pins = "clk_32k_in";
1394 nvidia,function = "rsvd2"; 1347 nvidia,function = "clk";
1395 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1348 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1396 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1349 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1397 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1350 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1398 }; 1351 };
1399 jtag_rtck { 1352 jtag_rtck {
diff --git a/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi b/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi
new file mode 100644
index 000000000000..1a5748d05dda
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-nyan-big-emc.dtsi
@@ -0,0 +1,2023 @@
1/ {
2 clock@0,60006000 {
3 emc-timings-1 {
4 nvidia,ram-code = <1>;
5
6 timing-12750000 {
7 clock-frequency = <12750000>;
8 nvidia,parent-clock-frequency = <408000000>;
9 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
10 clock-names = "emc-parent";
11 };
12 timing-20400000 {
13 clock-frequency = <20400000>;
14 nvidia,parent-clock-frequency = <408000000>;
15 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
16 clock-names = "emc-parent";
17 };
18 timing-40800000 {
19 clock-frequency = <40800000>;
20 nvidia,parent-clock-frequency = <408000000>;
21 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
22 clock-names = "emc-parent";
23 };
24 timing-68000000 {
25 clock-frequency = <68000000>;
26 nvidia,parent-clock-frequency = <408000000>;
27 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
28 clock-names = "emc-parent";
29 };
30 timing-102000000 {
31 clock-frequency = <102000000>;
32 nvidia,parent-clock-frequency = <408000000>;
33 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
34 clock-names = "emc-parent";
35 };
36 timing-204000000 {
37 clock-frequency = <204000000>;
38 nvidia,parent-clock-frequency = <408000000>;
39 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
40 clock-names = "emc-parent";
41 };
42 timing-300000000 {
43 clock-frequency = <300000000>;
44 nvidia,parent-clock-frequency = <600000000>;
45 clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
46 clock-names = "emc-parent";
47 };
48 timing-396000000 {
49 clock-frequency = <396000000>;
50 nvidia,parent-clock-frequency = <792000000>;
51 clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
52 clock-names = "emc-parent";
53 };
54 /* TODO: Add 528MHz frequency */
55 timing-600000000 {
56 clock-frequency = <600000000>;
57 nvidia,parent-clock-frequency = <600000000>;
58 clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
59 clock-names = "emc-parent";
60 };
61 timing-792000000 {
62 clock-frequency = <792000000>;
63 nvidia,parent-clock-frequency = <792000000>;
64 clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
65 clock-names = "emc-parent";
66 };
67 };
68 };
69
70 emc@0,7001b000 {
71 emc-timings-1 {
72 nvidia,ram-code = <1>;
73
74 timing-12750000 {
75 clock-frequency = <12750000>;
76
77 nvidia,emc-auto-cal-config = <0xa1430000>;
78 nvidia,emc-auto-cal-config2 = <0x00000000>;
79 nvidia,emc-auto-cal-config3 = <0x00000000>;
80 nvidia,emc-auto-cal-interval = <0x001fffff>;
81 nvidia,emc-bgbias-ctl0 = <0x00000008>;
82 nvidia,emc-cfg = <0x73240000>;
83 nvidia,emc-cfg-2 = <0x000008c5>;
84 nvidia,emc-ctt-term-ctrl = <0x00000802>;
85 nvidia,emc-mode-1 = <0x80100003>;
86 nvidia,emc-mode-2 = <0x80200008>;
87 nvidia,emc-mode-4 = <0x00000000>;
88 nvidia,emc-mode-reset = <0x80001221>;
89 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
90 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
91 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
92 nvidia,emc-zcal-cnt-long = <0x00000042>;
93 nvidia,emc-zcal-interval = <0x00000000>;
94
95 nvidia,emc-configuration = <
96 0x00000000
97 0x00000003
98 0x00000000
99 0x00000000
100 0x00000000
101 0x00000004
102 0x0000000a
103 0x00000003
104 0x0000000b
105 0x00000000
106 0x00000000
107 0x00000003
108 0x00000003
109 0x00000000
110 0x00000006
111 0x00000006
112 0x00000006
113 0x00000002
114 0x00000000
115 0x00000005
116 0x00000005
117 0x00010000
118 0x00000003
119 0x00000000
120 0x00000000
121 0x00000000
122 0x00000000
123 0x00000004
124 0x0000000c
125 0x0000000d
126 0x0000000f
127 0x00000060
128 0x00000000
129 0x00000018
130 0x00000002
131 0x00000002
132 0x00000001
133 0x00000000
134 0x00000007
135 0x0000000f
136 0x00000005
137 0x00000005
138 0x00000004
139 0x00000005
140 0x00000004
141 0x00000000
142 0x00000000
143 0x00000005
144 0x00000005
145 0x00000064
146 0x00000000
147 0x00000000
148 0x00000000
149 0x106aa298
150 0x002c00a0
151 0x00008000
152 0x00064000
153 0x00064000
154 0x00064000
155 0x00064000
156 0x00064000
157 0x00064000
158 0x00064000
159 0x00064000
160 0x00064000
161 0x00064000
162 0x00064000
163 0x00064000
164 0x00064000
165 0x00064000
166 0x00064000
167 0x00064000
168 0x00000000
169 0x00000000
170 0x00000000
171 0x00000000
172 0x00000000
173 0x00000000
174 0x00000000
175 0x00000000
176 0x00000000
177 0x00000000
178 0x00004000
179 0x00000000
180 0x00000000
181 0x00004000
182 0x00000000
183 0x00000000
184 0x00000000
185 0x00000000
186 0x00000000
187 0x00000000
188 0x00000000
189 0x00000000
190 0x00000000
191 0x00000000
192 0x00000000
193 0x00000000
194 0x00000000
195 0x00000000
196 0x00000000
197 0x00000000
198 0x00000000
199 0x00000000
200 0x00000000
201 0x00000000
202 0x00000000
203 0x00000000
204 0x00000000
205 0x00000000
206 0x000fc000
207 0x000fc000
208 0x000fc000
209 0x000fc000
210 0x0000fc00
211 0x0000fc00
212 0x0000fc00
213 0x0000fc00
214 0x10000280
215 0x00000000
216 0x00111111
217 0x00000000
218 0x00000000
219 0x77ffc081
220 0x00000303
221 0x81f1f108
222 0x07070004
223 0x0000003f
224 0x016eeeee
225 0x51451400
226 0x00514514
227 0x00514514
228 0x51451400
229 0x0000003f
230 0x00000007
231 0x00000000
232 0x00000042
233 0x000c000c
234 0x00000000
235 0x00000003
236 0x0000f2f3
237 0x800001c5
238 0x0000000a
239 >;
240 };
241
242 timing-20400000 {
243 clock-frequency = <20400000>;
244
245 nvidia,emc-auto-cal-config = <0xa1430000>;
246 nvidia,emc-auto-cal-config2 = <0x00000000>;
247 nvidia,emc-auto-cal-config3 = <0x00000000>;
248 nvidia,emc-auto-cal-interval = <0x001fffff>;
249 nvidia,emc-bgbias-ctl0 = <0x00000008>;
250 nvidia,emc-cfg = <0x73240000>;
251 nvidia,emc-cfg-2 = <0x000008c5>;
252 nvidia,emc-ctt-term-ctrl = <0x00000802>;
253 nvidia,emc-mode-1 = <0x80100003>;
254 nvidia,emc-mode-2 = <0x80200008>;
255 nvidia,emc-mode-4 = <0x00000000>;
256 nvidia,emc-mode-reset = <0x80001221>;
257 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
258 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
259 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
260 nvidia,emc-zcal-cnt-long = <0x00000042>;
261 nvidia,emc-zcal-interval = <0x00000000>;
262
263 nvidia,emc-configuration = <
264 0x00000000
265 0x00000005
266 0x00000000
267 0x00000000
268 0x00000000
269 0x00000004
270 0x0000000a
271 0x00000003
272 0x0000000b
273 0x00000000
274 0x00000000
275 0x00000003
276 0x00000003
277 0x00000000
278 0x00000006
279 0x00000006
280 0x00000006
281 0x00000002
282 0x00000000
283 0x00000005
284 0x00000005
285 0x00010000
286 0x00000003
287 0x00000000
288 0x00000000
289 0x00000000
290 0x00000000
291 0x00000004
292 0x0000000c
293 0x0000000d
294 0x0000000f
295 0x0000009a
296 0x00000000
297 0x00000026
298 0x00000002
299 0x00000002
300 0x00000001
301 0x00000000
302 0x00000007
303 0x0000000f
304 0x00000006
305 0x00000006
306 0x00000004
307 0x00000005
308 0x00000004
309 0x00000000
310 0x00000000
311 0x00000005
312 0x00000005
313 0x000000a0
314 0x00000000
315 0x00000000
316 0x00000000
317 0x106aa298
318 0x002c00a0
319 0x00008000
320 0x00064000
321 0x00064000
322 0x00064000
323 0x00064000
324 0x00064000
325 0x00064000
326 0x00064000
327 0x00064000
328 0x00064000
329 0x00064000
330 0x00064000
331 0x00064000
332 0x00064000
333 0x00064000
334 0x00064000
335 0x00064000
336 0x00000000
337 0x00000000
338 0x00000000
339 0x00000000
340 0x00000000
341 0x00000000
342 0x00000000
343 0x00000000
344 0x00000000
345 0x00000000
346 0x00004000
347 0x00000000
348 0x00000000
349 0x00004000
350 0x00000000
351 0x00000000
352 0x00000000
353 0x00000000
354 0x00000000
355 0x00000000
356 0x00000000
357 0x00000000
358 0x00000000
359 0x00000000
360 0x00000000
361 0x00000000
362 0x00000000
363 0x00000000
364 0x00000000
365 0x00000000
366 0x00000000
367 0x00000000
368 0x00000000
369 0x00000000
370 0x00000000
371 0x00000000
372 0x00000000
373 0x00000000
374 0x000fc000
375 0x000fc000
376 0x000fc000
377 0x000fc000
378 0x0000fc00
379 0x0000fc00
380 0x0000fc00
381 0x0000fc00
382 0x10000280
383 0x00000000
384 0x00111111
385 0x00000000
386 0x00000000
387 0x77ffc081
388 0x00000303
389 0x81f1f108
390 0x07070004
391 0x0000003f
392 0x016eeeee
393 0x51451400
394 0x00514514
395 0x00514514
396 0x51451400
397 0x0000003f
398 0x0000000b
399 0x00000000
400 0x00000042
401 0x000c000c
402 0x00000000
403 0x00000003
404 0x0000f2f3
405 0x8000023a
406 0x0000000a
407 >;
408 };
409
410 timing-40800000 {
411 clock-frequency = <40800000>;
412
413 nvidia,emc-auto-cal-config = <0xa1430000>;
414 nvidia,emc-auto-cal-config2 = <0x00000000>;
415 nvidia,emc-auto-cal-config3 = <0x00000000>;
416 nvidia,emc-auto-cal-interval = <0x001fffff>;
417 nvidia,emc-bgbias-ctl0 = <0x00000008>;
418 nvidia,emc-cfg = <0x73240000>;
419 nvidia,emc-cfg-2 = <0x000008c5>;
420 nvidia,emc-ctt-term-ctrl = <0x00000802>;
421 nvidia,emc-mode-1 = <0x80100003>;
422 nvidia,emc-mode-2 = <0x80200008>;
423 nvidia,emc-mode-4 = <0x00000000>;
424 nvidia,emc-mode-reset = <0x80001221>;
425 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
426 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
427 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
428 nvidia,emc-zcal-cnt-long = <0x00000042>;
429 nvidia,emc-zcal-interval = <0x00000000>;
430
431 nvidia,emc-configuration = <
432 0x00000001
433 0x0000000a
434 0x00000000
435 0x00000001
436 0x00000000
437 0x00000004
438 0x0000000a
439 0x00000003
440 0x0000000b
441 0x00000000
442 0x00000000
443 0x00000003
444 0x00000003
445 0x00000000
446 0x00000006
447 0x00000006
448 0x00000006
449 0x00000002
450 0x00000000
451 0x00000005
452 0x00000005
453 0x00010000
454 0x00000003
455 0x00000000
456 0x00000000
457 0x00000000
458 0x00000000
459 0x00000004
460 0x0000000c
461 0x0000000d
462 0x0000000f
463 0x00000134
464 0x00000000
465 0x0000004d
466 0x00000002
467 0x00000002
468 0x00000001
469 0x00000000
470 0x00000008
471 0x0000000f
472 0x0000000c
473 0x0000000c
474 0x00000004
475 0x00000005
476 0x00000004
477 0x00000000
478 0x00000000
479 0x00000005
480 0x00000005
481 0x0000013f
482 0x00000000
483 0x00000000
484 0x00000000
485 0x106aa298
486 0x002c00a0
487 0x00008000
488 0x00064000
489 0x00064000
490 0x00064000
491 0x00064000
492 0x00064000
493 0x00064000
494 0x00064000
495 0x00064000
496 0x00064000
497 0x00064000
498 0x00064000
499 0x00064000
500 0x00064000
501 0x00064000
502 0x00064000
503 0x00064000
504 0x00000000
505 0x00000000
506 0x00000000
507 0x00000000
508 0x00000000
509 0x00000000
510 0x00000000
511 0x00000000
512 0x00000000
513 0x00000000
514 0x00004000
515 0x00000000
516 0x00000000
517 0x00004000
518 0x00000000
519 0x00000000
520 0x00000000
521 0x00000000
522 0x00000000
523 0x00000000
524 0x00000000
525 0x00000000
526 0x00000000
527 0x00000000
528 0x00000000
529 0x00000000
530 0x00000000
531 0x00000000
532 0x00000000
533 0x00000000
534 0x00000000
535 0x00000000
536 0x00000000
537 0x00000000
538 0x00000000
539 0x00000000
540 0x00000000
541 0x00000000
542 0x000fc000
543 0x000fc000
544 0x000fc000
545 0x000fc000
546 0x0000fc00
547 0x0000fc00
548 0x0000fc00
549 0x0000fc00
550 0x10000280
551 0x00000000
552 0x00111111
553 0x00000000
554 0x00000000
555 0x77ffc081
556 0x00000303
557 0x81f1f108
558 0x07070004
559 0x0000003f
560 0x016eeeee
561 0x51451400
562 0x00514514
563 0x00514514
564 0x51451400
565 0x0000003f
566 0x00000015
567 0x00000000
568 0x00000042
569 0x000c000c
570 0x00000000
571 0x00000003
572 0x0000f2f3
573 0x80000370
574 0x0000000a
575 >;
576 };
577
578 timing-68000000 {
579 clock-frequency = <68000000>;
580
581 nvidia,emc-auto-cal-config = <0xa1430000>;
582 nvidia,emc-auto-cal-config2 = <0x00000000>;
583 nvidia,emc-auto-cal-config3 = <0x00000000>;
584 nvidia,emc-auto-cal-interval = <0x001fffff>;
585 nvidia,emc-bgbias-ctl0 = <0x00000008>;
586 nvidia,emc-cfg = <0x73240000>;
587 nvidia,emc-cfg-2 = <0x000008c5>;
588 nvidia,emc-ctt-term-ctrl = <0x00000802>;
589 nvidia,emc-mode-1 = <0x80100003>;
590 nvidia,emc-mode-2 = <0x80200008>;
591 nvidia,emc-mode-4 = <0x00000000>;
592 nvidia,emc-mode-reset = <0x80001221>;
593 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
594 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
595 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
596 nvidia,emc-zcal-cnt-long = <0x00000042>;
597 nvidia,emc-zcal-interval = <0x00000000>;
598
599 nvidia,emc-configuration = <
600 0x00000003
601 0x00000011
602 0x00000000
603 0x00000002
604 0x00000000
605 0x00000004
606 0x0000000a
607 0x00000003
608 0x0000000b
609 0x00000000
610 0x00000000
611 0x00000003
612 0x00000003
613 0x00000000
614 0x00000006
615 0x00000006
616 0x00000006
617 0x00000002
618 0x00000000
619 0x00000005
620 0x00000005
621 0x00010000
622 0x00000003
623 0x00000000
624 0x00000000
625 0x00000000
626 0x00000000
627 0x00000004
628 0x0000000c
629 0x0000000d
630 0x0000000f
631 0x00000202
632 0x00000000
633 0x00000080
634 0x00000002
635 0x00000002
636 0x00000001
637 0x00000000
638 0x0000000f
639 0x0000000f
640 0x00000013
641 0x00000013
642 0x00000004
643 0x00000005
644 0x00000004
645 0x00000001
646 0x00000000
647 0x00000005
648 0x00000005
649 0x00000213
650 0x00000000
651 0x00000000
652 0x00000000
653 0x106aa298
654 0x002c00a0
655 0x00008000
656 0x00064000
657 0x00064000
658 0x00064000
659 0x00064000
660 0x00064000
661 0x00064000
662 0x00064000
663 0x00064000
664 0x00064000
665 0x00064000
666 0x00064000
667 0x00064000
668 0x00064000
669 0x00064000
670 0x00064000
671 0x00064000
672 0x00000000
673 0x00000000
674 0x00000000
675 0x00000000
676 0x00000000
677 0x00000000
678 0x00000000
679 0x00000000
680 0x00000000
681 0x00000000
682 0x00004000
683 0x00000000
684 0x00000000
685 0x00004000
686 0x00000000
687 0x00000000
688 0x00000000
689 0x00000000
690 0x00000000
691 0x00000000
692 0x00000000
693 0x00000000
694 0x00000000
695 0x00000000
696 0x00000000
697 0x00000000
698 0x00000000
699 0x00000000
700 0x00000000
701 0x00000000
702 0x00000000
703 0x00000000
704 0x00000000
705 0x00000000
706 0x00000000
707 0x00000000
708 0x00000000
709 0x00000000
710 0x000fc000
711 0x000fc000
712 0x000fc000
713 0x000fc000
714 0x0000fc00
715 0x0000fc00
716 0x0000fc00
717 0x0000fc00
718 0x10000280
719 0x00000000
720 0x00111111
721 0x00000000
722 0x00000000
723 0x77ffc081
724 0x00000303
725 0x81f1f108
726 0x07070004
727 0x0000003f
728 0x016eeeee
729 0x51451400
730 0x00514514
731 0x00514514
732 0x51451400
733 0x0000003f
734 0x00000022
735 0x00000000
736 0x00000042
737 0x000c000c
738 0x00000000
739 0x00000003
740 0x0000f2f3
741 0x8000050e
742 0x0000000a
743 >;
744 };
745
746 timing-102000000 {
747 clock-frequency = <102000000>;
748
749 nvidia,emc-auto-cal-config = <0xa1430000>;
750 nvidia,emc-auto-cal-config2 = <0x00000000>;
751 nvidia,emc-auto-cal-config3 = <0x00000000>;
752 nvidia,emc-auto-cal-interval = <0x001fffff>;
753 nvidia,emc-bgbias-ctl0 = <0x00000008>;
754 nvidia,emc-cfg = <0x73240000>;
755 nvidia,emc-cfg-2 = <0x000008c5>;
756 nvidia,emc-ctt-term-ctrl = <0x00000802>;
757 nvidia,emc-mode-1 = <0x80100003>;
758 nvidia,emc-mode-2 = <0x80200008>;
759 nvidia,emc-mode-4 = <0x00000000>;
760 nvidia,emc-mode-reset = <0x80001221>;
761 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
762 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
763 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
764 nvidia,emc-zcal-cnt-long = <0x00000042>;
765 nvidia,emc-zcal-interval = <0x00000000>;
766
767 nvidia,emc-configuration = <
768 0x00000004
769 0x0000001a
770 0x00000000
771 0x00000003
772 0x00000001
773 0x00000004
774 0x0000000a
775 0x00000003
776 0x0000000b
777 0x00000001
778 0x00000001
779 0x00000003
780 0x00000003
781 0x00000000
782 0x00000006
783 0x00000006
784 0x00000006
785 0x00000002
786 0x00000000
787 0x00000005
788 0x00000005
789 0x00010000
790 0x00000003
791 0x00000000
792 0x00000000
793 0x00000000
794 0x00000000
795 0x00000004
796 0x0000000c
797 0x0000000d
798 0x0000000f
799 0x00000304
800 0x00000000
801 0x000000c1
802 0x00000002
803 0x00000002
804 0x00000001
805 0x00000000
806 0x00000018
807 0x0000000f
808 0x0000001c
809 0x0000001c
810 0x00000004
811 0x00000005
812 0x00000004
813 0x00000003
814 0x00000000
815 0x00000005
816 0x00000005
817 0x0000031c
818 0x00000000
819 0x00000000
820 0x00000000
821 0x106aa298
822 0x002c00a0
823 0x00008000
824 0x00064000
825 0x00064000
826 0x00064000
827 0x00064000
828 0x00064000
829 0x00064000
830 0x00064000
831 0x00064000
832 0x00064000
833 0x00064000
834 0x00064000
835 0x00064000
836 0x00064000
837 0x00064000
838 0x00064000
839 0x00064000
840 0x00000000
841 0x00000000
842 0x00000000
843 0x00000000
844 0x00000000
845 0x00000000
846 0x00000000
847 0x00000000
848 0x00000000
849 0x00000000
850 0x00004000
851 0x00000000
852 0x00000000
853 0x00004000
854 0x00000000
855 0x00000000
856 0x00000000
857 0x00000000
858 0x00000000
859 0x00000000
860 0x00000000
861 0x00000000
862 0x00000000
863 0x00000000
864 0x00000000
865 0x00000000
866 0x00000000
867 0x00000000
868 0x00000000
869 0x00000000
870 0x00000000
871 0x00000000
872 0x00000000
873 0x00000000
874 0x00000000
875 0x00000000
876 0x00000000
877 0x00000000
878 0x000fc000
879 0x000fc000
880 0x000fc000
881 0x000fc000
882 0x0000fc00
883 0x0000fc00
884 0x0000fc00
885 0x0000fc00
886 0x10000280
887 0x00000000
888 0x00111111
889 0x00000000
890 0x00000000
891 0x77ffc081
892 0x00000303
893 0x81f1f108
894 0x07070004
895 0x0000003f
896 0x016eeeee
897 0x51451400
898 0x00514514
899 0x00514514
900 0x51451400
901 0x0000003f
902 0x00000033
903 0x00000000
904 0x00000042
905 0x000c000c
906 0x00000000
907 0x00000003
908 0x0000f2f3
909 0x80000713
910 0x0000000a
911 >;
912 };
913
914 timing-204000000 {
915 clock-frequency = <204000000>;
916
917 nvidia,emc-auto-cal-config = <0xa1430000>;
918 nvidia,emc-auto-cal-config2 = <0x00000000>;
919 nvidia,emc-auto-cal-config3 = <0x00000000>;
920 nvidia,emc-auto-cal-interval = <0x001fffff>;
921 nvidia,emc-bgbias-ctl0 = <0x00000008>;
922 nvidia,emc-cfg = <0x73240000>;
923 nvidia,emc-cfg-2 = <0x0000088d>;
924 nvidia,emc-ctt-term-ctrl = <0x00000802>;
925 nvidia,emc-mode-1 = <0x80100003>;
926 nvidia,emc-mode-2 = <0x80200008>;
927 nvidia,emc-mode-4 = <0x00000000>;
928 nvidia,emc-mode-reset = <0x80001221>;
929 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
930 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
931 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
932 nvidia,emc-zcal-cnt-long = <0x00000042>;
933 nvidia,emc-zcal-interval = <0x00020000>;
934
935 nvidia,emc-configuration = <
936 0x00000009
937 0x00000035
938 0x00000000
939 0x00000007
940 0x00000002
941 0x00000005
942 0x0000000a
943 0x00000003
944 0x0000000b
945 0x00000002
946 0x00000002
947 0x00000003
948 0x00000003
949 0x00000000
950 0x00000005
951 0x00000005
952 0x00000006
953 0x00000002
954 0x00000000
955 0x00000004
956 0x00000006
957 0x00010000
958 0x00000003
959 0x00000000
960 0x00000000
961 0x00000000
962 0x00000000
963 0x00000003
964 0x0000000d
965 0x0000000f
966 0x00000011
967 0x00000607
968 0x00000000
969 0x00000181
970 0x00000002
971 0x00000002
972 0x00000001
973 0x00000000
974 0x00000032
975 0x0000000f
976 0x00000038
977 0x00000038
978 0x00000004
979 0x00000005
980 0x00000004
981 0x00000007
982 0x00000000
983 0x00000005
984 0x00000005
985 0x00000638
986 0x00000000
987 0x00000000
988 0x00000000
989 0x106aa298
990 0x002c00a0
991 0x00008000
992 0x00064000
993 0x00064000
994 0x00064000
995 0x00064000
996 0x00064000
997 0x00064000
998 0x00064000
999 0x00064000
1000 0x00064000
1001 0x00064000
1002 0x00064000
1003 0x00064000
1004 0x00064000
1005 0x00064000
1006 0x00064000
1007 0x00064000
1008 0x00000000
1009 0x00000000
1010 0x00000000
1011 0x00000000
1012 0x00000000
1013 0x00000000
1014 0x00000000
1015 0x00000000
1016 0x00000000
1017 0x00000000
1018 0x00004000
1019 0x00000000
1020 0x00000000
1021 0x00004000
1022 0x00000000
1023 0x00000000
1024 0x00000000
1025 0x00000000
1026 0x00000000
1027 0x00000000
1028 0x00000000
1029 0x00000000
1030 0x00000000
1031 0x00000000
1032 0x00000000
1033 0x00000000
1034 0x00000000
1035 0x00000000
1036 0x00000000
1037 0x00000000
1038 0x00000000
1039 0x00000000
1040 0x00000000
1041 0x00000000
1042 0x00000000
1043 0x00000000
1044 0x00000000
1045 0x00000000
1046 0x00090000
1047 0x00090000
1048 0x00094000
1049 0x00094000
1050 0x00009400
1051 0x00009000
1052 0x00009000
1053 0x00009000
1054 0x10000280
1055 0x00000000
1056 0x00111111
1057 0x00000000
1058 0x00000000
1059 0x77ffc081
1060 0x00000303
1061 0x81f1f108
1062 0x07070004
1063 0x0000003f
1064 0x016eeeee
1065 0x51451400
1066 0x00514514
1067 0x00514514
1068 0x51451400
1069 0x0000003f
1070 0x00000066
1071 0x00000000
1072 0x00000100
1073 0x000c000c
1074 0x00000000
1075 0x00000003
1076 0x0000d2b3
1077 0x80000d22
1078 0x0000000a
1079 >;
1080 };
1081
1082 timing-300000000 {
1083 clock-frequency = <300000000>;
1084
1085 nvidia,emc-auto-cal-config = <0xa1430000>;
1086 nvidia,emc-auto-cal-config2 = <0x00000000>;
1087 nvidia,emc-auto-cal-config3 = <0x00000000>;
1088 nvidia,emc-auto-cal-interval = <0x001fffff>;
1089 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1090 nvidia,emc-cfg = <0x73340000>;
1091 nvidia,emc-cfg-2 = <0x000008d5>;
1092 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1093 nvidia,emc-mode-1 = <0x80100002>;
1094 nvidia,emc-mode-2 = <0x80200000>;
1095 nvidia,emc-mode-4 = <0x00000000>;
1096 nvidia,emc-mode-reset = <0x80000321>;
1097 nvidia,emc-mrs-wait-cnt = <0x0174000c>;
1098 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
1099 nvidia,emc-xm2dqspadctrl2 = <0x01231339>;
1100 nvidia,emc-zcal-cnt-long = <0x00000042>;
1101 nvidia,emc-zcal-interval = <0x00020000>;
1102
1103 nvidia,emc-configuration = <
1104 0x0000000d
1105 0x0000004c
1106 0x00000000
1107 0x00000009
1108 0x00000003
1109 0x00000004
1110 0x00000008
1111 0x00000002
1112 0x00000009
1113 0x00000003
1114 0x00000003
1115 0x00000002
1116 0x00000002
1117 0x00000000
1118 0x00000003
1119 0x00000003
1120 0x00000005
1121 0x00000002
1122 0x00000000
1123 0x00000002
1124 0x00000007
1125 0x00020000
1126 0x00000003
1127 0x00000000
1128 0x00000000
1129 0x00000000
1130 0x00000000
1131 0x00000001
1132 0x0000000e
1133 0x00000010
1134 0x00000012
1135 0x000008e4
1136 0x00000000
1137 0x00000239
1138 0x00000001
1139 0x00000008
1140 0x00000001
1141 0x00000000
1142 0x0000004a
1143 0x0000000e
1144 0x00000051
1145 0x00000200
1146 0x00000004
1147 0x00000005
1148 0x00000004
1149 0x00000009
1150 0x00000000
1151 0x00000005
1152 0x00000005
1153 0x00000924
1154 0x00000000
1155 0x00000000
1156 0x00000000
1157 0x104ab098
1158 0x002c00a0
1159 0x00008000
1160 0x00030000
1161 0x00030000
1162 0x00030000
1163 0x00030000
1164 0x00030000
1165 0x00030000
1166 0x00030000
1167 0x00030000
1168 0x00030000
1169 0x00030000
1170 0x00030000
1171 0x00030000
1172 0x00030000
1173 0x00030000
1174 0x00030000
1175 0x00030000
1176 0x00000000
1177 0x00000000
1178 0x00000000
1179 0x00000000
1180 0x00000000
1181 0x00000000
1182 0x00000000
1183 0x00000000
1184 0x00098000
1185 0x00098000
1186 0x00000000
1187 0x00098000
1188 0x00098000
1189 0x00000000
1190 0x00000000
1191 0x00000000
1192 0x00000000
1193 0x00000000
1194 0x00000000
1195 0x00000000
1196 0x00000000
1197 0x00000000
1198 0x00000000
1199 0x00000000
1200 0x00000000
1201 0x00000000
1202 0x00000000
1203 0x00000000
1204 0x00000000
1205 0x00000000
1206 0x00000000
1207 0x00000000
1208 0x00000000
1209 0x00000000
1210 0x00000000
1211 0x00000000
1212 0x00000000
1213 0x00000000
1214 0x00060000
1215 0x00060000
1216 0x00060000
1217 0x00060000
1218 0x00006000
1219 0x00006000
1220 0x00006000
1221 0x00006000
1222 0x10000280
1223 0x00000000
1224 0x00111111
1225 0x00000000
1226 0x00000000
1227 0x77ffc081
1228 0x00000101
1229 0x81f1f108
1230 0x07070004
1231 0x00000000
1232 0x016eeeee
1233 0x51451420
1234 0x00514514
1235 0x00514514
1236 0x51451400
1237 0x0000003f
1238 0x00000096
1239 0x00000000
1240 0x00000100
1241 0x0174000c
1242 0x00000000
1243 0x00000003
1244 0x000052a3
1245 0x800012d7
1246 0x00000009
1247 >;
1248 };
1249
1250 timing-396000000 {
1251 clock-frequency = <396000000>;
1252
1253 nvidia,emc-auto-cal-config = <0xa1430000>;
1254 nvidia,emc-auto-cal-config2 = <0x00000000>;
1255 nvidia,emc-auto-cal-config3 = <0x00000000>;
1256 nvidia,emc-auto-cal-interval = <0x001fffff>;
1257 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1258 nvidia,emc-cfg = <0x73340000>;
1259 nvidia,emc-cfg-2 = <0x00000895>;
1260 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1261 nvidia,emc-mode-1 = <0x80100002>;
1262 nvidia,emc-mode-2 = <0x80200000>;
1263 nvidia,emc-mode-4 = <0x00000000>;
1264 nvidia,emc-mode-reset = <0x80000521>;
1265 nvidia,emc-mrs-wait-cnt = <0x015b000c>;
1266 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1267 nvidia,emc-xm2dqspadctrl2 = <0x01231339>;
1268 nvidia,emc-zcal-cnt-long = <0x00000042>;
1269 nvidia,emc-zcal-interval = <0x00020000>;
1270
1271 nvidia,emc-configuration = <
1272 0x00000012
1273 0x00000065
1274 0x00000000
1275 0x0000000c
1276 0x00000004
1277 0x00000005
1278 0x00000008
1279 0x00000002
1280 0x0000000a
1281 0x00000004
1282 0x00000004
1283 0x00000002
1284 0x00000002
1285 0x00000000
1286 0x00000003
1287 0x00000003
1288 0x00000005
1289 0x00000002
1290 0x00000000
1291 0x00000001
1292 0x00000008
1293 0x00020000
1294 0x00000003
1295 0x00000000
1296 0x00000000
1297 0x00000000
1298 0x00000000
1299 0x00000000
1300 0x0000000f
1301 0x00000010
1302 0x00000012
1303 0x00000bd1
1304 0x00000000
1305 0x000002f4
1306 0x00000001
1307 0x00000008
1308 0x00000001
1309 0x00000000
1310 0x00000063
1311 0x0000000f
1312 0x0000006b
1313 0x00000200
1314 0x00000004
1315 0x00000005
1316 0x00000004
1317 0x0000000d
1318 0x00000000
1319 0x00000005
1320 0x00000005
1321 0x00000c11
1322 0x00000000
1323 0x00000000
1324 0x00000000
1325 0x104ab098
1326 0x002c00a0
1327 0x00008000
1328 0x00030000
1329 0x00030000
1330 0x00030000
1331 0x00030000
1332 0x00030000
1333 0x00030000
1334 0x00030000
1335 0x00030000
1336 0x00030000
1337 0x00030000
1338 0x00030000
1339 0x00030000
1340 0x00030000
1341 0x00030000
1342 0x00030000
1343 0x00030000
1344 0x00000000
1345 0x00000000
1346 0x00000000
1347 0x00000000
1348 0x00000000
1349 0x00000000
1350 0x00000000
1351 0x00000000
1352 0x00070000
1353 0x00070000
1354 0x00000000
1355 0x00070000
1356 0x00070000
1357 0x00000000
1358 0x00000000
1359 0x00000000
1360 0x00000000
1361 0x00000000
1362 0x00000000
1363 0x00000000
1364 0x00000000
1365 0x00000000
1366 0x00000000
1367 0x00000000
1368 0x00000000
1369 0x00000000
1370 0x00000000
1371 0x00000000
1372 0x00000000
1373 0x00000000
1374 0x00000000
1375 0x00000000
1376 0x00000000
1377 0x00000000
1378 0x00000000
1379 0x00000000
1380 0x00000000
1381 0x00000000
1382 0x00048000
1383 0x00048000
1384 0x00048000
1385 0x00048000
1386 0x00004800
1387 0x00004800
1388 0x00004800
1389 0x00004800
1390 0x10000280
1391 0x00000000
1392 0x00111111
1393 0x00000000
1394 0x00000000
1395 0x77ffc081
1396 0x00000101
1397 0x81f1f108
1398 0x07070004
1399 0x00000000
1400 0x016eeeee
1401 0x51451420
1402 0x00514514
1403 0x00514514
1404 0x51451400
1405 0x0000003f
1406 0x000000c6
1407 0x00000000
1408 0x00000100
1409 0x015b000c
1410 0x00000000
1411 0x00000003
1412 0x000052a3
1413 0x8000188b
1414 0x00000009
1415 >;
1416 };
1417
1418 timing-600000000 {
1419 clock-frequency = <600000000>;
1420
1421 nvidia,emc-auto-cal-config = <0xa1430000>;
1422 nvidia,emc-auto-cal-config2 = <0x00000000>;
1423 nvidia,emc-auto-cal-config3 = <0x00000000>;
1424 nvidia,emc-auto-cal-interval = <0x001fffff>;
1425 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1426 nvidia,emc-cfg = <0x73300000>;
1427 nvidia,emc-cfg-2 = <0x0000089d>;
1428 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1429 nvidia,emc-mode-1 = <0x80100002>;
1430 nvidia,emc-mode-2 = <0x80200010>;
1431 nvidia,emc-mode-4 = <0x00000000>;
1432 nvidia,emc-mode-reset = <0x80000b61>;
1433 nvidia,emc-mrs-wait-cnt = <0x0128000c>;
1434 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1435 nvidia,emc-xm2dqspadctrl2 = <0x0121113d>;
1436 nvidia,emc-zcal-cnt-long = <0x00000042>;
1437 nvidia,emc-zcal-interval = <0x00020000>;
1438
1439 nvidia,emc-configuration = <
1440 0x0000001c
1441 0x0000009a
1442 0x00000000
1443 0x00000013
1444 0x00000007
1445 0x00000007
1446 0x0000000b
1447 0x00000003
1448 0x00000010
1449 0x00000007
1450 0x00000007
1451 0x00000002
1452 0x00000002
1453 0x00000000
1454 0x00000005
1455 0x00000005
1456 0x0000000a
1457 0x00000002
1458 0x00000000
1459 0x00000003
1460 0x0000000b
1461 0x00070000
1462 0x00000003
1463 0x00000000
1464 0x00000000
1465 0x00000000
1466 0x00000000
1467 0x00000002
1468 0x00000012
1469 0x00000016
1470 0x00000018
1471 0x00001208
1472 0x00000000
1473 0x00000482
1474 0x00000002
1475 0x0000000d
1476 0x00000001
1477 0x00000000
1478 0x00000096
1479 0x00000015
1480 0x000000a2
1481 0x00000200
1482 0x00000004
1483 0x00000005
1484 0x00000004
1485 0x00000015
1486 0x00000000
1487 0x00000006
1488 0x00000006
1489 0x00001249
1490 0x00000000
1491 0x00000000
1492 0x00000000
1493 0x104ab098
1494 0xe00e00b1
1495 0x00008000
1496 0x0000000a
1497 0x0000000a
1498 0x0000000a
1499 0x0000000a
1500 0x0000000a
1501 0x0000000a
1502 0x0000000a
1503 0x0000000a
1504 0x0000000a
1505 0x0000000a
1506 0x0000000a
1507 0x0000000a
1508 0x0000000a
1509 0x0000000a
1510 0x0000000a
1511 0x0000000a
1512 0x00000000
1513 0x00000000
1514 0x00000000
1515 0x00000000
1516 0x00000000
1517 0x00000000
1518 0x00000000
1519 0x00000000
1520 0x00048000
1521 0x00048000
1522 0x00000000
1523 0x00048000
1524 0x00048000
1525 0x00000000
1526 0x00000000
1527 0x00000000
1528 0x00000000
1529 0x00000000
1530 0x00000000
1531 0x00000000
1532 0x00000000
1533 0x00000000
1534 0x00000004
1535 0x00000004
1536 0x00000002
1537 0x00000005
1538 0x00000006
1539 0x00000003
1540 0x00000006
1541 0x00000005
1542 0x00000004
1543 0x00000004
1544 0x00000002
1545 0x00000005
1546 0x00000006
1547 0x00000003
1548 0x00000006
1549 0x00000005
1550 0x0000000e
1551 0x0000000e
1552 0x0000000e
1553 0x0000000e
1554 0x0000000e
1555 0x0000000e
1556 0x0000000e
1557 0x0000000e
1558 0x100002a0
1559 0x00000000
1560 0x00111111
1561 0x00000000
1562 0x00000000
1563 0x77ffc085
1564 0x00000101
1565 0x81f1f108
1566 0x07070004
1567 0x00000000
1568 0x016eeeee
1569 0x51451420
1570 0x00514514
1571 0x00514514
1572 0x51451400
1573 0x0606003f
1574 0x00000000
1575 0x00000000
1576 0x00000100
1577 0x0128000c
1578 0x00000000
1579 0x00000003
1580 0x000040a0
1581 0x800024aa
1582 0x0000000e
1583 >;
1584 };
1585
1586 timing-792000000 {
1587 clock-frequency = <792000000>;
1588
1589 nvidia,emc-auto-cal-config = <0xa1430000>;
1590 nvidia,emc-auto-cal-config2 = <0x00000000>;
1591 nvidia,emc-auto-cal-config3 = <0x00000000>;
1592 nvidia,emc-auto-cal-interval = <0x001fffff>;
1593 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1594 nvidia,emc-cfg = <0x73300000>;
1595 nvidia,emc-cfg-2 = <0x0080089d>;
1596 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1597 nvidia,emc-mode-1 = <0x80100002>;
1598 nvidia,emc-mode-2 = <0x80200418>;
1599 nvidia,emc-mode-4 = <0x00000000>;
1600 nvidia,emc-mode-reset = <0x80000d71>;
1601 nvidia,emc-mrs-wait-cnt = <0x00f8000c>;
1602 nvidia,emc-sel-dpd-ctrl = <0x00040000>;
1603 nvidia,emc-xm2dqspadctrl2 = <0x0120113d>;
1604 nvidia,emc-zcal-cnt-long = <0x00000042>;
1605 nvidia,emc-zcal-interval = <0x00020000>;
1606
1607 nvidia,emc-configuration = <
1608 0x00000025
1609 0x000000cc
1610 0x00000000
1611 0x0000001a
1612 0x00000009
1613 0x00000008
1614 0x0000000d
1615 0x00000004
1616 0x00000013
1617 0x00000009
1618 0x00000009
1619 0x00000003
1620 0x00000002
1621 0x00000000
1622 0x00000006
1623 0x00000006
1624 0x0000000b
1625 0x00000002
1626 0x00000000
1627 0x00000002
1628 0x0000000d
1629 0x00080000
1630 0x00000004
1631 0x00000000
1632 0x00000000
1633 0x00000000
1634 0x00000000
1635 0x00000001
1636 0x00000014
1637 0x00000018
1638 0x0000001a
1639 0x000017e2
1640 0x00000000
1641 0x000005f8
1642 0x00000003
1643 0x00000011
1644 0x00000001
1645 0x00000000
1646 0x000000c6
1647 0x00000018
1648 0x000000d6
1649 0x00000200
1650 0x00000005
1651 0x00000006
1652 0x00000005
1653 0x0000001d
1654 0x00000000
1655 0x00000008
1656 0x00000008
1657 0x00001822
1658 0x00000000
1659 0x80000005
1660 0x00000000
1661 0x104ab198
1662 0xe00700b1
1663 0x00008000
1664 0x00000005
1665 0x00000005
1666 0x00000005
1667 0x00000005
1668 0x00000005
1669 0x00000005
1670 0x00000005
1671 0x00000005
1672 0x00000005
1673 0x00000005
1674 0x00000005
1675 0x00000005
1676 0x00000005
1677 0x00000005
1678 0x00000005
1679 0x00000005
1680 0x00000000
1681 0x00000000
1682 0x00000000
1683 0x00000000
1684 0x00000000
1685 0x00000000
1686 0x00000000
1687 0x00000000
1688 0x00034000
1689 0x00034000
1690 0x00000000
1691 0x00034000
1692 0x00034000
1693 0x00000000
1694 0x00000000
1695 0x00000000
1696 0x00000000
1697 0x00000000
1698 0x00000000
1699 0x00000000
1700 0x00000000
1701 0x00000000
1702 0x00000008
1703 0x00000008
1704 0x00000005
1705 0x00000009
1706 0x00000009
1707 0x00000007
1708 0x00000009
1709 0x00000008
1710 0x00000008
1711 0x00000008
1712 0x00000005
1713 0x00000009
1714 0x00000009
1715 0x00000007
1716 0x00000009
1717 0x00000008
1718 0x0000000a
1719 0x0000000a
1720 0x0000000a
1721 0x0000000a
1722 0x0000000a
1723 0x0000000a
1724 0x0000000a
1725 0x0000000a
1726 0x100002a0
1727 0x00000000
1728 0x00111111
1729 0x00000000
1730 0x00000000
1731 0x77ffc085
1732 0x00000101
1733 0x81f1f108
1734 0x07070004
1735 0x00000000
1736 0x016eeeee
1737 0x61861820
1738 0x00514514
1739 0x00514514
1740 0x61861800
1741 0x0606003f
1742 0x00000000
1743 0x00000000
1744 0x00000100
1745 0x00f8000c
1746 0x00000007
1747 0x00000004
1748 0x00004080
1749 0x80003012
1750 0x0000000f
1751 >;
1752 };
1753
1754 };
1755 };
1756
1757 memory-controller@0,70019000 {
1758 emc-timings-1 {
1759 nvidia,ram-code = <1>;
1760
1761
1762 timing-12750000 {
1763 clock-frequency = <12750000>;
1764
1765 nvidia,emem-configuration = <
1766 0x40040001
1767 0x8000000a
1768 0x00000001
1769 0x00000001
1770 0x00000002
1771 0x00000000
1772 0x00000002
1773 0x00000001
1774 0x00000002
1775 0x00000008
1776 0x00000003
1777 0x00000002
1778 0x00000003
1779 0x00000006
1780 0x06030203
1781 0x000a0402
1782 0x77e30303
1783 0x70000f03
1784 0x001f0000
1785 >;
1786 };
1787
1788 timing-20400000 {
1789 clock-frequency = <20400000>;
1790
1791 nvidia,emem-configuration = <
1792 0x40020001
1793 0x80000012
1794 0x00000001
1795 0x00000001
1796 0x00000002
1797 0x00000000
1798 0x00000002
1799 0x00000001
1800 0x00000002
1801 0x00000008
1802 0x00000003
1803 0x00000002
1804 0x00000003
1805 0x00000006
1806 0x06030203
1807 0x000a0402
1808 0x76230303
1809 0x70000f03
1810 0x001f0000
1811 >;
1812 };
1813
1814 timing-40800000 {
1815 clock-frequency = <40800000>;
1816
1817 nvidia,emem-configuration = <
1818 0xa0000001
1819 0x80000017
1820 0x00000001
1821 0x00000001
1822 0x00000002
1823 0x00000000
1824 0x00000002
1825 0x00000001
1826 0x00000002
1827 0x00000008
1828 0x00000003
1829 0x00000002
1830 0x00000003
1831 0x00000006
1832 0x06030203
1833 0x000a0402
1834 0x74a30303
1835 0x70000f03
1836 0x001f0000
1837 >;
1838 };
1839
1840 timing-68000000 {
1841 clock-frequency = <68000000>;
1842
1843 nvidia,emem-configuration = <
1844 0x00000001
1845 0x8000001e
1846 0x00000001
1847 0x00000001
1848 0x00000002
1849 0x00000000
1850 0x00000002
1851 0x00000001
1852 0x00000002
1853 0x00000008
1854 0x00000003
1855 0x00000002
1856 0x00000003
1857 0x00000006
1858 0x06030203
1859 0x000a0402
1860 0x74230403
1861 0x70000f03
1862 0x001f0000
1863 >;
1864 };
1865
1866 timing-102000000 {
1867 clock-frequency = <102000000>;
1868
1869 nvidia,emem-configuration = <
1870 0x08000001
1871 0x80000026
1872 0x00000001
1873 0x00000001
1874 0x00000003
1875 0x00000000
1876 0x00000002
1877 0x00000001
1878 0x00000002
1879 0x00000008
1880 0x00000003
1881 0x00000002
1882 0x00000003
1883 0x00000006
1884 0x06030203
1885 0x000a0403
1886 0x73c30504
1887 0x70000f03
1888 0x001f0000
1889 >;
1890 };
1891
1892 timing-204000000 {
1893 clock-frequency = <204000000>;
1894
1895 nvidia,emem-configuration = <
1896 0x01000003
1897 0x80000040
1898 0x00000001
1899 0x00000001
1900 0x00000005
1901 0x00000002
1902 0x00000004
1903 0x00000001
1904 0x00000002
1905 0x00000008
1906 0x00000003
1907 0x00000002
1908 0x00000004
1909 0x00000006
1910 0x06040203
1911 0x000a0405
1912 0x73840a06
1913 0x70000f03
1914 0x001f0000
1915 >;
1916 };
1917
1918 timing-300000000 {
1919 clock-frequency = <300000000>;
1920
1921 nvidia,emem-configuration = <
1922 0x08000004
1923 0x80000040
1924 0x00000001
1925 0x00000002
1926 0x00000007
1927 0x00000004
1928 0x00000005
1929 0x00000001
1930 0x00000002
1931 0x00000007
1932 0x00000002
1933 0x00000002
1934 0x00000004
1935 0x00000006
1936 0x06040202
1937 0x000b0607
1938 0x77450e08
1939 0x70000f03
1940 0x001f0000
1941 >;
1942 };
1943
1944 timing-396000000 {
1945 clock-frequency = <396000000>;
1946
1947 nvidia,emem-configuration = <
1948 0x0f000005
1949 0x80000040
1950 0x00000001
1951 0x00000002
1952 0x00000009
1953 0x00000005
1954 0x00000007
1955 0x00000001
1956 0x00000002
1957 0x00000008
1958 0x00000002
1959 0x00000002
1960 0x00000004
1961 0x00000006
1962 0x06040202
1963 0x000d0709
1964 0x7586120a
1965 0x70000f03
1966 0x001f0000
1967 >;
1968 };
1969
1970 timing-600000000 {
1971 clock-frequency = <600000000>;
1972
1973 nvidia,emem-configuration = <
1974 0x00000009
1975 0x80000040
1976 0x00000003
1977 0x00000004
1978 0x0000000e
1979 0x00000009
1980 0x0000000b
1981 0x00000001
1982 0x00000003
1983 0x0000000b
1984 0x00000002
1985 0x00000002
1986 0x00000005
1987 0x00000007
1988 0x07050202
1989 0x00130b0e
1990 0x73a91b0f
1991 0x70000f03
1992 0x001f0000
1993 >;
1994 };
1995
1996 timing-792000000 {
1997 clock-frequency = <792000000>;
1998
1999 nvidia,emem-configuration = <
2000 0x0e00000b
2001 0x80000040
2002 0x00000004
2003 0x00000005
2004 0x00000013
2005 0x0000000c
2006 0x0000000f
2007 0x00000002
2008 0x00000003
2009 0x0000000c
2010 0x00000002
2011 0x00000002
2012 0x00000006
2013 0x00000008
2014 0x08060202
2015 0x00160d13
2016 0x734c2414
2017 0x70000f02
2018 0x001f0000
2019 >;
2020 };
2021 };
2022 };
2023};
diff --git a/arch/arm/boot/dts/tegra124-nyan-big.dts b/arch/arm/boot/dts/tegra124-nyan-big.dts
index 004e8e4e1c04..2d21253ea4e3 100644
--- a/arch/arm/boot/dts/tegra124-nyan-big.dts
+++ b/arch/arm/boot/dts/tegra124-nyan-big.dts
@@ -1,46 +1,29 @@
1/dts-v1/; 1/dts-v1/;
2 2
3#include <dt-bindings/input/input.h> 3#include "tegra124-nyan.dtsi"
4#include "tegra124.dtsi" 4
5#include "tegra124-nyan-big-emc.dtsi"
5 6
6/ { 7/ {
7 model = "Acer Chromebook 13 CB5-311"; 8 model = "Acer Chromebook 13 CB5-311";
8 compatible = "google,nyan-big", "nvidia,tegra124"; 9 compatible = "google,nyan-big", "nvidia,tegra124";
9 10
10 aliases { 11 panel: panel {
11 rtc0 = "/i2c@0,7000d000/pmic@40"; 12 compatible = "auo,b133xtn01";
12 rtc1 = "/rtc@0,7000e000";
13 serial0 = &uarta;
14 };
15 13
16 memory { 14 backlight = <&backlight>;
17 reg = <0x0 0x80000000 0x0 0x80000000>; 15 ddc-i2c-bus = <&dpaux>;
18 }; 16 };
19 17
20 host1x@0,50000000 { 18 sdhci@0,700b0400 { /* SD Card on this bus */
21 hdmi@0,54280000 { 19 wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
22 status = "okay"; 20 };
23
24 vdd-supply = <&vdd_3v3_hdmi>;
25 pll-supply = <&vdd_hdmi_pll>;
26 hdmi-supply = <&vdd_5v0_hdmi>;
27
28 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
29 nvidia,hpd-gpio =
30 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
31 };
32
33 sor@0,54540000 {
34 status = "okay";
35
36 nvidia,dpaux = <&dpaux>;
37 nvidia,panel = <&panel>;
38 };
39 21
40 dpaux@0,545c0000 { 22 sound {
41 vdd-supply = <&vdd_3v3_panel>; 23 compatible = "nvidia,tegra-audio-max98090-nyan-big",
42 status = "okay"; 24 "nvidia,tegra-audio-max98090-nyan",
43 }; 25 "nvidia,tegra-audio-max98090";
26 nvidia,model = "GoogleNyanBig";
44 }; 27 };
45 28
46 pinmux@0,70000868 { 29 pinmux@0,70000868 {
@@ -48,1092 +31,1308 @@
48 pinctrl-0 = <&pinmux_default>; 31 pinctrl-0 = <&pinmux_default>;
49 32
50 pinmux_default: common { 33 pinmux_default: common {
51 dap_mclk1_pw4 { 34 clk_32k_out_pa0 {
52 nvidia,pins = "dap_mclk1_pw4"; 35 nvidia,pins = "clk_32k_out_pa0";
53 nvidia,function = "extperiph1"; 36 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
37 nvidia,tristate = <TEGRA_PIN_DISABLE>;
38 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
39 };
40 uart3_cts_n_pa1 {
41 nvidia,pins = "uart3_cts_n_pa1";
42 nvidia,function = "gmi";
43 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
44 nvidia,tristate = <TEGRA_PIN_ENABLE>;
54 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 45 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
46 };
47 dap2_fs_pa2 {
48 nvidia,pins = "dap2_fs_pa2";
49 nvidia,function = "i2s1";
55 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 50 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
56 nvidia,tristate = <TEGRA_PIN_DISABLE>; 51 nvidia,tristate = <TEGRA_PIN_DISABLE>;
52 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
53 };
54 dap2_sclk_pa3 {
55 nvidia,pins = "dap2_sclk_pa3";
56 nvidia,function = "i2s1";
57 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
58 nvidia,tristate = <TEGRA_PIN_DISABLE>;
59 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
57 }; 60 };
58 dap2_din_pa4 { 61 dap2_din_pa4 {
59 nvidia,pins = "dap2_din_pa4"; 62 nvidia,pins = "dap2_din_pa4";
60 nvidia,function = "i2s1"; 63 nvidia,function = "i2s1";
61 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
62 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 64 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
63 nvidia,tristate = <TEGRA_PIN_DISABLE>; 65 nvidia,tristate = <TEGRA_PIN_DISABLE>;
66 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
64 }; 67 };
65 dap2_dout_pa5 { 68 dap2_dout_pa5 {
66 nvidia,pins = "dap2_dout_pa5", 69 nvidia,pins = "dap2_dout_pa5";
67 "dap2_fs_pa2",
68 "dap2_sclk_pa3";
69 nvidia,function = "i2s1"; 70 nvidia,function = "i2s1";
70 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
71 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 71 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
72 nvidia,tristate = <TEGRA_PIN_DISABLE>; 72 nvidia,tristate = <TEGRA_PIN_DISABLE>;
73 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
73 }; 74 };
74 dvfs_pwm_px0 { 75 sdmmc3_clk_pa6 {
75 nvidia,pins = "dvfs_pwm_px0", 76 nvidia,pins = "sdmmc3_clk_pa6";
76 "dvfs_clk_px2"; 77 nvidia,function = "sdmmc3";
77 nvidia,function = "cldvfs";
78 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
79 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 78 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
80 nvidia,tristate = <TEGRA_PIN_DISABLE>; 79 nvidia,tristate = <TEGRA_PIN_DISABLE>;
80 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
81 }; 81 };
82 ulpi_clk_py0 { 82 sdmmc3_cmd_pa7 {
83 nvidia,pins = "ulpi_clk_py0", 83 nvidia,pins = "sdmmc3_cmd_pa7";
84 "ulpi_nxt_py2", 84 nvidia,function = "sdmmc3";
85 "ulpi_stp_py3"; 85 nvidia,pull = <TEGRA_PIN_PULL_UP>;
86 nvidia,function = "spi1"; 86 nvidia,tristate = <TEGRA_PIN_DISABLE>;
87 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
88 };
89 pb0 {
90 nvidia,pins = "pb0";
91 nvidia,function = "rsvd2";
92 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
93 nvidia,tristate = <TEGRA_PIN_ENABLE>;
94 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
95 };
96 pb1 {
97 nvidia,pins = "pb1";
98 nvidia,function = "rsvd2";
99 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
100 nvidia,tristate = <TEGRA_PIN_ENABLE>;
87 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 101 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
102 };
103 sdmmc3_dat3_pb4 {
104 nvidia,pins = "sdmmc3_dat3_pb4";
105 nvidia,function = "sdmmc3";
106 nvidia,pull = <TEGRA_PIN_PULL_UP>;
107 nvidia,tristate = <TEGRA_PIN_DISABLE>;
108 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
109 };
110 sdmmc3_dat2_pb5 {
111 nvidia,pins = "sdmmc3_dat2_pb5";
112 nvidia,function = "sdmmc3";
113 nvidia,pull = <TEGRA_PIN_PULL_UP>;
114 nvidia,tristate = <TEGRA_PIN_DISABLE>;
115 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
116 };
117 sdmmc3_dat1_pb6 {
118 nvidia,pins = "sdmmc3_dat1_pb6";
119 nvidia,function = "sdmmc3";
120 nvidia,pull = <TEGRA_PIN_PULL_UP>;
121 nvidia,tristate = <TEGRA_PIN_DISABLE>;
122 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
123 };
124 sdmmc3_dat0_pb7 {
125 nvidia,pins = "sdmmc3_dat0_pb7";
126 nvidia,function = "sdmmc3";
127 nvidia,pull = <TEGRA_PIN_PULL_UP>;
128 nvidia,tristate = <TEGRA_PIN_DISABLE>;
129 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
130 };
131 uart3_rts_n_pc0 {
132 nvidia,pins = "uart3_rts_n_pc0";
133 nvidia,function = "gmi";
134 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
135 nvidia,tristate = <TEGRA_PIN_ENABLE>;
136 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
137 };
138 uart2_txd_pc2 {
139 nvidia,pins = "uart2_txd_pc2";
140 nvidia,function = "irda";
141 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
142 nvidia,tristate = <TEGRA_PIN_ENABLE>;
143 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
144 };
145 uart2_rxd_pc3 {
146 nvidia,pins = "uart2_rxd_pc3";
147 nvidia,function = "irda";
148 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
149 nvidia,tristate = <TEGRA_PIN_ENABLE>;
150 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
151 };
152 gen1_i2c_scl_pc4 {
153 nvidia,pins = "gen1_i2c_scl_pc4";
154 nvidia,function = "i2c1";
88 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 155 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
89 nvidia,tristate = <TEGRA_PIN_DISABLE>; 156 nvidia,tristate = <TEGRA_PIN_DISABLE>;
157 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
158 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
90 }; 159 };
91 ulpi_dir_py1 { 160 gen1_i2c_sda_pc5 {
92 nvidia,pins = "ulpi_dir_py1"; 161 nvidia,pins = "gen1_i2c_sda_pc5";
93 nvidia,function = "spi1"; 162 nvidia,function = "i2c1";
163 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
164 nvidia,tristate = <TEGRA_PIN_DISABLE>;
94 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 165 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
166 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
167 };
168 pc7 {
169 nvidia,pins = "pc7";
95 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 170 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
96 nvidia,tristate = <TEGRA_PIN_DISABLE>; 171 nvidia,tristate = <TEGRA_PIN_DISABLE>;
172 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
97 }; 173 };
98 cam_i2c_scl_pbb1 { 174 pg0 {
99 nvidia,pins = "cam_i2c_scl_pbb1", 175 nvidia,pins = "pg0";
100 "cam_i2c_sda_pbb2"; 176 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
101 nvidia,function = "i2c3"; 177 nvidia,tristate = <TEGRA_PIN_DISABLE>;
102 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 178 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
179 };
180 pg1 {
181 nvidia,pins = "pg1";
103 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 182 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
104 nvidia,tristate = <TEGRA_PIN_DISABLE>; 183 nvidia,tristate = <TEGRA_PIN_DISABLE>;
105 nvidia,lock = <TEGRA_PIN_DISABLE>; 184 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
106 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
107 }; 185 };
108 gen2_i2c_scl_pt5 { 186 pg2 {
109 nvidia,pins = "gen2_i2c_scl_pt5", 187 nvidia,pins = "pg2";
110 "gen2_i2c_sda_pt6"; 188 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
111 nvidia,function = "i2c2"; 189 nvidia,tristate = <TEGRA_PIN_DISABLE>;
112 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 190 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
191 };
192 pg3 {
193 nvidia,pins = "pg3";
113 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 194 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
114 nvidia,tristate = <TEGRA_PIN_DISABLE>; 195 nvidia,tristate = <TEGRA_PIN_DISABLE>;
115 nvidia,lock = <TEGRA_PIN_DISABLE>; 196 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
116 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
117 }; 197 };
118 pg4 { 198 pg4 {
119 nvidia,pins = "pg4", 199 nvidia,pins = "pg4";
120 "pg5", 200 nvidia,function = "spi4";
121 "pg6", 201 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
122 "pi3"; 202 nvidia,tristate = <TEGRA_PIN_DISABLE>;
203 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
204 };
205 pg5 {
206 nvidia,pins = "pg5";
123 nvidia,function = "spi4"; 207 nvidia,function = "spi4";
208 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
209 nvidia,tristate = <TEGRA_PIN_DISABLE>;
124 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 210 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
211 };
212 pg6 {
213 nvidia,pins = "pg6";
214 nvidia,function = "spi4";
125 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 215 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
126 nvidia,tristate = <TEGRA_PIN_DISABLE>; 216 nvidia,tristate = <TEGRA_PIN_DISABLE>;
217 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
127 }; 218 };
128 pg7 { 219 pg7 {
129 nvidia,pins = "pg7"; 220 nvidia,pins = "pg7";
130 nvidia,function = "spi4"; 221 nvidia,function = "spi4";
131 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
132 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 222 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
133 nvidia,tristate = <TEGRA_PIN_DISABLE>; 223 nvidia,tristate = <TEGRA_PIN_DISABLE>;
224 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
225 };
226 ph0 {
227 nvidia,pins = "ph0";
228 nvidia,function = "gmi";
229 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
230 nvidia,tristate = <TEGRA_PIN_ENABLE>;
231 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
134 }; 232 };
135 ph1 { 233 ph1 {
136 nvidia,pins = "ph1"; 234 nvidia,pins = "ph1";
137 nvidia,function = "pwm1"; 235 nvidia,function = "pwm1";
236 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
237 nvidia,tristate = <TEGRA_PIN_DISABLE>;
138 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 238 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
239 };
240 ph2 {
241 nvidia,pins = "ph2";
139 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 242 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
140 nvidia,tristate = <TEGRA_PIN_DISABLE>; 243 nvidia,tristate = <TEGRA_PIN_DISABLE>;
244 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
141 }; 245 };
142 pk0 { 246 ph3 {
143 nvidia,pins = "pk0", 247 nvidia,pins = "ph3";
144 "kb_row15_ps7", 248 nvidia,function = "gmi";
145 "clk_32k_out_pa0"; 249 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
146 nvidia,function = "soc"; 250 nvidia,tristate = <TEGRA_PIN_ENABLE>;
147 nvidia,pull = <TEGRA_PIN_PULL_UP>; 251 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
252 };
253 ph4 {
254 nvidia,pins = "ph4";
255 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
148 nvidia,tristate = <TEGRA_PIN_DISABLE>; 256 nvidia,tristate = <TEGRA_PIN_DISABLE>;
149 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 257 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
150 }; 258 };
151 sdmmc1_clk_pz0 { 259 ph5 {
152 nvidia,pins = "sdmmc1_clk_pz0"; 260 nvidia,pins = "ph5";
153 nvidia,function = "sdmmc1"; 261 nvidia,function = "rsvd2";
262 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
263 nvidia,tristate = <TEGRA_PIN_ENABLE>;
154 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 264 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
265 };
266 ph6 {
267 nvidia,pins = "ph6";
155 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 268 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
156 nvidia,tristate = <TEGRA_PIN_DISABLE>; 269 nvidia,tristate = <TEGRA_PIN_DISABLE>;
270 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
157 }; 271 };
158 sdmmc1_cmd_pz1 { 272 ph7 {
159 nvidia,pins = "sdmmc1_cmd_pz1", 273 nvidia,pins = "ph7";
160 "sdmmc1_dat0_py7", 274 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
161 "sdmmc1_dat1_py6", 275 nvidia,tristate = <TEGRA_PIN_DISABLE>;
162 "sdmmc1_dat2_py5", 276 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
163 "sdmmc1_dat3_py4"; 277 };
164 nvidia,function = "sdmmc1"; 278 pi0 {
279 nvidia,pins = "pi0";
280 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
281 nvidia,tristate = <TEGRA_PIN_DISABLE>;
282 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
283 };
284 pi1 {
285 nvidia,pins = "pi1";
286 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
287 nvidia,tristate = <TEGRA_PIN_DISABLE>;
165 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 288 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
289 };
290 pi2 {
291 nvidia,pins = "pi2";
292 nvidia,function = "rsvd4";
293 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
294 nvidia,tristate = <TEGRA_PIN_ENABLE>;
295 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
296 };
297 pi3 {
298 nvidia,pins = "pi3";
299 nvidia,function = "spi4";
300 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
301 nvidia,tristate = <TEGRA_PIN_DISABLE>;
302 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
303 };
304 pi4 {
305 nvidia,pins = "pi4";
306 nvidia,function = "gmi";
307 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
308 nvidia,tristate = <TEGRA_PIN_ENABLE>;
309 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
310 };
311 pi5 {
312 nvidia,pins = "pi5";
166 nvidia,pull = <TEGRA_PIN_PULL_UP>; 313 nvidia,pull = <TEGRA_PIN_PULL_UP>;
167 nvidia,tristate = <TEGRA_PIN_DISABLE>; 314 nvidia,tristate = <TEGRA_PIN_DISABLE>;
315 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
168 }; 316 };
169 sdmmc3_clk_pa6 { 317 pi6 {
170 nvidia,pins = "sdmmc3_clk_pa6"; 318 nvidia,pins = "pi6";
171 nvidia,function = "sdmmc3";
172 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
173 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 319 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
174 nvidia,tristate = <TEGRA_PIN_DISABLE>; 320 nvidia,tristate = <TEGRA_PIN_DISABLE>;
321 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
175 }; 322 };
176 sdmmc3_cmd_pa7 { 323 pi7 {
177 nvidia,pins = "sdmmc3_cmd_pa7", 324 nvidia,pins = "pi7";
178 "sdmmc3_dat0_pb7", 325 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
179 "sdmmc3_dat1_pb6", 326 nvidia,tristate = <TEGRA_PIN_DISABLE>;
180 "sdmmc3_dat2_pb5",
181 "sdmmc3_dat3_pb4",
182 "kb_col4_pq4",
183 "sdmmc3_clk_lb_out_pee4",
184 "sdmmc3_clk_lb_in_pee5",
185 "sdmmc3_cd_n_pv2";
186 nvidia,function = "sdmmc3";
187 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 327 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
328 };
329 pj0 {
330 nvidia,pins = "pj0";
188 nvidia,pull = <TEGRA_PIN_PULL_UP>; 331 nvidia,pull = <TEGRA_PIN_PULL_UP>;
189 nvidia,tristate = <TEGRA_PIN_DISABLE>; 332 nvidia,tristate = <TEGRA_PIN_DISABLE>;
333 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
190 }; 334 };
191 sdmmc4_clk_pcc4 { 335 pj2 {
192 nvidia,pins = "sdmmc4_clk_pcc4"; 336 nvidia,pins = "pj2";
193 nvidia,function = "sdmmc4"; 337 nvidia,function = "rsvd1";
338 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
339 nvidia,tristate = <TEGRA_PIN_ENABLE>;
340 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
341 };
342 uart2_cts_n_pj5 {
343 nvidia,pins = "uart2_cts_n_pj5";
344 nvidia,function = "gmi";
345 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
346 nvidia,tristate = <TEGRA_PIN_ENABLE>;
347 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
348 };
349 uart2_rts_n_pj6 {
350 nvidia,pins = "uart2_rts_n_pj6";
351 nvidia,function = "gmi";
352 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
353 nvidia,tristate = <TEGRA_PIN_ENABLE>;
354 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
355 };
356 pj7 {
357 nvidia,pins = "pj7";
358 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
359 nvidia,tristate = <TEGRA_PIN_DISABLE>;
194 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 360 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
361 };
362 pk0 {
363 nvidia,pins = "pk0";
364 nvidia,function = "rsvd1";
365 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
366 nvidia,tristate = <TEGRA_PIN_ENABLE>;
367 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
368 };
369 pk1 {
370 nvidia,pins = "pk1";
195 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 371 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
196 nvidia,tristate = <TEGRA_PIN_DISABLE>; 372 nvidia,tristate = <TEGRA_PIN_DISABLE>;
373 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
197 }; 374 };
198 sdmmc4_cmd_pt7 { 375 pk2 {
199 nvidia,pins = "sdmmc4_cmd_pt7", 376 nvidia,pins = "pk2";
200 "sdmmc4_dat0_paa0", 377 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
201 "sdmmc4_dat1_paa1", 378 nvidia,tristate = <TEGRA_PIN_DISABLE>;
202 "sdmmc4_dat2_paa2",
203 "sdmmc4_dat3_paa3",
204 "sdmmc4_dat4_paa4",
205 "sdmmc4_dat5_paa5",
206 "sdmmc4_dat6_paa6",
207 "sdmmc4_dat7_paa7";
208 nvidia,function = "sdmmc4";
209 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 379 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
380 };
381 pk3 {
382 nvidia,pins = "pk3";
383 nvidia,function = "gmi";
384 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
385 nvidia,tristate = <TEGRA_PIN_ENABLE>;
386 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
387 };
388 pk4 {
389 nvidia,pins = "pk4";
210 nvidia,pull = <TEGRA_PIN_PULL_UP>; 390 nvidia,pull = <TEGRA_PIN_PULL_UP>;
211 nvidia,tristate = <TEGRA_PIN_DISABLE>; 391 nvidia,tristate = <TEGRA_PIN_DISABLE>;
392 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
212 }; 393 };
213 pwr_i2c_scl_pz6 { 394 spdif_out_pk5 {
214 nvidia,pins = "pwr_i2c_scl_pz6", 395 nvidia,pins = "spdif_out_pk5";
215 "pwr_i2c_sda_pz7"; 396 nvidia,function = "rsvd2";
216 nvidia,function = "i2cpwr"; 397 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
398 nvidia,tristate = <TEGRA_PIN_ENABLE>;
399 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
400 };
401 spdif_in_pk6 {
402 nvidia,pins = "spdif_in_pk6";
403 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
404 nvidia,tristate = <TEGRA_PIN_DISABLE>;
405 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
406 };
407 pk7 {
408 nvidia,pins = "pk7";
409 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
410 nvidia,tristate = <TEGRA_PIN_DISABLE>;
217 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 411 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
412 };
413 dap1_fs_pn0 {
414 nvidia,pins = "dap1_fs_pn0";
415 nvidia,function = "rsvd4";
416 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
417 nvidia,tristate = <TEGRA_PIN_ENABLE>;
418 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
419 };
420 dap1_din_pn1 {
421 nvidia,pins = "dap1_din_pn1";
422 nvidia,function = "rsvd4";
423 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
424 nvidia,tristate = <TEGRA_PIN_ENABLE>;
425 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
426 };
427 dap1_dout_pn2 {
428 nvidia,pins = "dap1_dout_pn2";
429 nvidia,function = "i2s0";
430 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
431 nvidia,tristate = <TEGRA_PIN_ENABLE>;
432 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
433 };
434 dap1_sclk_pn3 {
435 nvidia,pins = "dap1_sclk_pn3";
436 nvidia,function = "rsvd4";
437 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
438 nvidia,tristate = <TEGRA_PIN_ENABLE>;
439 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
440 };
441 usb_vbus_en0_pn4 {
442 nvidia,pins = "usb_vbus_en0_pn4";
443 nvidia,function = "usb";
218 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 444 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
219 nvidia,tristate = <TEGRA_PIN_DISABLE>; 445 nvidia,tristate = <TEGRA_PIN_DISABLE>;
220 nvidia,lock = <TEGRA_PIN_DISABLE>; 446 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
221 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 447 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
222 }; 448 };
223 jtag_rtck { 449 usb_vbus_en1_pn5 {
224 nvidia,pins = "jtag_rtck"; 450 nvidia,pins = "usb_vbus_en1_pn5";
225 nvidia,function = "rtck"; 451 nvidia,function = "usb";
452 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
453 nvidia,tristate = <TEGRA_PIN_DISABLE>;
454 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
455 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
456 };
457 hdmi_int_pn7 {
458 nvidia,pins = "hdmi_int_pn7";
459 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
460 nvidia,tristate = <TEGRA_PIN_DISABLE>;
461 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
462 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
463 };
464 ulpi_data7_po0 {
465 nvidia,pins = "ulpi_data7_po0";
466 nvidia,function = "ulpi";
467 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
468 nvidia,tristate = <TEGRA_PIN_ENABLE>;
469 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
470 };
471 ulpi_data0_po1 {
472 nvidia,pins = "ulpi_data0_po1";
473 nvidia,function = "ulpi";
474 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
475 nvidia,tristate = <TEGRA_PIN_ENABLE>;
476 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
477 };
478 ulpi_data1_po2 {
479 nvidia,pins = "ulpi_data1_po2";
480 nvidia,function = "ulpi";
481 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
482 nvidia,tristate = <TEGRA_PIN_ENABLE>;
483 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
484 };
485 ulpi_data2_po3 {
486 nvidia,pins = "ulpi_data2_po3";
487 nvidia,function = "ulpi";
488 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
489 nvidia,tristate = <TEGRA_PIN_ENABLE>;
490 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
491 };
492 ulpi_data3_po4 {
493 nvidia,pins = "ulpi_data3_po4";
494 nvidia,function = "ulpi";
495 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
496 nvidia,tristate = <TEGRA_PIN_ENABLE>;
226 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 497 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
498 };
499 ulpi_data4_po5 {
500 nvidia,pins = "ulpi_data4_po5";
501 nvidia,function = "ulpi";
502 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
503 nvidia,tristate = <TEGRA_PIN_ENABLE>;
504 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
505 };
506 ulpi_data5_po6 {
507 nvidia,pins = "ulpi_data5_po6";
508 nvidia,function = "ulpi";
509 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
510 nvidia,tristate = <TEGRA_PIN_ENABLE>;
511 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
512 };
513 ulpi_data6_po7 {
514 nvidia,pins = "ulpi_data6_po7";
515 nvidia,function = "ulpi";
516 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
517 nvidia,tristate = <TEGRA_PIN_ENABLE>;
518 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
519 };
520 dap3_fs_pp0 {
521 nvidia,pins = "dap3_fs_pp0";
522 nvidia,function = "i2s2";
523 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
524 nvidia,tristate = <TEGRA_PIN_ENABLE>;
525 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
526 };
527 dap3_din_pp1 {
528 nvidia,pins = "dap3_din_pp1";
529 nvidia,function = "i2s2";
530 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
531 nvidia,tristate = <TEGRA_PIN_ENABLE>;
532 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
533 };
534 dap3_dout_pp2 {
535 nvidia,pins = "dap3_dout_pp2";
536 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
537 nvidia,tristate = <TEGRA_PIN_DISABLE>;
538 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
539 };
540 dap3_sclk_pp3 {
541 nvidia,pins = "dap3_sclk_pp3";
542 nvidia,function = "rsvd3";
543 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
544 nvidia,tristate = <TEGRA_PIN_ENABLE>;
545 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
546 };
547 dap4_fs_pp4 {
548 nvidia,pins = "dap4_fs_pp4";
549 nvidia,function = "rsvd4";
550 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
551 nvidia,tristate = <TEGRA_PIN_ENABLE>;
552 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
553 };
554 dap4_din_pp5 {
555 nvidia,pins = "dap4_din_pp5";
556 nvidia,function = "rsvd3";
557 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
558 nvidia,tristate = <TEGRA_PIN_ENABLE>;
559 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
560 };
561 dap4_dout_pp6 {
562 nvidia,pins = "dap4_dout_pp6";
563 nvidia,function = "rsvd4";
564 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
565 nvidia,tristate = <TEGRA_PIN_ENABLE>;
566 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
567 };
568 dap4_sclk_pp7 {
569 nvidia,pins = "dap4_sclk_pp7";
570 nvidia,function = "rsvd3";
571 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
572 nvidia,tristate = <TEGRA_PIN_ENABLE>;
573 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
574 };
575 kb_col0_pq0 {
576 nvidia,pins = "kb_col0_pq0";
577 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
578 nvidia,tristate = <TEGRA_PIN_DISABLE>;
579 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
580 };
581 kb_col1_pq1 {
582 nvidia,pins = "kb_col1_pq1";
583 nvidia,function = "rsvd2";
584 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
585 nvidia,tristate = <TEGRA_PIN_ENABLE>;
586 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
587 };
588 kb_col2_pq2 {
589 nvidia,pins = "kb_col2_pq2";
590 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
591 nvidia,tristate = <TEGRA_PIN_DISABLE>;
592 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
593 };
594 kb_col3_pq3 {
595 nvidia,pins = "kb_col3_pq3";
596 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
597 nvidia,tristate = <TEGRA_PIN_DISABLE>;
598 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
599 };
600 kb_col4_pq4 {
601 nvidia,pins = "kb_col4_pq4";
602 nvidia,function = "sdmmc3";
227 nvidia,pull = <TEGRA_PIN_PULL_UP>; 603 nvidia,pull = <TEGRA_PIN_PULL_UP>;
228 nvidia,tristate = <TEGRA_PIN_DISABLE>; 604 nvidia,tristate = <TEGRA_PIN_DISABLE>;
605 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
229 }; 606 };
230 clk_32k_in { 607 kb_col5_pq5 {
231 nvidia,pins = "clk_32k_in"; 608 nvidia,pins = "kb_col5_pq5";
232 nvidia,function = "clk"; 609 nvidia,function = "rsvd2";
610 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
611 nvidia,tristate = <TEGRA_PIN_ENABLE>;
612 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
613 };
614 kb_col6_pq6 {
615 nvidia,pins = "kb_col6_pq6";
616 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
617 nvidia,tristate = <TEGRA_PIN_DISABLE>;
233 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 618 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
619 };
620 kb_col7_pq7 {
621 nvidia,pins = "kb_col7_pq7";
234 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 622 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
235 nvidia,tristate = <TEGRA_PIN_DISABLE>; 623 nvidia,tristate = <TEGRA_PIN_DISABLE>;
624 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
236 }; 625 };
237 core_pwr_req { 626 kb_row0_pr0 {
238 nvidia,pins = "core_pwr_req"; 627 nvidia,pins = "kb_row0_pr0";
239 nvidia,function = "pwron"; 628 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
629 nvidia,tristate = <TEGRA_PIN_DISABLE>;
240 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 630 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
631 };
632 kb_row1_pr1 {
633 nvidia,pins = "kb_row1_pr1";
241 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 634 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
242 nvidia,tristate = <TEGRA_PIN_DISABLE>; 635 nvidia,tristate = <TEGRA_PIN_DISABLE>;
636 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
243 }; 637 };
244 cpu_pwr_req { 638 kb_row2_pr2 {
245 nvidia,pins = "cpu_pwr_req"; 639 nvidia,pins = "kb_row2_pr2";
246 nvidia,function = "cpu"; 640 nvidia,function = "rsvd2";
641 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
642 nvidia,tristate = <TEGRA_PIN_ENABLE>;
247 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 643 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
644 };
645 kb_row3_pr3 {
646 nvidia,pins = "kb_row3_pr3";
647 nvidia,function = "kbc";
648 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
649 nvidia,tristate = <TEGRA_PIN_ENABLE>;
650 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
651 };
652 kb_row4_pr4 {
653 nvidia,pins = "kb_row4_pr4";
248 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 654 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
249 nvidia,tristate = <TEGRA_PIN_DISABLE>; 655 nvidia,tristate = <TEGRA_PIN_DISABLE>;
656 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
250 }; 657 };
251 pwr_int_n { 658 kb_row5_pr5 {
252 nvidia,pins = "pwr_int_n"; 659 nvidia,pins = "kb_row5_pr5";
253 nvidia,function = "pmi"; 660 nvidia,function = "rsvd3";
661 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
662 nvidia,tristate = <TEGRA_PIN_ENABLE>;
663 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
664 };
665 kb_row6_pr6 {
666 nvidia,pins = "kb_row6_pr6";
667 nvidia,function = "kbc";
668 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
669 nvidia,tristate = <TEGRA_PIN_ENABLE>;
670 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
671 };
672 kb_row7_pr7 {
673 nvidia,pins = "kb_row7_pr7";
674 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
675 nvidia,tristate = <TEGRA_PIN_DISABLE>;
254 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 676 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
255 nvidia,pull = <TEGRA_PIN_PULL_UP>; 677 };
678 kb_row8_ps0 {
679 nvidia,pins = "kb_row8_ps0";
680 nvidia,function = "rsvd2";
681 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
682 nvidia,tristate = <TEGRA_PIN_ENABLE>;
683 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
684 };
685 kb_row9_ps1 {
686 nvidia,pins = "kb_row9_ps1";
687 nvidia,function = "uarta";
688 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
256 nvidia,tristate = <TEGRA_PIN_DISABLE>; 689 nvidia,tristate = <TEGRA_PIN_DISABLE>;
690 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
257 }; 691 };
258 reset_out_n { 692 kb_row10_ps2 {
259 nvidia,pins = "reset_out_n"; 693 nvidia,pins = "kb_row10_ps2";
260 nvidia,function = "reset_out_n"; 694 nvidia,function = "uarta";
695 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
696 nvidia,tristate = <TEGRA_PIN_DISABLE>;
697 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
698 };
699 kb_row11_ps3 {
700 nvidia,pins = "kb_row11_ps3";
701 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
702 nvidia,tristate = <TEGRA_PIN_DISABLE>;
261 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 703 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
704 };
705 kb_row12_ps4 {
706 nvidia,pins = "kb_row12_ps4";
262 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 707 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
263 nvidia,tristate = <TEGRA_PIN_DISABLE>; 708 nvidia,tristate = <TEGRA_PIN_DISABLE>;
709 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
264 }; 710 };
265 clk3_out_pee0 { 711 kb_row13_ps5 {
266 nvidia,pins = "clk3_out_pee0"; 712 nvidia,pins = "kb_row13_ps5";
267 nvidia,function = "extperiph3"; 713 nvidia,function = "rsvd2";
714 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
715 nvidia,tristate = <TEGRA_PIN_ENABLE>;
268 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 716 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
717 };
718 kb_row14_ps6 {
719 nvidia,pins = "kb_row14_ps6";
720 nvidia,function = "rsvd2";
721 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
722 nvidia,tristate = <TEGRA_PIN_ENABLE>;
723 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
724 };
725 kb_row15_ps7 {
726 nvidia,pins = "kb_row15_ps7";
269 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 727 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
270 nvidia,tristate = <TEGRA_PIN_DISABLE>; 728 nvidia,tristate = <TEGRA_PIN_DISABLE>;
729 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
271 }; 730 };
272 gen1_i2c_sda_pc5 { 731 kb_row16_pt0 {
273 nvidia,pins = "gen1_i2c_sda_pc5", 732 nvidia,pins = "kb_row16_pt0";
274 "gen1_i2c_scl_pc4"; 733 nvidia,function = "rsvd2";
275 nvidia,function = "i2c1"; 734 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
735 nvidia,tristate = <TEGRA_PIN_ENABLE>;
736 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
737 };
738 kb_row17_pt1 {
739 nvidia,pins = "kb_row17_pt1";
740 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
741 nvidia,tristate = <TEGRA_PIN_DISABLE>;
276 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 742 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
743 };
744 gen2_i2c_scl_pt5 {
745 nvidia,pins = "gen2_i2c_scl_pt5";
746 nvidia,function = "i2c2";
277 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 747 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
278 nvidia,tristate = <TEGRA_PIN_DISABLE>; 748 nvidia,tristate = <TEGRA_PIN_DISABLE>;
279 nvidia,lock = <TEGRA_PIN_DISABLE>; 749 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
280 nvidia,open-drain = <TEGRA_PIN_ENABLE>; 750 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
281 }; 751 };
282 hdmi_cec_pee3 { 752 gen2_i2c_sda_pt6 {
283 nvidia,pins = "hdmi_cec_pee3"; 753 nvidia,pins = "gen2_i2c_sda_pt6";
284 nvidia,function = "cec"; 754 nvidia,function = "i2c2";
755 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
756 nvidia,tristate = <TEGRA_PIN_DISABLE>;
285 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 757 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
758 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
759 };
760 sdmmc4_cmd_pt7 {
761 nvidia,pins = "sdmmc4_cmd_pt7";
762 nvidia,function = "sdmmc4";
286 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 763 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
287 nvidia,tristate = <TEGRA_PIN_DISABLE>; 764 nvidia,tristate = <TEGRA_PIN_DISABLE>;
288 nvidia,lock = <TEGRA_PIN_DISABLE>; 765 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
289 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
290 }; 766 };
291 hdmi_int_pn7 { 767 pu0 {
292 nvidia,pins = "hdmi_int_pn7"; 768 nvidia,pins = "pu0";
769 nvidia,function = "rsvd4";
770 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
771 nvidia,tristate = <TEGRA_PIN_ENABLE>;
772 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
773 };
774 pu1 {
775 nvidia,pins = "pu1";
776 nvidia,function = "rsvd1";
777 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
778 nvidia,tristate = <TEGRA_PIN_ENABLE>;
779 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
780 };
781 pu2 {
782 nvidia,pins = "pu2";
293 nvidia,function = "rsvd1"; 783 nvidia,function = "rsvd1";
784 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
785 nvidia,tristate = <TEGRA_PIN_ENABLE>;
786 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
787 };
788 pu3 {
789 nvidia,pins = "pu3";
790 nvidia,function = "gmi";
791 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
792 nvidia,tristate = <TEGRA_PIN_ENABLE>;
793 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
794 };
795 pu4 {
796 nvidia,pins = "pu4";
797 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
798 nvidia,tristate = <TEGRA_PIN_DISABLE>;
799 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
800 };
801 pu5 {
802 nvidia,pins = "pu5";
803 nvidia,pull = <TEGRA_PIN_PULL_UP>;
804 nvidia,tristate = <TEGRA_PIN_DISABLE>;
294 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 805 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
806 };
807 pu6 {
808 nvidia,pins = "pu6";
809 nvidia,pull = <TEGRA_PIN_PULL_UP>;
810 nvidia,tristate = <TEGRA_PIN_DISABLE>;
811 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
812 };
813 pv0 {
814 nvidia,pins = "pv0";
815 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
816 nvidia,tristate = <TEGRA_PIN_DISABLE>;
817 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
818 };
819 pv1 {
820 nvidia,pins = "pv1";
821 nvidia,function = "rsvd1";
295 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 822 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
823 nvidia,tristate = <TEGRA_PIN_ENABLE>;
824 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
825 };
826 sdmmc3_cd_n_pv2 {
827 nvidia,pins = "sdmmc3_cd_n_pv2";
828 nvidia,function = "sdmmc3";
829 nvidia,pull = <TEGRA_PIN_PULL_UP>;
296 nvidia,tristate = <TEGRA_PIN_DISABLE>; 830 nvidia,tristate = <TEGRA_PIN_DISABLE>;
831 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
832 };
833 sdmmc1_wp_n_pv3 {
834 nvidia,pins = "sdmmc1_wp_n_pv3";
835 nvidia,function = "sdmmc1";
836 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
837 nvidia,tristate = <TEGRA_PIN_ENABLE>;
838 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
297 }; 839 };
298 ddc_scl_pv4 { 840 ddc_scl_pv4 {
299 nvidia,pins = "ddc_scl_pv4", 841 nvidia,pins = "ddc_scl_pv4";
300 "ddc_sda_pv5";
301 nvidia,function = "i2c4"; 842 nvidia,function = "i2c4";
843 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
844 nvidia,tristate = <TEGRA_PIN_DISABLE>;
302 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 845 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
846 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
847 };
848 ddc_sda_pv5 {
849 nvidia,pins = "ddc_sda_pv5";
850 nvidia,function = "i2c4";
303 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 851 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
304 nvidia,tristate = <TEGRA_PIN_DISABLE>; 852 nvidia,tristate = <TEGRA_PIN_DISABLE>;
305 nvidia,lock = <TEGRA_PIN_DISABLE>; 853 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
306 nvidia,rcv-sel = <TEGRA_PIN_ENABLE>; 854 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
307 }; 855 };
308 kb_row10_ps2 { 856 gpio_w2_aud_pw2 {
309 nvidia,pins = "kb_row10_ps2"; 857 nvidia,pins = "gpio_w2_aud_pw2";
310 nvidia,function = "uarta"; 858 nvidia,function = "rsvd2";
311 nvidia,pull = <TEGRA_PIN_PULL_UP>; 859 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
860 nvidia,tristate = <TEGRA_PIN_ENABLE>;
861 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
862 };
863 gpio_w3_aud_pw3 {
864 nvidia,pins = "gpio_w3_aud_pw3";
865 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
312 nvidia,tristate = <TEGRA_PIN_DISABLE>; 866 nvidia,tristate = <TEGRA_PIN_DISABLE>;
313 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 867 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
314 }; 868 };
315 kb_row9_ps1 { 869 dap_mclk1_pw4 {
316 nvidia,pins = "kb_row9_ps1"; 870 nvidia,pins = "dap_mclk1_pw4";
317 nvidia,function = "uarta"; 871 nvidia,function = "extperiph1";
318 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 872 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
319 nvidia,tristate = <TEGRA_PIN_DISABLE>; 873 nvidia,tristate = <TEGRA_PIN_DISABLE>;
320 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 874 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
321 }; 875 };
322 usb_vbus_en0_pn4 { 876 clk2_out_pw5 {
323 nvidia,pins = "usb_vbus_en0_pn4", 877 nvidia,pins = "clk2_out_pw5";
324 "usb_vbus_en1_pn5"; 878 nvidia,function = "rsvd2";
325 nvidia,function = "usb"; 879 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
880 nvidia,tristate = <TEGRA_PIN_ENABLE>;
881 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
882 };
883 uart3_txd_pw6 {
884 nvidia,pins = "uart3_txd_pw6";
885 nvidia,function = "rsvd2";
886 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
887 nvidia,tristate = <TEGRA_PIN_ENABLE>;
888 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
889 };
890 uart3_rxd_pw7 {
891 nvidia,pins = "uart3_rxd_pw7";
892 nvidia,function = "rsvd2";
893 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
894 nvidia,tristate = <TEGRA_PIN_ENABLE>;
895 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
896 };
897 dvfs_pwm_px0 {
898 nvidia,pins = "dvfs_pwm_px0";
899 nvidia,function = "cldvfs";
900 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
901 nvidia,tristate = <TEGRA_PIN_DISABLE>;
902 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
903 };
904 gpio_x1_aud_px1 {
905 nvidia,pins = "gpio_x1_aud_px1";
906 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
907 nvidia,tristate = <TEGRA_PIN_DISABLE>;
326 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 908 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
909 };
910 dvfs_clk_px2 {
911 nvidia,pins = "dvfs_clk_px2";
912 nvidia,function = "cldvfs";
327 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 913 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
328 nvidia,tristate = <TEGRA_PIN_DISABLE>; 914 nvidia,tristate = <TEGRA_PIN_DISABLE>;
329 nvidia,lock = <TEGRA_PIN_DISABLE>; 915 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
330 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
331 }; 916 };
332 drive_sdio1 { 917 gpio_x3_aud_px3 {
333 nvidia,pins = "drive_sdio1"; 918 nvidia,pins = "gpio_x3_aud_px3";
334 nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>; 919 nvidia,function = "rsvd4";
335 nvidia,schmitt = <TEGRA_PIN_DISABLE>; 920 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
336 nvidia,pull-down-strength = <36>; 921 nvidia,tristate = <TEGRA_PIN_ENABLE>;
337 nvidia,pull-up-strength = <20>; 922 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
338 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOW>; 923 };
339 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOW>; 924 gpio_x4_aud_px4 {
340 }; 925 nvidia,pins = "gpio_x4_aud_px4";
341 drive_sdio3 {
342 nvidia,pins = "drive_sdio3";
343 nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>;
344 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
345 nvidia,pull-down-strength = <22>;
346 nvidia,pull-up-strength = <36>;
347 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
348 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
349 };
350 drive_gma {
351 nvidia,pins = "drive_gma";
352 nvidia,high-speed-mode = <TEGRA_PIN_ENABLE>;
353 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
354 nvidia,pull-down-strength = <2>;
355 nvidia,pull-up-strength = <1>;
356 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
357 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
358 nvidia,drive-type = <1>;
359 };
360 codec_irq_l {
361 nvidia,pins = "ph4";
362 nvidia,function = "gmi";
363 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 926 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
364 nvidia,tristate = <TEGRA_PIN_DISABLE>; 927 nvidia,tristate = <TEGRA_PIN_DISABLE>;
365 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 928 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
366 }; 929 };
367 lcd_bl_en { 930 gpio_x5_aud_px5 {
368 nvidia,pins = "ph2"; 931 nvidia,pins = "gpio_x5_aud_px5";
932 nvidia,function = "rsvd4";
933 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
934 nvidia,tristate = <TEGRA_PIN_ENABLE>;
935 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
936 };
937 gpio_x6_aud_px6 {
938 nvidia,pins = "gpio_x6_aud_px6";
369 nvidia,function = "gmi"; 939 nvidia,function = "gmi";
370 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 940 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
941 nvidia,tristate = <TEGRA_PIN_ENABLE>;
942 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
943 };
944 gpio_x7_aud_px7 {
945 nvidia,pins = "gpio_x7_aud_px7";
946 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
371 nvidia,tristate = <TEGRA_PIN_DISABLE>; 947 nvidia,tristate = <TEGRA_PIN_DISABLE>;
372 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 948 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
373 }; 949 };
374 touch_irq_l { 950 ulpi_clk_py0 {
375 nvidia,pins = "gpio_w3_aud_pw3"; 951 nvidia,pins = "ulpi_clk_py0";
376 nvidia,function = "spi6"; 952 nvidia,function = "spi1";
377 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 953 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
378 nvidia,tristate = <TEGRA_PIN_DISABLE>; 954 nvidia,tristate = <TEGRA_PIN_DISABLE>;
379 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 955 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
380 }; 956 };
381 tpm_davint_l { 957 ulpi_dir_py1 {
382 nvidia,pins = "ph6"; 958 nvidia,pins = "ulpi_dir_py1";
383 nvidia,function = "gmi"; 959 nvidia,function = "spi1";
384 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 960 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
385 nvidia,tristate = <TEGRA_PIN_DISABLE>; 961 nvidia,tristate = <TEGRA_PIN_DISABLE>;
386 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 962 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
387 }; 963 };
388 ts_irq_l { 964 ulpi_nxt_py2 {
389 nvidia,pins = "pk2"; 965 nvidia,pins = "ulpi_nxt_py2";
390 nvidia,function = "gmi"; 966 nvidia,function = "spi1";
391 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 967 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
392 nvidia,tristate = <TEGRA_PIN_DISABLE>; 968 nvidia,tristate = <TEGRA_PIN_DISABLE>;
393 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 969 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
394 }; 970 };
395 ts_reset_l { 971 ulpi_stp_py3 {
396 nvidia,pins = "pk4"; 972 nvidia,pins = "ulpi_stp_py3";
397 nvidia,function = "gmi"; 973 nvidia,function = "spi1";
398 nvidia,pull = <TEGRA_PIN_PULL_UP>; 974 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
399 nvidia,tristate = <TEGRA_PIN_DISABLE>; 975 nvidia,tristate = <TEGRA_PIN_DISABLE>;
400 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 976 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
401 }; 977 };
402 ts_shdn_l { 978 sdmmc1_dat3_py4 {
403 nvidia,pins = "pk1"; 979 nvidia,pins = "sdmmc1_dat3_py4";
404 nvidia,function = "gmi"; 980 nvidia,function = "sdmmc1";
405 nvidia,pull = <TEGRA_PIN_PULL_UP>; 981 nvidia,pull = <TEGRA_PIN_PULL_UP>;
406 nvidia,tristate = <TEGRA_PIN_DISABLE>; 982 nvidia,tristate = <TEGRA_PIN_DISABLE>;
407 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 983 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
408 }; 984 };
409 ph7 { 985 sdmmc1_dat2_py5 {
410 nvidia,pins = "ph7"; 986 nvidia,pins = "sdmmc1_dat2_py5";
411 nvidia,function = "gmi"; 987 nvidia,function = "sdmmc1";
412 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 988 nvidia,pull = <TEGRA_PIN_PULL_UP>;
413 nvidia,tristate = <TEGRA_PIN_DISABLE>; 989 nvidia,tristate = <TEGRA_PIN_DISABLE>;
414 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 990 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
415 }; 991 };
416 kb_col0_ap { 992 sdmmc1_dat1_py6 {
417 nvidia,pins = "kb_col0_pq0"; 993 nvidia,pins = "sdmmc1_dat1_py6";
418 nvidia,function = "rsvd4"; 994 nvidia,function = "sdmmc1";
419 nvidia,pull = <TEGRA_PIN_PULL_UP>; 995 nvidia,pull = <TEGRA_PIN_PULL_UP>;
420 nvidia,tristate = <TEGRA_PIN_DISABLE>; 996 nvidia,tristate = <TEGRA_PIN_DISABLE>;
421 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 997 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
422 }; 998 };
423 lid_open { 999 sdmmc1_dat0_py7 {
424 nvidia,pins = "kb_row4_pr4"; 1000 nvidia,pins = "sdmmc1_dat0_py7";
425 nvidia,function = "rsvd3"; 1001 nvidia,function = "sdmmc1";
426 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1002 nvidia,pull = <TEGRA_PIN_PULL_UP>;
427 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1003 nvidia,tristate = <TEGRA_PIN_DISABLE>;
428 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1004 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
429 }; 1005 };
430 en_vdd_sd { 1006 sdmmc1_clk_pz0 {
431 nvidia,pins = "kb_row0_pr0"; 1007 nvidia,pins = "sdmmc1_clk_pz0";
432 nvidia,function = "rsvd4"; 1008 nvidia,function = "sdmmc1";
433 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1009 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
434 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1010 nvidia,tristate = <TEGRA_PIN_DISABLE>;
435 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1011 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
436 }; 1012 };
437 ac_ok { 1013 sdmmc1_cmd_pz1 {
438 nvidia,pins = "pj0"; 1014 nvidia,pins = "sdmmc1_cmd_pz1";
439 nvidia,function = "gmi"; 1015 nvidia,function = "sdmmc1";
440 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1016 nvidia,pull = <TEGRA_PIN_PULL_UP>;
441 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1017 nvidia,tristate = <TEGRA_PIN_DISABLE>;
442 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1018 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
443 }; 1019 };
444 sensor_irq_l { 1020 pwr_i2c_scl_pz6 {
445 nvidia,pins = "pi6"; 1021 nvidia,pins = "pwr_i2c_scl_pz6";
446 nvidia,function = "gmi"; 1022 nvidia,function = "i2cpwr";
447 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1023 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
448 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1024 nvidia,tristate = <TEGRA_PIN_DISABLE>;
449 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1025 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1026 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
450 }; 1027 };
451 wifi_en { 1028 pwr_i2c_sda_pz7 {
452 nvidia,pins = "gpio_x7_aud_px7"; 1029 nvidia,pins = "pwr_i2c_sda_pz7";
453 nvidia,function = "rsvd4"; 1030 nvidia,function = "i2cpwr";
454 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1031 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
455 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1032 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1033 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1034 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1035 };
1036 sdmmc4_dat0_paa0 {
1037 nvidia,pins = "sdmmc4_dat0_paa0";
1038 nvidia,function = "sdmmc4";
1039 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1040 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1041 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1042 };
1043 sdmmc4_dat1_paa1 {
1044 nvidia,pins = "sdmmc4_dat1_paa1";
1045 nvidia,function = "sdmmc4";
1046 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1047 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1048 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1049 };
1050 sdmmc4_dat2_paa2 {
1051 nvidia,pins = "sdmmc4_dat2_paa2";
1052 nvidia,function = "sdmmc4";
1053 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1054 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1055 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1056 };
1057 sdmmc4_dat3_paa3 {
1058 nvidia,pins = "sdmmc4_dat3_paa3";
1059 nvidia,function = "sdmmc4";
1060 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1061 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1062 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1063 };
1064 sdmmc4_dat4_paa4 {
1065 nvidia,pins = "sdmmc4_dat4_paa4";
1066 nvidia,function = "sdmmc4";
1067 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1068 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1069 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1070 };
1071 sdmmc4_dat5_paa5 {
1072 nvidia,pins = "sdmmc4_dat5_paa5";
1073 nvidia,function = "sdmmc4";
1074 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1075 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1076 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1077 };
1078 sdmmc4_dat6_paa6 {
1079 nvidia,pins = "sdmmc4_dat6_paa6";
1080 nvidia,function = "sdmmc4";
1081 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1082 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1083 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1084 };
1085 sdmmc4_dat7_paa7 {
1086 nvidia,pins = "sdmmc4_dat7_paa7";
1087 nvidia,function = "sdmmc4";
1088 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1089 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1090 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1091 };
1092 pbb0 {
1093 nvidia,pins = "pbb0";
1094 nvidia,function = "vgp6";
1095 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1096 nvidia,tristate = <TEGRA_PIN_ENABLE>;
456 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1097 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
457 }; 1098 };
458 en_vdd_bl { 1099 cam_i2c_scl_pbb1 {
459 nvidia,pins = "dap3_dout_pp2"; 1100 nvidia,pins = "cam_i2c_scl_pbb1";
460 nvidia,function = "i2s2"; 1101 nvidia,function = "rsvd3";
1102 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1103 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1104 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1105 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1106 };
1107 cam_i2c_sda_pbb2 {
1108 nvidia,pins = "cam_i2c_sda_pbb2";
1109 nvidia,function = "rsvd3";
1110 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1111 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1112 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1113 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1114 };
1115 pbb3 {
1116 nvidia,pins = "pbb3";
1117 nvidia,function = "vgp3";
1118 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1119 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1120 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1121 };
1122 pbb4 {
1123 nvidia,pins = "pbb4";
1124 nvidia,function = "vgp4";
1125 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1126 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1127 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1128 };
1129 pbb5 {
1130 nvidia,pins = "pbb5";
1131 nvidia,function = "rsvd3";
1132 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1133 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1134 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1135 };
1136 pbb6 {
1137 nvidia,pins = "pbb6";
1138 nvidia,function = "rsvd2";
1139 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1140 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1141 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1142 };
1143 pbb7 {
1144 nvidia,pins = "pbb7";
1145 nvidia,function = "rsvd2";
1146 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1147 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1148 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1149 };
1150 cam_mclk_pcc0 {
1151 nvidia,pins = "cam_mclk_pcc0";
1152 nvidia,function = "vi";
1153 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1154 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1155 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1156 };
1157 pcc1 {
1158 nvidia,pins = "pcc1";
1159 nvidia,function = "rsvd2";
461 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 1160 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1161 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1162 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1163 };
1164 pcc2 {
1165 nvidia,pins = "pcc2";
1166 nvidia,function = "rsvd2";
1167 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1168 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1169 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1170 };
1171 sdmmc4_clk_pcc4 {
1172 nvidia,pins = "sdmmc4_clk_pcc4";
1173 nvidia,function = "sdmmc4";
1174 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
462 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1175 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1176 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1177 };
1178 clk2_req_pcc5 {
1179 nvidia,pins = "clk2_req_pcc5";
1180 nvidia,function = "rsvd2";
1181 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1182 nvidia,tristate = <TEGRA_PIN_ENABLE>;
463 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1183 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
464 }; 1184 };
465 en_vdd_hdmi { 1185 pex_l0_rst_n_pdd1 {
466 nvidia,pins = "spdif_in_pk6"; 1186 nvidia,pins = "pex_l0_rst_n_pdd1";
467 nvidia,function = "spdif"; 1187 nvidia,function = "rsvd2";
1188 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1189 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1190 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1191 };
1192 pex_l0_clkreq_n_pdd2 {
1193 nvidia,pins = "pex_l0_clkreq_n_pdd2";
1194 nvidia,function = "rsvd2";
1195 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1196 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1197 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1198 };
1199 pex_wake_n_pdd3 {
1200 nvidia,pins = "pex_wake_n_pdd3";
1201 nvidia,function = "rsvd2";
1202 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1203 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1204 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1205 };
1206 pex_l1_rst_n_pdd5 {
1207 nvidia,pins = "pex_l1_rst_n_pdd5";
1208 nvidia,function = "rsvd2";
1209 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1210 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1211 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1212 };
1213 pex_l1_clkreq_n_pdd6 {
1214 nvidia,pins = "pex_l1_clkreq_n_pdd6";
1215 nvidia,function = "rsvd2";
1216 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1217 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1218 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1219 };
1220 clk3_out_pee0 {
1221 nvidia,pins = "clk3_out_pee0";
1222 nvidia,function = "rsvd2";
468 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 1223 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1224 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1225 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1226 };
1227 clk3_req_pee1 {
1228 nvidia,pins = "clk3_req_pee1";
1229 nvidia,function = "rsvd2";
1230 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1231 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1232 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1233 };
1234 dap_mclk1_req_pee2 {
1235 nvidia,pins = "dap_mclk1_req_pee2";
1236 nvidia,function = "rsvd4";
1237 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1238 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1239 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1240 };
1241 hdmi_cec_pee3 {
1242 nvidia,pins = "hdmi_cec_pee3";
1243 nvidia,function = "cec";
1244 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1245 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1246 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1247 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1248 };
1249 sdmmc3_clk_lb_out_pee4 {
1250 nvidia,pins = "sdmmc3_clk_lb_out_pee4";
1251 nvidia,function = "sdmmc3";
1252 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
469 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1253 nvidia,tristate = <TEGRA_PIN_DISABLE>;
470 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1254 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
471 }; 1255 };
472 soc_warm_reset_l { 1256 sdmmc3_clk_lb_in_pee5 {
473 nvidia,pins = "pi5"; 1257 nvidia,pins = "sdmmc3_clk_lb_in_pee5";
474 nvidia,function = "gmi"; 1258 nvidia,function = "sdmmc3";
475 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1259 nvidia,pull = <TEGRA_PIN_PULL_UP>;
476 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1260 nvidia,tristate = <TEGRA_PIN_DISABLE>;
477 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1261 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
478 }; 1262 };
479 hp_det_l { 1263 dp_hpd_pff0 {
480 nvidia,pins = "pi7"; 1264 nvidia,pins = "dp_hpd_pff0";
481 nvidia,function = "rsvd1"; 1265 nvidia,function = "dp";
482 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1266 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
483 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1267 nvidia,tristate = <TEGRA_PIN_DISABLE>;
484 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1268 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
485 }; 1269 };
486 mic_det_l { 1270 usb_vbus_en2_pff1 {
487 nvidia,pins = "kb_row7_pr7"; 1271 nvidia,pins = "usb_vbus_en2_pff1";
488 nvidia,function = "rsvd2"; 1272 nvidia,function = "rsvd2";
489 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1273 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1274 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1275 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1276 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1277 };
1278 pff2 {
1279 nvidia,pins = "pff2";
1280 nvidia,function = "rsvd2";
1281 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1282 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1283 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1284 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1285 };
1286 core_pwr_req {
1287 nvidia,pins = "core_pwr_req";
1288 nvidia,function = "pwron";
1289 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1290 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1291 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1292 };
1293 cpu_pwr_req {
1294 nvidia,pins = "cpu_pwr_req";
1295 nvidia,function = "cpu";
1296 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1297 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1298 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1299 };
1300 pwr_int_n {
1301 nvidia,pins = "pwr_int_n";
1302 nvidia,function = "pmi";
1303 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
490 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1304 nvidia,tristate = <TEGRA_PIN_DISABLE>;
491 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1305 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
492 }; 1306 };
493 }; 1307 reset_out_n {
494 }; 1308 nvidia,pins = "reset_out_n";
495 1309 nvidia,function = "reset_out_n";
496 serial@0,70006000 { 1310 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
497 /* Debug connector on the bottom of the board near SD card. */ 1311 nvidia,tristate = <TEGRA_PIN_DISABLE>;
498 status = "okay"; 1312 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
499 };
500
501 pwm@0,7000a000 {
502 status = "okay";
503 };
504
505 i2c@0,7000c000 {
506 status = "okay";
507 clock-frequency = <100000>;
508
509 acodec: audio-codec@10 {
510 compatible = "maxim,max98090";
511 reg = <0x10>;
512 interrupt-parent = <&gpio>;
513 interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
514 };
515
516 temperature-sensor@4c {
517 compatible = "ti,tmp451";
518 reg = <0x4c>;
519 interrupt-parent = <&gpio>;
520 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
521
522 #thermal-sensor-cells = <1>;
523 };
524 };
525
526 i2c@0,7000c400 {
527 status = "okay";
528 clock-frequency = <100000>;
529 };
530
531 i2c@0,7000c500 {
532 status = "okay";
533 clock-frequency = <400000>;
534
535 tpm@20 {
536 compatible = "infineon,slb9645tt";
537 reg = <0x20>;
538 };
539 };
540
541 hdmi_ddc: i2c@0,7000c700 {
542 status = "okay";
543 clock-frequency = <100000>;
544 };
545
546 i2c@0,7000d000 {
547 status = "okay";
548 clock-frequency = <400000>;
549
550 pmic: pmic@40 {
551 compatible = "ams,as3722";
552 reg = <0x40>;
553 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
554
555 ams,system-power-controller;
556
557 #interrupt-cells = <2>;
558 interrupt-controller;
559
560 gpio-controller;
561 #gpio-cells = <2>;
562
563 pinctrl-names = "default";
564 pinctrl-0 = <&as3722_default>;
565
566 as3722_default: pinmux {
567 gpio0 {
568 pins = "gpio0";
569 function = "gpio";
570 bias-pull-down;
571 };
572
573 gpio1 {
574 pins = "gpio1";
575 function = "gpio";
576 bias-pull-up;
577 };
578
579 gpio2_4_7 {
580 pins = "gpio2", "gpio4", "gpio7";
581 function = "gpio";
582 bias-pull-up;
583 };
584
585 gpio3_6 {
586 pins = "gpio3", "gpio6";
587 bias-high-impedance;
588 };
589
590 gpio5 {
591 pins = "gpio5";
592 function = "clk32k-out";
593 bias-pull-down;
594 };
595 }; 1313 };
596 1314 owr {
597 regulators { 1315 nvidia,pins = "owr";
598 vsup-sd2-supply = <&vdd_5v0_sys>; 1316 nvidia,function = "rsvd2";
599 vsup-sd3-supply = <&vdd_5v0_sys>; 1317 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
600 vsup-sd4-supply = <&vdd_5v0_sys>; 1318 nvidia,tristate = <TEGRA_PIN_ENABLE>;
601 vsup-sd5-supply = <&vdd_5v0_sys>; 1319 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
602 vin-ldo0-supply = <&vdd_1v35_lp0>; 1320 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
603 vin-ldo1-6-supply = <&vdd_3v3_run>;
604 vin-ldo2-5-7-supply = <&vddio_1v8>;
605 vin-ldo3-4-supply = <&vdd_3v3_sys>;
606 vin-ldo9-10-supply = <&vdd_5v0_sys>;
607 vin-ldo11-supply = <&vdd_3v3_run>;
608
609 sd0 {
610 regulator-name = "+VDD_CPU_AP";
611 regulator-min-microvolt = <700000>;
612 regulator-max-microvolt = <1350000>;
613 regulator-min-microamp = <3500000>;
614 regulator-max-microamp = <3500000>;
615 regulator-always-on;
616 regulator-boot-on;
617 ams,ext-control = <2>;
618 };
619
620 sd1 {
621 regulator-name = "+VDD_CORE";
622 regulator-min-microvolt = <700000>;
623 regulator-max-microvolt = <1350000>;
624 regulator-min-microamp = <2500000>;
625 regulator-max-microamp = <4000000>;
626 regulator-always-on;
627 regulator-boot-on;
628 ams,ext-control = <1>;
629 };
630
631 vdd_1v35_lp0: sd2 {
632 regulator-name = "+1.35V_LP0(sd2)";
633 regulator-min-microvolt = <1350000>;
634 regulator-max-microvolt = <1350000>;
635 regulator-always-on;
636 regulator-boot-on;
637 };
638
639 sd3 {
640 regulator-name = "+1.35V_LP0(sd3)";
641 regulator-min-microvolt = <1350000>;
642 regulator-max-microvolt = <1350000>;
643 regulator-always-on;
644 regulator-boot-on;
645 };
646
647 vdd_1v05_run: sd4 {
648 regulator-name = "+1.05V_RUN";
649 regulator-min-microvolt = <1050000>;
650 regulator-max-microvolt = <1050000>;
651 };
652
653 vddio_1v8: sd5 {
654 regulator-name = "+1.8V_VDDIO";
655 regulator-min-microvolt = <1800000>;
656 regulator-max-microvolt = <1800000>;
657 regulator-boot-on;
658 regulator-always-on;
659 };
660
661 sd6 {
662 regulator-name = "+VDD_GPU_AP";
663 regulator-min-microvolt = <650000>;
664 regulator-max-microvolt = <1200000>;
665 regulator-min-microamp = <3500000>;
666 regulator-max-microamp = <3500000>;
667 regulator-boot-on;
668 regulator-always-on;
669 };
670
671 ldo0 {
672 regulator-name = "+1.05V_RUN_AVDD";
673 regulator-min-microvolt = <1050000>;
674 regulator-max-microvolt = <1050000>;
675 regulator-boot-on;
676 regulator-always-on;
677 ams,ext-control = <1>;
678 };
679
680 ldo1 {
681 regulator-name = "+1.8V_RUN_CAM";
682 regulator-min-microvolt = <1800000>;
683 regulator-max-microvolt = <1800000>;
684 };
685
686 ldo2 {
687 regulator-name = "+1.2V_GEN_AVDD";
688 regulator-min-microvolt = <1200000>;
689 regulator-max-microvolt = <1200000>;
690 regulator-boot-on;
691 regulator-always-on;
692 };
693
694 ldo3 {
695 regulator-name = "+1.00V_LP0_VDD_RTC";
696 regulator-min-microvolt = <1000000>;
697 regulator-max-microvolt = <1000000>;
698 regulator-boot-on;
699 regulator-always-on;
700 ams,enable-tracking;
701 };
702
703 vdd_run_cam: ldo4 {
704 regulator-name = "+3.3V_RUN_CAM";
705 regulator-min-microvolt = <2800000>;
706 regulator-max-microvolt = <2800000>;
707 };
708
709 ldo5 {
710 regulator-name = "+1.2V_RUN_CAM_FRONT";
711 regulator-min-microvolt = <1200000>;
712 regulator-max-microvolt = <1200000>;
713 };
714
715 vddio_sdmmc3: ldo6 {
716 regulator-name = "+VDDIO_SDMMC3";
717 regulator-min-microvolt = <1800000>;
718 regulator-max-microvolt = <3300000>;
719 };
720
721 ldo7 {
722 regulator-name = "+1.05V_RUN_CAM_REAR";
723 regulator-min-microvolt = <1050000>;
724 regulator-max-microvolt = <1050000>;
725 };
726
727 ldo9 {
728 regulator-name = "+2.8V_RUN_TOUCH";
729 regulator-min-microvolt = <2800000>;
730 regulator-max-microvolt = <2800000>;
731 };
732
733 ldo10 {
734 regulator-name = "+2.8V_RUN_CAM_AF";
735 regulator-min-microvolt = <2800000>;
736 regulator-max-microvolt = <2800000>;
737 };
738
739 ldo11 {
740 regulator-name = "+1.8V_RUN_VPP_FUSE";
741 regulator-min-microvolt = <1800000>;
742 regulator-max-microvolt = <1800000>;
743 };
744 }; 1321 };
745 }; 1322 clk_32k_in {
746 }; 1323 nvidia,pins = "clk_32k_in";
747 1324 nvidia,function = "clk";
748 spi@0,7000d400 { 1325 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
749 status = "okay"; 1326 nvidia,tristate = <TEGRA_PIN_DISABLE>;
750 1327 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
751 cros_ec: cros-ec@0 { 1328 };
752 compatible = "google,cros-ec-spi"; 1329 jtag_rtck {
753 spi-max-frequency = <3000000>; 1330 nvidia,pins = "jtag_rtck";
754 interrupt-parent = <&gpio>; 1331 nvidia,function = "rtck";
755 interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>; 1332 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
756 reg = <0>; 1333 nvidia,tristate = <TEGRA_PIN_DISABLE>;
757 1334 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
758 google,cros-ec-spi-msg-delay = <2000>;
759
760 i2c-tunnel {
761 compatible = "google,cros-ec-i2c-tunnel";
762 #address-cells = <1>;
763 #size-cells = <0>;
764
765 google,remote-bus = <0>;
766
767 charger: bq24735@9 {
768 compatible = "ti,bq24735";
769 reg = <0x9>;
770 interrupt-parent = <&gpio>;
771 interrupts = <TEGRA_GPIO(J, 0)
772 GPIO_ACTIVE_HIGH>;
773 ti,ac-detect-gpios = <&gpio
774 TEGRA_GPIO(J, 0)
775 GPIO_ACTIVE_HIGH>;
776 };
777
778 battery: sbs-battery@b {
779 compatible = "sbs,sbs-battery";
780 reg = <0xb>;
781 sbs,i2c-retry-count = <2>;
782 sbs,poll-retry-count = <10>;
783 power-supplies = <&charger>;
784 };
785 }; 1335 };
786 }; 1336 };
787 }; 1337 };
788
789 spi@0,7000da00 {
790 status = "okay";
791 spi-max-frequency = <25000000>;
792
793 flash@0 {
794 compatible = "winbond,w25q32dw";
795 reg = <0>;
796 };
797 };
798
799 pmc@0,7000e400 {
800 nvidia,invert-interrupt;
801 nvidia,suspend-mode = <0>;
802 nvidia,cpu-pwr-good-time = <500>;
803 nvidia,cpu-pwr-off-time = <300>;
804 nvidia,core-pwr-good-time = <641 3845>;
805 nvidia,core-pwr-off-time = <61036>;
806 nvidia,core-power-req-active-high;
807 nvidia,sys-clock-req-active-high;
808 };
809
810 hda@0,70030000 {
811 status = "okay";
812 };
813
814 sdhci@0,700b0000 { /* WiFi/BT on this bus */
815 status = "okay";
816 power-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>;
817 bus-width = <4>;
818 no-1-8-v;
819 non-removable;
820 };
821
822 sdhci@0,700b0400 { /* SD Card on this bus */
823 status = "okay";
824 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
825 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
826 wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>;
827 bus-width = <4>;
828 no-1-8-v;
829 vqmmc-supply = <&vddio_sdmmc3>;
830 };
831
832 sdhci@0,700b0600 { /* eMMC on this bus */
833 status = "okay";
834 bus-width = <8>;
835 no-1-8-v;
836 non-removable;
837 };
838
839 ahub@0,70300000 {
840 i2s@0,70301100 {
841 status = "okay";
842 };
843 };
844
845 usb@0,7d000000 { /* Rear external USB port. */
846 status = "okay";
847 };
848
849 usb-phy@0,7d000000 {
850 status = "okay";
851 vbus-supply = <&vdd_usb1_vbus>;
852 };
853
854 usb@0,7d004000 { /* Internal webcam. */
855 status = "okay";
856 };
857
858 usb-phy@0,7d004000 {
859 status = "okay";
860 vbus-supply = <&vdd_run_cam>;
861 };
862
863 usb@0,7d008000 { /* Left external USB port. */
864 status = "okay";
865 };
866
867 usb-phy@0,7d008000 {
868 status = "okay";
869 vbus-supply = <&vdd_usb3_vbus>;
870 };
871
872 backlight: backlight {
873 compatible = "pwm-backlight";
874
875 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
876 power-supply = <&vdd_led>;
877 pwms = <&pwm 1 1000000>;
878
879 default-brightness-level = <224>;
880 brightness-levels =
881 < 0 1 2 3 4 5 6 7
882 8 9 10 11 12 13 14 15
883 16 17 18 19 20 21 22 23
884 24 25 26 27 28 29 30 31
885 32 33 34 35 36 37 38 39
886 40 41 42 43 44 45 46 47
887 48 49 50 51 52 53 54 55
888 56 57 58 59 60 61 62 63
889 64 65 66 67 68 69 70 71
890 72 73 74 75 76 77 78 79
891 80 81 82 83 84 85 86 87
892 88 89 90 91 92 93 94 95
893 96 97 98 99 100 101 102 103
894 104 105 106 107 108 109 110 111
895 112 113 114 115 116 117 118 119
896 120 121 122 123 124 125 126 127
897 128 129 130 131 132 133 134 135
898 136 137 138 139 140 141 142 143
899 144 145 146 147 148 149 150 151
900 152 153 154 155 156 157 158 159
901 160 161 162 163 164 165 166 167
902 168 169 170 171 172 173 174 175
903 176 177 178 179 180 181 182 183
904 184 185 186 187 188 189 190 191
905 192 193 194 195 196 197 198 199
906 200 201 202 203 204 205 206 207
907 208 209 210 211 212 213 214 215
908 216 217 218 219 220 221 222 223
909 224 225 226 227 228 229 230 231
910 232 233 234 235 236 237 238 239
911 240 241 242 243 244 245 246 247
912 248 249 250 251 252 253 254 255
913 256>;
914 };
915
916 clocks {
917 compatible = "simple-bus";
918 #address-cells = <1>;
919 #size-cells = <0>;
920
921 clk32k_in: clock@0 {
922 compatible = "fixed-clock";
923 reg = <0>;
924 #clock-cells = <0>;
925 clock-frequency = <32768>;
926 };
927 };
928
929 gpio-keys {
930 compatible = "gpio-keys";
931
932 lid {
933 label = "Lid";
934 gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
935 linux,input-type = <5>;
936 linux,code = <KEY_RESERVED>;
937 debounce-interval = <1>;
938 gpio-key,wakeup;
939 };
940
941 power {
942 label = "Power";
943 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
944 linux,code = <KEY_POWER>;
945 debounce-interval = <30>;
946 gpio-key,wakeup;
947 };
948 };
949
950 panel: panel {
951 compatible = "auo,b133xtn01";
952
953 backlight = <&backlight>;
954 ddc-i2c-bus = <&dpaux>;
955 };
956
957 regulators {
958 compatible = "simple-bus";
959 #address-cells = <1>;
960 #size-cells = <0>;
961
962 vdd_mux: regulator@0 {
963 compatible = "regulator-fixed";
964 reg = <0>;
965 regulator-name = "+VDD_MUX";
966 regulator-min-microvolt = <12000000>;
967 regulator-max-microvolt = <12000000>;
968 regulator-always-on;
969 regulator-boot-on;
970 };
971
972 vdd_5v0_sys: regulator@1 {
973 compatible = "regulator-fixed";
974 reg = <1>;
975 regulator-name = "+5V_SYS";
976 regulator-min-microvolt = <5000000>;
977 regulator-max-microvolt = <5000000>;
978 regulator-always-on;
979 regulator-boot-on;
980 vin-supply = <&vdd_mux>;
981 };
982
983 vdd_3v3_sys: regulator@2 {
984 compatible = "regulator-fixed";
985 reg = <2>;
986 regulator-name = "+3.3V_SYS";
987 regulator-min-microvolt = <3300000>;
988 regulator-max-microvolt = <3300000>;
989 regulator-always-on;
990 regulator-boot-on;
991 vin-supply = <&vdd_mux>;
992 };
993
994 vdd_3v3_run: regulator@3 {
995 compatible = "regulator-fixed";
996 reg = <3>;
997 regulator-name = "+3.3V_RUN";
998 regulator-min-microvolt = <3300000>;
999 regulator-max-microvolt = <3300000>;
1000 regulator-always-on;
1001 regulator-boot-on;
1002 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
1003 enable-active-high;
1004 vin-supply = <&vdd_3v3_sys>;
1005 };
1006
1007 vdd_3v3_hdmi: regulator@4 {
1008 compatible = "regulator-fixed";
1009 reg = <4>;
1010 regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
1011 regulator-min-microvolt = <3300000>;
1012 regulator-max-microvolt = <3300000>;
1013 vin-supply = <&vdd_3v3_run>;
1014 };
1015
1016 vdd_led: regulator@5 {
1017 compatible = "regulator-fixed";
1018 reg = <5>;
1019 regulator-name = "+VDD_LED";
1020 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
1021 enable-active-high;
1022 vin-supply = <&vdd_mux>;
1023 };
1024
1025 vdd_5v0_ts: regulator@6 {
1026 compatible = "regulator-fixed";
1027 reg = <6>;
1028 regulator-name = "+5V_VDD_TS_SW";
1029 regulator-min-microvolt = <5000000>;
1030 regulator-max-microvolt = <5000000>;
1031 regulator-boot-on;
1032 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
1033 enable-active-high;
1034 vin-supply = <&vdd_5v0_sys>;
1035 };
1036
1037 vdd_usb1_vbus: regulator@7 {
1038 compatible = "regulator-fixed";
1039 reg = <7>;
1040 regulator-name = "+5V_USB_HS";
1041 regulator-min-microvolt = <5000000>;
1042 regulator-max-microvolt = <5000000>;
1043 gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
1044 enable-active-high;
1045 gpio-open-drain;
1046 vin-supply = <&vdd_5v0_sys>;
1047 };
1048
1049 vdd_usb3_vbus: regulator@8 {
1050 compatible = "regulator-fixed";
1051 reg = <8>;
1052 regulator-name = "+5V_USB_SS";
1053 regulator-min-microvolt = <5000000>;
1054 regulator-max-microvolt = <5000000>;
1055 gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
1056 enable-active-high;
1057 gpio-open-drain;
1058 vin-supply = <&vdd_5v0_sys>;
1059 };
1060
1061 vdd_3v3_panel: regulator@9 {
1062 compatible = "regulator-fixed";
1063 reg = <9>;
1064 regulator-name = "+3.3V_PANEL";
1065 regulator-min-microvolt = <3300000>;
1066 regulator-max-microvolt = <3300000>;
1067 gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
1068 enable-active-high;
1069 vin-supply = <&vdd_3v3_run>;
1070 };
1071
1072 vdd_3v3_lp0: regulator@10 {
1073 compatible = "regulator-fixed";
1074 reg = <10>;
1075 regulator-name = "+3.3V_LP0";
1076 regulator-min-microvolt = <3300000>;
1077 regulator-max-microvolt = <3300000>;
1078 /*
1079 * TODO: find a way to wire this up with the USB EHCI
1080 * controllers so that it can be enabled on demand.
1081 */
1082 regulator-always-on;
1083 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
1084 enable-active-high;
1085 vin-supply = <&vdd_3v3_sys>;
1086 };
1087
1088 vdd_hdmi_pll: regulator@11 {
1089 compatible = "regulator-fixed";
1090 reg = <11>;
1091 regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
1092 regulator-min-microvolt = <1050000>;
1093 regulator-max-microvolt = <1050000>;
1094 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
1095 vin-supply = <&vdd_1v05_run>;
1096 };
1097
1098 vdd_5v0_hdmi: regulator@12 {
1099 compatible = "regulator-fixed";
1100 reg = <12>;
1101 regulator-name = "+5V_HDMI_CON";
1102 regulator-min-microvolt = <5000000>;
1103 regulator-max-microvolt = <5000000>;
1104 gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
1105 enable-active-high;
1106 vin-supply = <&vdd_5v0_sys>;
1107 };
1108 };
1109
1110 sound {
1111 compatible = "nvidia,tegra-audio-max98090-nyan-big",
1112 "nvidia,tegra-audio-max98090";
1113 nvidia,model = "Acer Chromebook 13";
1114
1115 nvidia,audio-routing =
1116 "Headphones", "HPR",
1117 "Headphones", "HPL",
1118 "Speakers", "SPKR",
1119 "Speakers", "SPKL",
1120 "Mic Jack", "MICBIAS",
1121 "DMICL", "Int Mic",
1122 "DMICR", "Int Mic",
1123 "IN34", "Mic Jack";
1124
1125 nvidia,i2s-controller = <&tegra_i2s1>;
1126 nvidia,audio-codec = <&acodec>;
1127
1128 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
1129 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
1130 <&tegra_car TEGRA124_CLK_EXTERN1>;
1131 clock-names = "pll_a", "pll_a_out0", "mclk";
1132
1133 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
1134 nvidia,mic-det-gpios =
1135 <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
1136 };
1137}; 1338};
1138
1139#include "cros-ec-keyboard.dtsi"
diff --git a/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi b/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi
new file mode 100644
index 000000000000..9ecd108f56cf
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-nyan-blaze-emc.dtsi
@@ -0,0 +1,2049 @@
1/ {
2 clock@0,60006000 {
3 emc-timings-1 {
4 nvidia,ram-code = <1>;
5
6 timing-12750000 {
7 clock-frequency = <12750000>;
8 nvidia,parent-clock-frequency = <408000000>;
9 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
10 clock-names = "emc-parent";
11 };
12 timing-20400000 {
13 clock-frequency = <20400000>;
14 nvidia,parent-clock-frequency = <408000000>;
15 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
16 clock-names = "emc-parent";
17 };
18 timing-40800000 {
19 clock-frequency = <40800000>;
20 nvidia,parent-clock-frequency = <408000000>;
21 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
22 clock-names = "emc-parent";
23 };
24 timing-68000000 {
25 clock-frequency = <68000000>;
26 nvidia,parent-clock-frequency = <408000000>;
27 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
28 clock-names = "emc-parent";
29 };
30 timing-102000000 {
31 clock-frequency = <102000000>;
32 nvidia,parent-clock-frequency = <408000000>;
33 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
34 clock-names = "emc-parent";
35 };
36 timing-204000000 {
37 clock-frequency = <204000000>;
38 nvidia,parent-clock-frequency = <408000000>;
39 clocks = <&tegra_car TEGRA124_CLK_PLL_P>;
40 clock-names = "emc-parent";
41 };
42 timing-300000000 {
43 clock-frequency = <300000000>;
44 nvidia,parent-clock-frequency = <600000000>;
45 clocks = <&tegra_car TEGRA124_CLK_PLL_C>;
46 clock-names = "emc-parent";
47 };
48 timing-396000000 {
49 clock-frequency = <396000000>;
50 nvidia,parent-clock-frequency = <792000000>;
51 clocks = <&tegra_car TEGRA124_CLK_PLL_M>;
52 clock-names = "emc-parent";
53 };
54 /* TODO: Add 528MHz frequency */
55 timing-600000000 {
56 clock-frequency = <600000000>;
57 nvidia,parent-clock-frequency = <600000000>;
58 clocks = <&tegra_car TEGRA124_CLK_PLL_C_UD>;
59 clock-names = "emc-parent";
60 };
61 timing-792000000 {
62 clock-frequency = <792000000>;
63 nvidia,parent-clock-frequency = <792000000>;
64 clocks = <&tegra_car TEGRA124_CLK_PLL_M_UD>;
65 clock-names = "emc-parent";
66 };
67 };
68 };
69
70 emc@0,7001b000 {
71 emc-timings-1 {
72 nvidia,ram-code = <1>;
73
74 timing-12750000 {
75 clock-frequency = <12750000>;
76
77 nvidia,emc-auto-cal-config = <0xa1430000>;
78 nvidia,emc-auto-cal-config2 = <0x00000000>;
79 nvidia,emc-auto-cal-config3 = <0x00000000>;
80 nvidia,emc-auto-cal-interval = <0x001fffff>;
81 nvidia,emc-bgbias-ctl0 = <0x00000008>;
82 nvidia,emc-cfg = <0x73240000>;
83 nvidia,emc-cfg-2 = <0x000008c5>;
84 nvidia,emc-ctt-term-ctrl = <0x00000802>;
85 nvidia,emc-mode-1 = <0x80100003>;
86 nvidia,emc-mode-2 = <0x80200008>;
87 nvidia,emc-mode-4 = <0x00000000>;
88 nvidia,emc-mode-reset = <0x80001221>;
89 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
90 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
91 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
92 nvidia,emc-zcal-cnt-long = <0x00000042>;
93 nvidia,emc-zcal-interval = <0x00000000>;
94
95 nvidia,emc-configuration = <
96 0x00000000
97 0x00000003
98 0x00000000
99 0x00000000
100 0x00000000
101 0x00000004
102 0x0000000a
103 0x00000003
104 0x0000000b
105 0x00000000
106 0x00000000
107 0x00000003
108 0x00000003
109 0x00000000
110 0x00000006
111 0x00000006
112 0x00000006
113 0x00000002
114 0x00000000
115 0x00000005
116 0x00000005
117 0x00010000
118 0x00000003
119 0x00000000
120 0x00000000
121 0x00000000
122 0x00000000
123 0x00000004
124 0x0000000c
125 0x0000000d
126 0x0000000f
127 0x00000060
128 0x00000000
129 0x00000018
130 0x00000002
131 0x00000002
132 0x00000001
133 0x00000000
134 0x00000007
135 0x0000000f
136 0x00000005
137 0x00000005
138 0x00000004
139 0x00000005
140 0x00000004
141 0x00000000
142 0x00000000
143 0x00000005
144 0x00000005
145 0x00000064
146 0x00000000
147 0x00000000
148 0x00000000
149 0x106aa298
150 0x002c00a0
151 0x00008000
152 0x00064000
153 0x00064000
154 0x00064000
155 0x00064000
156 0x00064000
157 0x00064000
158 0x00064000
159 0x00064000
160 0x00064000
161 0x00064000
162 0x00064000
163 0x00064000
164 0x00064000
165 0x00064000
166 0x00064000
167 0x00064000
168 0x00000000
169 0x00000000
170 0x00000000
171 0x00000000
172 0x00000000
173 0x00000000
174 0x00000000
175 0x00000000
176 0x00000000
177 0x00000000
178 0x0000c000
179 0x00000000
180 0x00000000
181 0x0000c000
182 0x00000000
183 0x00000000
184 0x00000000
185 0x00000000
186 0x00000000
187 0x00000000
188 0x00000000
189 0x00000000
190 0x00000000
191 0x00000000
192 0x00000000
193 0x00000000
194 0x00000000
195 0x00000000
196 0x00000000
197 0x00000000
198 0x00000000
199 0x00000000
200 0x00000000
201 0x00000000
202 0x00000000
203 0x00000000
204 0x00000000
205 0x00000000
206 0x000fc000
207 0x000fc000
208 0x000fc000
209 0x000fc000
210 0x0000fc00
211 0x0000fc00
212 0x0000fc00
213 0x0000fc00
214 0x10000280
215 0x00000000
216 0x00111111
217 0x00000000
218 0x00000000
219 0x77ffc081
220 0x00000505
221 0x81f1f108
222 0x07070004
223 0x0000003f
224 0x016eeeee
225 0x51451400
226 0x00514514
227 0x00514514
228 0x51451400
229 0x0000003f
230 0x00000007
231 0x00000000
232 0x00000042
233 0x000c000c
234 0x00000000
235 0x00000003
236 0x0000f2f3
237 0x800001c5
238 0x0000000a
239 >;
240 };
241
242 timing-20400000 {
243 clock-frequency = <20400000>;
244
245 nvidia,emc-auto-cal-config = <0xa1430000>;
246 nvidia,emc-auto-cal-config2 = <0x00000000>;
247 nvidia,emc-auto-cal-config3 = <0x00000000>;
248 nvidia,emc-auto-cal-interval = <0x001fffff>;
249 nvidia,emc-bgbias-ctl0 = <0x00000008>;
250 nvidia,emc-cfg = <0x73240000>;
251 nvidia,emc-cfg-2 = <0x000008c5>;
252 nvidia,emc-ctt-term-ctrl = <0x00000802>;
253 nvidia,emc-mode-1 = <0x80100003>;
254 nvidia,emc-mode-2 = <0x80200008>;
255 nvidia,emc-mode-4 = <0x00000000>;
256 nvidia,emc-mode-reset = <0x80001221>;
257 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
258 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
259 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
260 nvidia,emc-zcal-cnt-long = <0x00000042>;
261 nvidia,emc-zcal-interval = <0x00000000>;
262
263 nvidia,emc-configuration = <
264 0x00000000
265 0x00000005
266 0x00000000
267 0x00000000
268 0x00000000
269 0x00000004
270 0x0000000a
271 0x00000003
272 0x0000000b
273 0x00000000
274 0x00000000
275 0x00000003
276 0x00000003
277 0x00000000
278 0x00000006
279 0x00000006
280 0x00000006
281 0x00000002
282 0x00000000
283 0x00000005
284 0x00000005
285 0x00010000
286 0x00000003
287 0x00000000
288 0x00000000
289 0x00000000
290 0x00000000
291 0x00000004
292 0x0000000c
293 0x0000000d
294 0x0000000f
295 0x0000009a
296 0x00000000
297 0x00000026
298 0x00000002
299 0x00000002
300 0x00000001
301 0x00000000
302 0x00000007
303 0x0000000f
304 0x00000006
305 0x00000006
306 0x00000004
307 0x00000005
308 0x00000004
309 0x00000000
310 0x00000000
311 0x00000005
312 0x00000005
313 0x000000a0
314 0x00000000
315 0x00000000
316 0x00000000
317 0x106aa298
318 0x002c00a0
319 0x00008000
320 0x00064000
321 0x00064000
322 0x00064000
323 0x00064000
324 0x00064000
325 0x00064000
326 0x00064000
327 0x00064000
328 0x00064000
329 0x00064000
330 0x00064000
331 0x00064000
332 0x00064000
333 0x00064000
334 0x00064000
335 0x00064000
336 0x00000000
337 0x00000000
338 0x00000000
339 0x00000000
340 0x00000000
341 0x00000000
342 0x00000000
343 0x00000000
344 0x00000000
345 0x00000000
346 0x0000c000
347 0x00000000
348 0x00000000
349 0x0000c000
350 0x00000000
351 0x00000000
352 0x00000000
353 0x00000000
354 0x00000000
355 0x00000000
356 0x00000000
357 0x00000000
358 0x00000000
359 0x00000000
360 0x00000000
361 0x00000000
362 0x00000000
363 0x00000000
364 0x00000000
365 0x00000000
366 0x00000000
367 0x00000000
368 0x00000000
369 0x00000000
370 0x00000000
371 0x00000000
372 0x00000000
373 0x00000000
374 0x000fc000
375 0x000fc000
376 0x000fc000
377 0x000fc000
378 0x0000fc00
379 0x0000fc00
380 0x0000fc00
381 0x0000fc00
382 0x10000280
383 0x00000000
384 0x00111111
385 0x00000000
386 0x00000000
387 0x77ffc081
388 0x00000505
389 0x81f1f108
390 0x07070004
391 0x0000003f
392 0x016eeeee
393 0x51451400
394 0x00514514
395 0x00514514
396 0x51451400
397 0x0000003f
398 0x0000000b
399 0x00000000
400 0x00000042
401 0x000c000c
402 0x00000000
403 0x00000003
404 0x0000f2f3
405 0x8000023a
406 0x0000000a
407 >;
408 };
409
410 timing-40800000 {
411 clock-frequency = <40800000>;
412
413 nvidia,emc-auto-cal-config = <0xa1430000>;
414 nvidia,emc-auto-cal-config2 = <0x00000000>;
415 nvidia,emc-auto-cal-config3 = <0x00000000>;
416 nvidia,emc-auto-cal-interval = <0x001fffff>;
417 nvidia,emc-bgbias-ctl0 = <0x00000008>;
418 nvidia,emc-cfg = <0x73240000>;
419 nvidia,emc-cfg-2 = <0x000008c5>;
420 nvidia,emc-ctt-term-ctrl = <0x00000802>;
421 nvidia,emc-mode-1 = <0x80100003>;
422 nvidia,emc-mode-2 = <0x80200008>;
423 nvidia,emc-mode-4 = <0x00000000>;
424 nvidia,emc-mode-reset = <0x80001221>;
425 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
426 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
427 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
428 nvidia,emc-zcal-cnt-long = <0x00000042>;
429 nvidia,emc-zcal-interval = <0x00000000>;
430
431 nvidia,emc-configuration = <
432 0x00000001
433 0x0000000a
434 0x00000000
435 0x00000001
436 0x00000000
437 0x00000004
438 0x0000000a
439 0x00000003
440 0x0000000b
441 0x00000000
442 0x00000000
443 0x00000003
444 0x00000003
445 0x00000000
446 0x00000006
447 0x00000006
448 0x00000006
449 0x00000002
450 0x00000000
451 0x00000005
452 0x00000005
453 0x00010000
454 0x00000003
455 0x00000000
456 0x00000000
457 0x00000000
458 0x00000000
459 0x00000004
460 0x0000000c
461 0x0000000d
462 0x0000000f
463 0x00000134
464 0x00000000
465 0x0000004d
466 0x00000002
467 0x00000002
468 0x00000001
469 0x00000000
470 0x00000008
471 0x0000000f
472 0x0000000c
473 0x0000000c
474 0x00000004
475 0x00000005
476 0x00000004
477 0x00000000
478 0x00000000
479 0x00000005
480 0x00000005
481 0x0000013f
482 0x00000000
483 0x00000000
484 0x00000000
485 0x106aa298
486 0x002c00a0
487 0x00008000
488 0x00064000
489 0x00064000
490 0x00064000
491 0x00064000
492 0x00064000
493 0x00064000
494 0x00064000
495 0x00064000
496 0x00064000
497 0x00064000
498 0x00064000
499 0x00064000
500 0x00064000
501 0x00064000
502 0x00064000
503 0x00064000
504 0x00000000
505 0x00000000
506 0x00000000
507 0x00000000
508 0x00000000
509 0x00000000
510 0x00000000
511 0x00000000
512 0x00000000
513 0x00000000
514 0x0000c000
515 0x00000000
516 0x00000000
517 0x0000c000
518 0x00000000
519 0x00000000
520 0x00000000
521 0x00000000
522 0x00000000
523 0x00000000
524 0x00000000
525 0x00000000
526 0x00000000
527 0x00000000
528 0x00000000
529 0x00000000
530 0x00000000
531 0x00000000
532 0x00000000
533 0x00000000
534 0x00000000
535 0x00000000
536 0x00000000
537 0x00000000
538 0x00000000
539 0x00000000
540 0x00000000
541 0x00000000
542 0x000fc000
543 0x000fc000
544 0x000fc000
545 0x000fc000
546 0x0000fc00
547 0x0000fc00
548 0x0000fc00
549 0x0000fc00
550 0x10000280
551 0x00000000
552 0x00111111
553 0x00000000
554 0x00000000
555 0x77ffc081
556 0x00000505
557 0x81f1f108
558 0x07070004
559 0x0000003f
560 0x016eeeee
561 0x51451400
562 0x00514514
563 0x00514514
564 0x51451400
565 0x0000003f
566 0x00000015
567 0x00000000
568 0x00000042
569 0x000c000c
570 0x00000000
571 0x00000003
572 0x0000f2f3
573 0x80000370
574 0x0000000a
575 >;
576 };
577
578 timing-68000000 {
579 clock-frequency = <68000000>;
580
581 nvidia,emc-auto-cal-config = <0xa1430000>;
582 nvidia,emc-auto-cal-config2 = <0x00000000>;
583 nvidia,emc-auto-cal-config3 = <0x00000000>;
584 nvidia,emc-auto-cal-interval = <0x001fffff>;
585 nvidia,emc-bgbias-ctl0 = <0x00000008>;
586 nvidia,emc-cfg = <0x73240000>;
587 nvidia,emc-cfg-2 = <0x000008c5>;
588 nvidia,emc-ctt-term-ctrl = <0x00000802>;
589 nvidia,emc-mode-1 = <0x80100003>;
590 nvidia,emc-mode-2 = <0x80200008>;
591 nvidia,emc-mode-4 = <0x00000000>;
592 nvidia,emc-mode-reset = <0x80001221>;
593 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
594 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
595 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
596 nvidia,emc-zcal-cnt-long = <0x00000042>;
597 nvidia,emc-zcal-interval = <0x00000000>;
598
599 nvidia,emc-configuration = <
600 0x00000003
601 0x00000011
602 0x00000000
603 0x00000002
604 0x00000000
605 0x00000004
606 0x0000000a
607 0x00000003
608 0x0000000b
609 0x00000000
610 0x00000000
611 0x00000003
612 0x00000003
613 0x00000000
614 0x00000006
615 0x00000006
616 0x00000006
617 0x00000002
618 0x00000000
619 0x00000005
620 0x00000005
621 0x00010000
622 0x00000003
623 0x00000000
624 0x00000000
625 0x00000000
626 0x00000000
627 0x00000004
628 0x0000000c
629 0x0000000d
630 0x0000000f
631 0x00000202
632 0x00000000
633 0x00000080
634 0x00000002
635 0x00000002
636 0x00000001
637 0x00000000
638 0x0000000f
639 0x0000000f
640 0x00000013
641 0x00000013
642 0x00000004
643 0x00000005
644 0x00000004
645 0x00000001
646 0x00000000
647 0x00000005
648 0x00000005
649 0x00000213
650 0x00000000
651 0x00000000
652 0x00000000
653 0x106aa298
654 0x002c00a0
655 0x00008000
656 0x00064000
657 0x00064000
658 0x00064000
659 0x00064000
660 0x00064000
661 0x00064000
662 0x00064000
663 0x00064000
664 0x00064000
665 0x00064000
666 0x00064000
667 0x00064000
668 0x00064000
669 0x00064000
670 0x00064000
671 0x00064000
672 0x00000000
673 0x00000000
674 0x00000000
675 0x00000000
676 0x00000000
677 0x00000000
678 0x00000000
679 0x00000000
680 0x00000000
681 0x00000000
682 0x0000c000
683 0x00000000
684 0x00000000
685 0x0000c000
686 0x00000000
687 0x00000000
688 0x00000000
689 0x00000000
690 0x00000000
691 0x00000000
692 0x00000000
693 0x00000000
694 0x00000000
695 0x00000000
696 0x00000000
697 0x00000000
698 0x00000000
699 0x00000000
700 0x00000000
701 0x00000000
702 0x00000000
703 0x00000000
704 0x00000000
705 0x00000000
706 0x00000000
707 0x00000000
708 0x00000000
709 0x00000000
710 0x000fc000
711 0x000fc000
712 0x000fc000
713 0x000fc000
714 0x0000fc00
715 0x0000fc00
716 0x0000fc00
717 0x0000fc00
718 0x10000280
719 0x00000000
720 0x00111111
721 0x00000000
722 0x00000000
723 0x77ffc081
724 0x00000505
725 0x81f1f108
726 0x07070004
727 0x0000003f
728 0x016eeeee
729 0x51451400
730 0x00514514
731 0x00514514
732 0x51451400
733 0x0000003f
734 0x00000022
735 0x00000000
736 0x00000042
737 0x000c000c
738 0x00000000
739 0x00000003
740 0x0000f2f3
741 0x8000050e
742 0x0000000a
743 >;
744 };
745
746 timing-102000000 {
747 clock-frequency = <102000000>;
748
749 nvidia,emc-auto-cal-config = <0xa1430000>;
750 nvidia,emc-auto-cal-config2 = <0x00000000>;
751 nvidia,emc-auto-cal-config3 = <0x00000000>;
752 nvidia,emc-auto-cal-interval = <0x001fffff>;
753 nvidia,emc-bgbias-ctl0 = <0x00000008>;
754 nvidia,emc-cfg = <0x73240000>;
755 nvidia,emc-cfg-2 = <0x000008c5>;
756 nvidia,emc-ctt-term-ctrl = <0x00000802>;
757 nvidia,emc-mode-1 = <0x80100003>;
758 nvidia,emc-mode-2 = <0x80200008>;
759 nvidia,emc-mode-4 = <0x00000000>;
760 nvidia,emc-mode-reset = <0x80001221>;
761 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
762 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
763 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
764 nvidia,emc-zcal-cnt-long = <0x00000042>;
765 nvidia,emc-zcal-interval = <0x00000000>;
766
767 nvidia,emc-configuration = <
768 0x00000004
769 0x0000001a
770 0x00000000
771 0x00000003
772 0x00000001
773 0x00000004
774 0x0000000a
775 0x00000003
776 0x0000000b
777 0x00000001
778 0x00000001
779 0x00000003
780 0x00000003
781 0x00000000
782 0x00000006
783 0x00000006
784 0x00000006
785 0x00000002
786 0x00000000
787 0x00000005
788 0x00000005
789 0x00010000
790 0x00000003
791 0x00000000
792 0x00000000
793 0x00000000
794 0x00000000
795 0x00000004
796 0x0000000c
797 0x0000000d
798 0x0000000f
799 0x00000304
800 0x00000000
801 0x000000c1
802 0x00000002
803 0x00000002
804 0x00000001
805 0x00000000
806 0x00000018
807 0x0000000f
808 0x0000001c
809 0x0000001c
810 0x00000004
811 0x00000005
812 0x00000004
813 0x00000003
814 0x00000000
815 0x00000005
816 0x00000005
817 0x0000031c
818 0x00000000
819 0x00000000
820 0x00000000
821 0x106aa298
822 0x002c00a0
823 0x00008000
824 0x00064000
825 0x00064000
826 0x00064000
827 0x00064000
828 0x00064000
829 0x00064000
830 0x00064000
831 0x00064000
832 0x00064000
833 0x00064000
834 0x00064000
835 0x00064000
836 0x00064000
837 0x00064000
838 0x00064000
839 0x00064000
840 0x00000000
841 0x00000000
842 0x00000000
843 0x00000000
844 0x00000000
845 0x00000000
846 0x00000000
847 0x00000000
848 0x00000000
849 0x00000000
850 0x0000c000
851 0x00000000
852 0x00000000
853 0x0000c000
854 0x00000000
855 0x00000000
856 0x00000000
857 0x00000000
858 0x00000000
859 0x00000000
860 0x00000000
861 0x00000000
862 0x00000000
863 0x00000000
864 0x00000000
865 0x00000000
866 0x00000000
867 0x00000000
868 0x00000000
869 0x00000000
870 0x00000000
871 0x00000000
872 0x00000000
873 0x00000000
874 0x00000000
875 0x00000000
876 0x00000000
877 0x00000000
878 0x000fc000
879 0x000fc000
880 0x000fc000
881 0x000fc000
882 0x0000fc00
883 0x0000fc00
884 0x0000fc00
885 0x0000fc00
886 0x10000280
887 0x00000000
888 0x00111111
889 0x00000000
890 0x00000000
891 0x77ffc081
892 0x00000505
893 0x81f1f108
894 0x07070004
895 0x0000003f
896 0x016eeeee
897 0x51451400
898 0x00514514
899 0x00514514
900 0x51451400
901 0x0000003f
902 0x00000033
903 0x00000000
904 0x00000042
905 0x000c000c
906 0x00000000
907 0x00000003
908 0x0000f2f3
909 0x80000713
910 0x0000000a
911 >;
912 };
913
914 timing-204000000 {
915 clock-frequency = <204000000>;
916
917 nvidia,emc-auto-cal-config = <0xa1430000>;
918 nvidia,emc-auto-cal-config2 = <0x00000000>;
919 nvidia,emc-auto-cal-config3 = <0x00000000>;
920 nvidia,emc-auto-cal-interval = <0x001fffff>;
921 nvidia,emc-bgbias-ctl0 = <0x00000008>;
922 nvidia,emc-cfg = <0x73240000>;
923 nvidia,emc-cfg-2 = <0x0000088d>;
924 nvidia,emc-ctt-term-ctrl = <0x00000802>;
925 nvidia,emc-mode-1 = <0x80100003>;
926 nvidia,emc-mode-2 = <0x80200008>;
927 nvidia,emc-mode-4 = <0x00000000>;
928 nvidia,emc-mode-reset = <0x80001221>;
929 nvidia,emc-mrs-wait-cnt = <0x000c000c>;
930 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
931 nvidia,emc-xm2dqspadctrl2 = <0x0130b118>;
932 nvidia,emc-zcal-cnt-long = <0x00000042>;
933 nvidia,emc-zcal-interval = <0x00020000>;
934
935 nvidia,emc-configuration = <
936 0x00000009
937 0x00000035
938 0x00000000
939 0x00000007
940 0x00000002
941 0x00000005
942 0x0000000a
943 0x00000003
944 0x0000000b
945 0x00000002
946 0x00000002
947 0x00000003
948 0x00000003
949 0x00000000
950 0x00000005
951 0x00000005
952 0x00000006
953 0x00000002
954 0x00000000
955 0x00000004
956 0x00000006
957 0x00010000
958 0x00000003
959 0x00000000
960 0x00000000
961 0x00000000
962 0x00000000
963 0x00000003
964 0x0000000d
965 0x0000000f
966 0x00000011
967 0x00000607
968 0x00000000
969 0x00000181
970 0x00000002
971 0x00000002
972 0x00000001
973 0x00000000
974 0x00000032
975 0x0000000f
976 0x00000038
977 0x00000038
978 0x00000004
979 0x00000005
980 0x00000004
981 0x00000007
982 0x00000000
983 0x00000005
984 0x00000005
985 0x00000638
986 0x00000000
987 0x00000000
988 0x00000000
989 0x106aa298
990 0x002c00a0
991 0x00008000
992 0x00064000
993 0x00064000
994 0x00064000
995 0x00064000
996 0x00064000
997 0x00064000
998 0x00064000
999 0x00064000
1000 0x00064000
1001 0x00064000
1002 0x00064000
1003 0x00064000
1004 0x00064000
1005 0x00064000
1006 0x00064000
1007 0x00064000
1008 0x00000000
1009 0x00000000
1010 0x00000000
1011 0x00000000
1012 0x00000000
1013 0x00000000
1014 0x00000000
1015 0x00000000
1016 0x00000000
1017 0x00000000
1018 0x0000c000
1019 0x00000000
1020 0x00000000
1021 0x0000c000
1022 0x00000000
1023 0x00000000
1024 0x00000000
1025 0x00000000
1026 0x00000000
1027 0x00000000
1028 0x00000000
1029 0x00000000
1030 0x00000000
1031 0x00000000
1032 0x00000000
1033 0x00000000
1034 0x00000000
1035 0x00000000
1036 0x00000000
1037 0x00000000
1038 0x00000000
1039 0x00000000
1040 0x00000000
1041 0x00000000
1042 0x00000000
1043 0x00000000
1044 0x00000000
1045 0x00000000
1046 0x00090000
1047 0x00090000
1048 0x00090000
1049 0x00090000
1050 0x00009000
1051 0x00009000
1052 0x00009000
1053 0x00009000
1054 0x10000280
1055 0x00000000
1056 0x00111111
1057 0x00000000
1058 0x00000000
1059 0x77ffc081
1060 0x00000505
1061 0x81f1f108
1062 0x07070004
1063 0x0000003f
1064 0x016eeeee
1065 0x51451400
1066 0x00514514
1067 0x00514514
1068 0x51451400
1069 0x0000003f
1070 0x00000066
1071 0x00000000
1072 0x00000100
1073 0x000c000c
1074 0x00000000
1075 0x00000003
1076 0x0000d2b3
1077 0x80000d22
1078 0x0000000a
1079 >;
1080 };
1081
1082 timing-300000000 {
1083 clock-frequency = <300000000>;
1084
1085 nvidia,emc-auto-cal-config = <0xa1430000>;
1086 nvidia,emc-auto-cal-config2 = <0x00000000>;
1087 nvidia,emc-auto-cal-config3 = <0x00000000>;
1088 nvidia,emc-auto-cal-interval = <0x001fffff>;
1089 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1090 nvidia,emc-cfg = <0x73340000>;
1091 nvidia,emc-cfg-2 = <0x000008d5>;
1092 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1093 nvidia,emc-mode-1 = <0x80100002>;
1094 nvidia,emc-mode-2 = <0x80200000>;
1095 nvidia,emc-mode-4 = <0x00000000>;
1096 nvidia,emc-mode-reset = <0x80000321>;
1097 nvidia,emc-mrs-wait-cnt = <0x0174000c>;
1098 nvidia,emc-sel-dpd-ctrl = <0x00040128>;
1099 nvidia,emc-xm2dqspadctrl2 = <0x01231339>;
1100 nvidia,emc-zcal-cnt-long = <0x00000042>;
1101 nvidia,emc-zcal-interval = <0x00020000>;
1102
1103 nvidia,emc-configuration = <
1104 0x0000000d
1105 0x0000004c
1106 0x00000000
1107 0x00000009
1108 0x00000003
1109 0x00000004
1110 0x00000008
1111 0x00000002
1112 0x00000009
1113 0x00000003
1114 0x00000003
1115 0x00000002
1116 0x00000002
1117 0x00000000
1118 0x00000003
1119 0x00000003
1120 0x00000005
1121 0x00000002
1122 0x00000000
1123 0x00000002
1124 0x00000007
1125 0x00020000
1126 0x00000003
1127 0x00000000
1128 0x00000000
1129 0x00000000
1130 0x00000000
1131 0x00000001
1132 0x0000000e
1133 0x00000010
1134 0x00000012
1135 0x000008e4
1136 0x00000000
1137 0x00000239
1138 0x00000001
1139 0x00000008
1140 0x00000001
1141 0x00000000
1142 0x0000004a
1143 0x0000000e
1144 0x00000051
1145 0x00000200
1146 0x00000004
1147 0x00000005
1148 0x00000004
1149 0x00000009
1150 0x00000000
1151 0x00000005
1152 0x00000005
1153 0x00000924
1154 0x00000000
1155 0x00000000
1156 0x00000000
1157 0x104ab098
1158 0x002c00a0
1159 0x00008000
1160 0x00030000
1161 0x00030000
1162 0x00030000
1163 0x00030000
1164 0x00030000
1165 0x00030000
1166 0x00030000
1167 0x00030000
1168 0x00030000
1169 0x00030000
1170 0x00030000
1171 0x00030000
1172 0x00030000
1173 0x00030000
1174 0x00030000
1175 0x00030000
1176 0x00000000
1177 0x00000000
1178 0x00000000
1179 0x00000000
1180 0x00000000
1181 0x00000000
1182 0x00000000
1183 0x00000000
1184 0x00090000
1185 0x00090000
1186 0x00000000
1187 0x00090000
1188 0x00090000
1189 0x00000000
1190 0x00000000
1191 0x00000000
1192 0x00000000
1193 0x00000000
1194 0x00000000
1195 0x00000000
1196 0x00000000
1197 0x00000000
1198 0x00000000
1199 0x00000000
1200 0x00000000
1201 0x00000000
1202 0x00000000
1203 0x00000000
1204 0x00000000
1205 0x00000000
1206 0x00000000
1207 0x00000000
1208 0x00000000
1209 0x00000000
1210 0x00000000
1211 0x00000000
1212 0x00000000
1213 0x00000000
1214 0x00060000
1215 0x00060000
1216 0x00060000
1217 0x00060000
1218 0x00006000
1219 0x00006000
1220 0x00006000
1221 0x00006000
1222 0x10000280
1223 0x00000000
1224 0x00111111
1225 0x00000000
1226 0x00000000
1227 0x77ffc081
1228 0x00000202
1229 0x81f1f108
1230 0x07070004
1231 0x00000000
1232 0x016eeeee
1233 0x51451420
1234 0x00514514
1235 0x00514514
1236 0x51451400
1237 0x0000003f
1238 0x00000096
1239 0x00000000
1240 0x00000100
1241 0x0174000c
1242 0x00000000
1243 0x00000003
1244 0x000052a3
1245 0x800012d7
1246 0x00000009
1247 >;
1248 };
1249
1250 timing-396000000 {
1251 clock-frequency = <396000000>;
1252
1253 nvidia,emc-auto-cal-config = <0xa1430000>;
1254 nvidia,emc-auto-cal-config2 = <0x00000000>;
1255 nvidia,emc-auto-cal-config3 = <0x00000000>;
1256 nvidia,emc-auto-cal-interval = <0x001fffff>;
1257 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1258 nvidia,emc-cfg = <0x73340000>;
1259 nvidia,emc-cfg-2 = <0x00000895>;
1260 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1261 nvidia,emc-mode-1 = <0x80100002>;
1262 nvidia,emc-mode-2 = <0x80200000>;
1263 nvidia,emc-mode-4 = <0x00000000>;
1264 nvidia,emc-mode-reset = <0x80000521>;
1265 nvidia,emc-mrs-wait-cnt = <0x015b000c>;
1266 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1267 nvidia,emc-xm2dqspadctrl2 = <0x01231339>;
1268 nvidia,emc-zcal-cnt-long = <0x00000042>;
1269 nvidia,emc-zcal-interval = <0x00020000>;
1270
1271 nvidia,emc-configuration = <
1272 0x00000012
1273 0x00000065
1274 0x00000000
1275 0x0000000c
1276 0x00000004
1277 0x00000005
1278 0x00000008
1279 0x00000002
1280 0x0000000a
1281 0x00000004
1282 0x00000004
1283 0x00000002
1284 0x00000002
1285 0x00000000
1286 0x00000003
1287 0x00000003
1288 0x00000005
1289 0x00000002
1290 0x00000000
1291 0x00000001
1292 0x00000008
1293 0x00020000
1294 0x00000003
1295 0x00000000
1296 0x00000000
1297 0x00000000
1298 0x00000000
1299 0x00000000
1300 0x0000000f
1301 0x00000010
1302 0x00000012
1303 0x00000bd1
1304 0x00000000
1305 0x000002f4
1306 0x00000001
1307 0x00000008
1308 0x00000001
1309 0x00000000
1310 0x00000063
1311 0x0000000f
1312 0x0000006b
1313 0x00000200
1314 0x00000004
1315 0x00000005
1316 0x00000004
1317 0x0000000d
1318 0x00000000
1319 0x00000005
1320 0x00000005
1321 0x00000c11
1322 0x00000000
1323 0x00000000
1324 0x00000000
1325 0x104ab098
1326 0x002c00a0
1327 0x00008000
1328 0x00030000
1329 0x00030000
1330 0x00030000
1331 0x00030000
1332 0x00030000
1333 0x00030000
1334 0x00030000
1335 0x00030000
1336 0x00030000
1337 0x00030000
1338 0x00030000
1339 0x00030000
1340 0x00030000
1341 0x00030000
1342 0x00030000
1343 0x00030000
1344 0x00000000
1345 0x00000000
1346 0x00000000
1347 0x00000000
1348 0x00000000
1349 0x00000000
1350 0x00000000
1351 0x00000000
1352 0x00068000
1353 0x00068000
1354 0x00000000
1355 0x00068000
1356 0x00068000
1357 0x00000000
1358 0x00000000
1359 0x00000000
1360 0x00000000
1361 0x00000000
1362 0x00000000
1363 0x00000000
1364 0x00000000
1365 0x00000000
1366 0x00000000
1367 0x00000000
1368 0x00000000
1369 0x00000000
1370 0x00000000
1371 0x00000000
1372 0x00000000
1373 0x00000000
1374 0x00000000
1375 0x00000000
1376 0x00000000
1377 0x00000000
1378 0x00000000
1379 0x00000000
1380 0x00000000
1381 0x00000000
1382 0x00058000
1383 0x00058000
1384 0x00058000
1385 0x00058000
1386 0x00005800
1387 0x00005800
1388 0x00005800
1389 0x00005800
1390 0x10000280
1391 0x00000000
1392 0x00111111
1393 0x00000000
1394 0x00000000
1395 0x77ffc081
1396 0x00000202
1397 0x81f1f108
1398 0x07070004
1399 0x00000000
1400 0x016eeeee
1401 0x51451420
1402 0x00514514
1403 0x00514514
1404 0x51451400
1405 0x0000003f
1406 0x000000c6
1407 0x00000000
1408 0x00000100
1409 0x015b000c
1410 0x00000000
1411 0x00000003
1412 0x000052a3
1413 0x8000188b
1414 0x00000009
1415 >;
1416 };
1417
1418 timing-600000000 {
1419 clock-frequency = <600000000>;
1420
1421 nvidia,emc-auto-cal-config = <0xa1430000>;
1422 nvidia,emc-auto-cal-config2 = <0x00000000>;
1423 nvidia,emc-auto-cal-config3 = <0x00000000>;
1424 nvidia,emc-auto-cal-interval = <0x001fffff>;
1425 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1426 nvidia,emc-cfg = <0x73300000>;
1427 nvidia,emc-cfg-2 = <0x0000089d>;
1428 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1429 nvidia,emc-mode-1 = <0x80100002>;
1430 nvidia,emc-mode-2 = <0x80200010>;
1431 nvidia,emc-mode-4 = <0x00000000>;
1432 nvidia,emc-mode-reset = <0x80000b61>;
1433 nvidia,emc-mrs-wait-cnt = <0x0128000c>;
1434 nvidia,emc-sel-dpd-ctrl = <0x00040008>;
1435 nvidia,emc-xm2dqspadctrl2 = <0x0121113d>;
1436 nvidia,emc-zcal-cnt-long = <0x00000042>;
1437 nvidia,emc-zcal-interval = <0x00020000>;
1438
1439 nvidia,emc-configuration = <
1440 0x0000001c
1441 0x0000009a
1442 0x00000000
1443 0x00000013
1444 0x00000007
1445 0x00000007
1446 0x0000000b
1447 0x00000003
1448 0x00000010
1449 0x00000007
1450 0x00000007
1451 0x00000002
1452 0x00000002
1453 0x00000000
1454 0x00000005
1455 0x00000005
1456 0x0000000a
1457 0x00000002
1458 0x00000000
1459 0x00000003
1460 0x0000000b
1461 0x00070000
1462 0x00000003
1463 0x00000000
1464 0x00000000
1465 0x00000000
1466 0x00000000
1467 0x00000002
1468 0x00000012
1469 0x00000016
1470 0x00000018
1471 0x00001208
1472 0x00000000
1473 0x00000482
1474 0x00000002
1475 0x0000000d
1476 0x00000001
1477 0x00000000
1478 0x00000096
1479 0x00000015
1480 0x000000a2
1481 0x00000200
1482 0x00000004
1483 0x00000005
1484 0x00000004
1485 0x00000015
1486 0x00000000
1487 0x00000006
1488 0x00000006
1489 0x00001248
1490 0x00000000
1491 0x00000000
1492 0x00000000
1493 0x104ab098
1494 0xe00e00b1
1495 0x00008000
1496 0x0000000a
1497 0x0000000a
1498 0x0000000a
1499 0x0000000a
1500 0x0000000a
1501 0x0000000a
1502 0x0000000a
1503 0x0000000a
1504 0x0000000a
1505 0x0000000a
1506 0x0000000a
1507 0x0000000a
1508 0x0000000a
1509 0x0000000a
1510 0x0000000a
1511 0x0000000a
1512 0x00000000
1513 0x00000000
1514 0x00000000
1515 0x00000000
1516 0x00000000
1517 0x00000000
1518 0x00000000
1519 0x00000000
1520 0x00040000
1521 0x00040000
1522 0x00000000
1523 0x00040000
1524 0x00040000
1525 0x00000000
1526 0x00000000
1527 0x00000000
1528 0x00000000
1529 0x00000000
1530 0x00000000
1531 0x00000000
1532 0x00000000
1533 0x00000000
1534 0x00000004
1535 0x00000004
1536 0x00000001
1537 0x00000005
1538 0x00000007
1539 0x00000004
1540 0x00000006
1541 0x00000007
1542 0x00000004
1543 0x00000004
1544 0x00000001
1545 0x00000005
1546 0x00000007
1547 0x00000004
1548 0x00000006
1549 0x00000007
1550 0x0000000e
1551 0x0000000e
1552 0x0000000e
1553 0x0000000e
1554 0x0000000e
1555 0x0000000e
1556 0x0000000e
1557 0x0000000e
1558 0x100002a0
1559 0x00000000
1560 0x00111111
1561 0x00000000
1562 0x00000000
1563 0x77ffc085
1564 0x00000202
1565 0x81f1f108
1566 0x07070004
1567 0x00000000
1568 0x016eeeee
1569 0x51451420
1570 0x00514514
1571 0x00514514
1572 0x51451400
1573 0x0606003f
1574 0x00000000
1575 0x00000000
1576 0x00000100
1577 0x0128000c
1578 0x00000000
1579 0x00000003
1580 0x000040a0
1581 0x800024a9
1582 0x0000000e
1583 >;
1584 };
1585
1586 timing-792000000 {
1587 clock-frequency = <792000000>;
1588
1589 nvidia,emc-auto-cal-config = <0xa1430000>;
1590 nvidia,emc-auto-cal-config2 = <0x00000000>;
1591 nvidia,emc-auto-cal-config3 = <0x00000000>;
1592 nvidia,emc-auto-cal-interval = <0x001fffff>;
1593 nvidia,emc-bgbias-ctl0 = <0x00000000>;
1594 nvidia,emc-cfg = <0x73300000>;
1595 nvidia,emc-cfg-2 = <0x0000089d>;
1596 nvidia,emc-ctt-term-ctrl = <0x00000802>;
1597 nvidia,emc-mode-1 = <0x80100002>;
1598 nvidia,emc-mode-2 = <0x80200018>;
1599 nvidia,emc-mode-4 = <0x00000000>;
1600 nvidia,emc-mode-reset = <0x80000d71>;
1601 nvidia,emc-mrs-wait-cnt = <0x00f8000c>;
1602 nvidia,emc-sel-dpd-ctrl = <0x00040000>;
1603 nvidia,emc-xm2dqspadctrl2 = <0x0120113d>;
1604 nvidia,emc-zcal-cnt-long = <0x00000042>;
1605 nvidia,emc-zcal-interval = <0x00020000>;
1606
1607 nvidia,emc-configuration = <
1608 0x00000025
1609 0x000000cc
1610 0x00000000
1611 0x0000001a
1612 0x00000009
1613 0x00000008
1614 0x0000000d
1615 0x00000004
1616 0x00000013
1617 0x00000009
1618 0x00000009
1619 0x00000003
1620 0x00000002
1621 0x00000000
1622 0x00000006
1623 0x00000006
1624 0x0000000b
1625 0x00000002
1626 0x00000000
1627 0x00000002
1628 0x0000000d
1629 0x00080000
1630 0x00000004
1631 0x00000000
1632 0x00000000
1633 0x00000000
1634 0x00000000
1635 0x00000001
1636 0x00000014
1637 0x00000018
1638 0x0000001a
1639 0x000017e2
1640 0x00000000
1641 0x000005f8
1642 0x00000003
1643 0x00000011
1644 0x00000001
1645 0x00000000
1646 0x000000c6
1647 0x00000018
1648 0x000000d6
1649 0x00000200
1650 0x00000005
1651 0x00000006
1652 0x00000005
1653 0x0000001d
1654 0x00000000
1655 0x00000008
1656 0x00000008
1657 0x00001822
1658 0x00000000
1659 0x00000000
1660 0x00000000
1661 0x104ab098
1662 0xe00700b1
1663 0x00008000
1664 0x00000008
1665 0x00000008
1666 0x00000008
1667 0x00000008
1668 0x00000008
1669 0x00000008
1670 0x00000008
1671 0x00000008
1672 0x00000008
1673 0x00000008
1674 0x00000008
1675 0x00000008
1676 0x00000008
1677 0x00000008
1678 0x00000008
1679 0x00000008
1680 0x00000000
1681 0x00000000
1682 0x00000000
1683 0x00000000
1684 0x00000000
1685 0x00000000
1686 0x00000000
1687 0x00000000
1688 0x0002c000
1689 0x0002c000
1690 0x00000000
1691 0x0002c000
1692 0x0002c000
1693 0x00000000
1694 0x00000000
1695 0x00000000
1696 0x00000000
1697 0x00000000
1698 0x00000000
1699 0x00000000
1700 0x00000000
1701 0x00000000
1702 0x00000008
1703 0x00000008
1704 0x00000005
1705 0x00000008
1706 0x0000000a
1707 0x00000008
1708 0x0000000a
1709 0x0000000a
1710 0x00000008
1711 0x00000008
1712 0x00000005
1713 0x00000008
1714 0x0000000a
1715 0x00000008
1716 0x0000000a
1717 0x0000000a
1718 0x0000000e
1719 0x0000000e
1720 0x0000000e
1721 0x0000000e
1722 0x0000000e
1723 0x0000000e
1724 0x0000000e
1725 0x0000000e
1726 0x100002a0
1727 0x00000000
1728 0x00111111
1729 0x00000000
1730 0x00000000
1731 0x77ffc085
1732 0x00000202
1733 0x81f1f108
1734 0x07070004
1735 0x00000000
1736 0x016eeeee
1737 0x61861820
1738 0x00492492
1739 0x00492492
1740 0x61861800
1741 0x0606003f
1742 0x00000000
1743 0x00000000
1744 0x00000100
1745 0x00f8000c
1746 0x00000000
1747 0x00000004
1748 0x00004080
1749 0x80003012
1750 0x0000000f
1751 >;
1752 };
1753
1754 };
1755 };
1756
1757 memory-controller@0,70019000 {
1758 emc-timings-1 {
1759 nvidia,ram-code = <1>;
1760
1761
1762 timing-12750000 {
1763 clock-frequency = <12750000>;
1764
1765 nvidia,emem-configuration = <
1766 0x40040001
1767 0x8000000a
1768 0x00000001
1769 0x00000001
1770 0x00000002
1771 0x00000000
1772 0x00000002
1773 0x00000001
1774 0x00000002
1775 0x00000008
1776 0x00000003
1777 0x00000002
1778 0x00000003
1779 0x00000006
1780 0x06030203
1781 0x000a0402
1782 0x77e30303
1783 0x70000f03
1784 0x001f0000
1785 >;
1786 };
1787
1788 timing-20400000 {
1789 clock-frequency = <20400000>;
1790
1791 nvidia,emem-configuration = <
1792 0x40020001
1793 0x80000012
1794 0x00000001
1795 0x00000001
1796 0x00000002
1797 0x00000000
1798 0x00000002
1799 0x00000001
1800 0x00000002
1801 0x00000008
1802 0x00000003
1803 0x00000002
1804 0x00000003
1805 0x00000006
1806 0x06030203
1807 0x000a0402
1808 0x76230303
1809 0x70000f03
1810 0x001f0000
1811 >;
1812 };
1813
1814 timing-40800000 {
1815 clock-frequency = <40800000>;
1816
1817 nvidia,emem-configuration = <
1818 0xa0000001
1819 0x80000017
1820 0x00000001
1821 0x00000001
1822 0x00000002
1823 0x00000000
1824 0x00000002
1825 0x00000001
1826 0x00000002
1827 0x00000008
1828 0x00000003
1829 0x00000002
1830 0x00000003
1831 0x00000006
1832 0x06030203
1833 0x000a0402
1834 0x74a30303
1835 0x70000f03
1836 0x001f0000
1837 >;
1838 };
1839
1840 timing-68000000 {
1841 clock-frequency = <68000000>;
1842
1843 nvidia,emem-configuration = <
1844 0x00000001
1845 0x8000001e
1846 0x00000001
1847 0x00000001
1848 0x00000002
1849 0x00000000
1850 0x00000002
1851 0x00000001
1852 0x00000002
1853 0x00000008
1854 0x00000003
1855 0x00000002
1856 0x00000003
1857 0x00000006
1858 0x06030203
1859 0x000a0402
1860 0x74230403
1861 0x70000f03
1862 0x001f0000
1863 >;
1864 };
1865
1866 timing-102000000 {
1867 clock-frequency = <102000000>;
1868
1869 nvidia,emem-configuration = <
1870 0x08000001
1871 0x80000026
1872 0x00000001
1873 0x00000001
1874 0x00000003
1875 0x00000000
1876 0x00000002
1877 0x00000001
1878 0x00000002
1879 0x00000008
1880 0x00000003
1881 0x00000002
1882 0x00000003
1883 0x00000006
1884 0x06030203
1885 0x000a0403
1886 0x73c30504
1887 0x70000f03
1888 0x001f0000
1889 >;
1890 };
1891
1892 timing-204000000 {
1893 clock-frequency = <204000000>;
1894
1895 nvidia,emem-configuration = <
1896 0x01000003
1897 0x80000040
1898 0x00000001
1899 0x00000001
1900 0x00000005
1901 0x00000002
1902 0x00000004
1903 0x00000001
1904 0x00000002
1905 0x00000008
1906 0x00000003
1907 0x00000002
1908 0x00000004
1909 0x00000006
1910 0x06040203
1911 0x000a0405
1912 0x73840a06
1913 0x70000f03
1914 0x001f0000
1915 >;
1916 };
1917
1918 timing-300000000 {
1919 clock-frequency = <300000000>;
1920
1921 nvidia,emem-configuration = <
1922 0x08000004
1923 0x80000040
1924 0x00000001
1925 0x00000002
1926 0x00000007
1927 0x00000004
1928 0x00000005
1929 0x00000001
1930 0x00000002
1931 0x00000007
1932 0x00000002
1933 0x00000002
1934 0x00000004
1935 0x00000006
1936 0x06040202
1937 0x000b0607
1938 0x77450e08
1939 0x70000f03
1940 0x001f0000
1941 >;
1942 };
1943
1944 timing-396000000 {
1945 clock-frequency = <396000000>;
1946
1947 nvidia,emem-configuration = <
1948 0x0f000005
1949 0x80000040
1950 0x00000001
1951 0x00000002
1952 0x00000009
1953 0x00000005
1954 0x00000007
1955 0x00000001
1956 0x00000002
1957 0x00000008
1958 0x00000002
1959 0x00000002
1960 0x00000004
1961 0x00000006
1962 0x06040202
1963 0x000d0709
1964 0x7586120a
1965 0x70000f03
1966 0x001f0000
1967 >;
1968 };
1969
1970 timing-528000000 {
1971 clock-frequency = <528000000>;
1972
1973 nvidia,emem-configuration = <
1974 0x0f000007
1975 0x80000040
1976 0x00000002
1977 0x00000003
1978 0x0000000d
1979 0x00000008
1980 0x0000000a
1981 0x00000001
1982 0x00000002
1983 0x00000009
1984 0x00000002
1985 0x00000002
1986 0x00000005
1987 0x00000006
1988 0x06050202
1989 0x0010090d
1990 0x7428180e
1991 0x70000f03
1992 0x001f0000
1993 >;
1994 };
1995
1996 timing-600000000 {
1997 clock-frequency = <600000000>;
1998
1999 nvidia,emem-configuration = <
2000 0x00000009
2001 0x80000040
2002 0x00000003
2003 0x00000004
2004 0x0000000e
2005 0x00000009
2006 0x0000000b
2007 0x00000001
2008 0x00000003
2009 0x0000000b
2010 0x00000002
2011 0x00000002
2012 0x00000005
2013 0x00000007
2014 0x07050202
2015 0x00130b0e
2016 0x73a91b0f
2017 0x70000f03
2018 0x001f0000
2019 >;
2020 };
2021
2022 timing-792000000 {
2023 clock-frequency = <792000000>;
2024
2025 nvidia,emem-configuration = <
2026 0x0e00000b
2027 0x80000040
2028 0x00000004
2029 0x00000005
2030 0x00000013
2031 0x0000000c
2032 0x0000000f
2033 0x00000002
2034 0x00000003
2035 0x0000000c
2036 0x00000002
2037 0x00000002
2038 0x00000006
2039 0x00000008
2040 0x08060202
2041 0x00160d13
2042 0x734c2414
2043 0x70000f02
2044 0x001f0000
2045 >;
2046 };
2047 };
2048 };
2049};
diff --git a/arch/arm/boot/dts/tegra124-nyan-blaze.dts b/arch/arm/boot/dts/tegra124-nyan-blaze.dts
new file mode 100644
index 000000000000..0d30c514ffad
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-nyan-blaze.dts
@@ -0,0 +1,1334 @@
1/dts-v1/;
2
3#include "tegra124-nyan.dtsi"
4
5#include "tegra124-nyan-blaze-emc.dtsi"
6
7/ {
8 model = "HP Chromebook 14";
9 compatible = "google,nyan-blaze", "google,nyan", "nvidia,tegra124";
10
11 panel: panel {
12 compatible = "samsung,ltn140at29-301";
13
14 backlight = <&backlight>;
15 ddc-i2c-bus = <&dpaux>;
16 };
17
18 sound {
19 compatible = "nvidia,tegra-audio-max98090-nyan-blaze",
20 "nvidia,tegra-audio-max98090-nyan",
21 "nvidia,tegra-audio-max98090";
22 nvidia,model = "GoogleNyanBlaze";
23 };
24
25 pinmux@0,70000868 {
26 pinctrl-names = "default";
27 pinctrl-0 = <&pinmux_default>;
28
29 pinmux_default: common {
30 clk_32k_out_pa0 {
31 nvidia,pins = "clk_32k_out_pa0";
32 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
33 nvidia,tristate = <TEGRA_PIN_DISABLE>;
34 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
35 };
36 uart3_cts_n_pa1 {
37 nvidia,pins = "uart3_cts_n_pa1";
38 nvidia,function = "gmi";
39 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
40 nvidia,tristate = <TEGRA_PIN_ENABLE>;
41 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
42 };
43 dap2_fs_pa2 {
44 nvidia,pins = "dap2_fs_pa2";
45 nvidia,function = "i2s1";
46 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
47 nvidia,tristate = <TEGRA_PIN_DISABLE>;
48 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
49 };
50 dap2_sclk_pa3 {
51 nvidia,pins = "dap2_sclk_pa3";
52 nvidia,function = "i2s1";
53 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
54 nvidia,tristate = <TEGRA_PIN_DISABLE>;
55 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
56 };
57 dap2_din_pa4 {
58 nvidia,pins = "dap2_din_pa4";
59 nvidia,function = "i2s1";
60 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
61 nvidia,tristate = <TEGRA_PIN_DISABLE>;
62 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
63 };
64 dap2_dout_pa5 {
65 nvidia,pins = "dap2_dout_pa5";
66 nvidia,function = "i2s1";
67 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
68 nvidia,tristate = <TEGRA_PIN_DISABLE>;
69 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
70 };
71 sdmmc3_clk_pa6 {
72 nvidia,pins = "sdmmc3_clk_pa6";
73 nvidia,function = "sdmmc3";
74 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
75 nvidia,tristate = <TEGRA_PIN_DISABLE>;
76 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
77 };
78 sdmmc3_cmd_pa7 {
79 nvidia,pins = "sdmmc3_cmd_pa7";
80 nvidia,function = "sdmmc3";
81 nvidia,pull = <TEGRA_PIN_PULL_UP>;
82 nvidia,tristate = <TEGRA_PIN_DISABLE>;
83 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
84 };
85 pb0 {
86 nvidia,pins = "pb0";
87 nvidia,function = "rsvd2";
88 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
89 nvidia,tristate = <TEGRA_PIN_ENABLE>;
90 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
91 };
92 pb1 {
93 nvidia,pins = "pb1";
94 nvidia,function = "rsvd2";
95 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
96 nvidia,tristate = <TEGRA_PIN_ENABLE>;
97 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
98 };
99 sdmmc3_dat3_pb4 {
100 nvidia,pins = "sdmmc3_dat3_pb4";
101 nvidia,function = "sdmmc3";
102 nvidia,pull = <TEGRA_PIN_PULL_UP>;
103 nvidia,tristate = <TEGRA_PIN_DISABLE>;
104 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
105 };
106 sdmmc3_dat2_pb5 {
107 nvidia,pins = "sdmmc3_dat2_pb5";
108 nvidia,function = "sdmmc3";
109 nvidia,pull = <TEGRA_PIN_PULL_UP>;
110 nvidia,tristate = <TEGRA_PIN_DISABLE>;
111 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
112 };
113 sdmmc3_dat1_pb6 {
114 nvidia,pins = "sdmmc3_dat1_pb6";
115 nvidia,function = "sdmmc3";
116 nvidia,pull = <TEGRA_PIN_PULL_UP>;
117 nvidia,tristate = <TEGRA_PIN_DISABLE>;
118 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
119 };
120 sdmmc3_dat0_pb7 {
121 nvidia,pins = "sdmmc3_dat0_pb7";
122 nvidia,function = "sdmmc3";
123 nvidia,pull = <TEGRA_PIN_PULL_UP>;
124 nvidia,tristate = <TEGRA_PIN_DISABLE>;
125 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
126 };
127 uart3_rts_n_pc0 {
128 nvidia,pins = "uart3_rts_n_pc0";
129 nvidia,function = "gmi";
130 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
131 nvidia,tristate = <TEGRA_PIN_ENABLE>;
132 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
133 };
134 uart2_txd_pc2 {
135 nvidia,pins = "uart2_txd_pc2";
136 nvidia,function = "irda";
137 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
138 nvidia,tristate = <TEGRA_PIN_ENABLE>;
139 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
140 };
141 uart2_rxd_pc3 {
142 nvidia,pins = "uart2_rxd_pc3";
143 nvidia,function = "irda";
144 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
145 nvidia,tristate = <TEGRA_PIN_ENABLE>;
146 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
147 };
148 gen1_i2c_scl_pc4 {
149 nvidia,pins = "gen1_i2c_scl_pc4";
150 nvidia,function = "i2c1";
151 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
152 nvidia,tristate = <TEGRA_PIN_DISABLE>;
153 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
154 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
155 };
156 gen1_i2c_sda_pc5 {
157 nvidia,pins = "gen1_i2c_sda_pc5";
158 nvidia,function = "i2c1";
159 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
160 nvidia,tristate = <TEGRA_PIN_DISABLE>;
161 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
162 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
163 };
164 pc7 {
165 nvidia,pins = "pc7";
166 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
167 nvidia,tristate = <TEGRA_PIN_DISABLE>;
168 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
169 };
170 pg0 {
171 nvidia,pins = "pg0";
172 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
173 nvidia,tristate = <TEGRA_PIN_DISABLE>;
174 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
175 };
176 pg1 {
177 nvidia,pins = "pg1";
178 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
179 nvidia,tristate = <TEGRA_PIN_DISABLE>;
180 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
181 };
182 pg2 {
183 nvidia,pins = "pg2";
184 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
185 nvidia,tristate = <TEGRA_PIN_DISABLE>;
186 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
187 };
188 pg3 {
189 nvidia,pins = "pg3";
190 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
191 nvidia,tristate = <TEGRA_PIN_DISABLE>;
192 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
193 };
194 pg4 {
195 nvidia,pins = "pg4";
196 nvidia,function = "spi4";
197 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
198 nvidia,tristate = <TEGRA_PIN_DISABLE>;
199 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
200 };
201 pg5 {
202 nvidia,pins = "pg5";
203 nvidia,function = "spi4";
204 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
205 nvidia,tristate = <TEGRA_PIN_DISABLE>;
206 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
207 };
208 pg6 {
209 nvidia,pins = "pg6";
210 nvidia,function = "spi4";
211 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
212 nvidia,tristate = <TEGRA_PIN_DISABLE>;
213 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
214 };
215 pg7 {
216 nvidia,pins = "pg7";
217 nvidia,function = "spi4";
218 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
219 nvidia,tristate = <TEGRA_PIN_DISABLE>;
220 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
221 };
222 ph0 {
223 nvidia,pins = "ph0";
224 nvidia,function = "gmi";
225 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
226 nvidia,tristate = <TEGRA_PIN_ENABLE>;
227 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
228 };
229 ph1 {
230 nvidia,pins = "ph1";
231 nvidia,function = "pwm1";
232 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
233 nvidia,tristate = <TEGRA_PIN_DISABLE>;
234 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
235 };
236 ph2 {
237 nvidia,pins = "ph2";
238 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
239 nvidia,tristate = <TEGRA_PIN_DISABLE>;
240 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
241 };
242 ph3 {
243 nvidia,pins = "ph3";
244 nvidia,function = "gmi";
245 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
246 nvidia,tristate = <TEGRA_PIN_ENABLE>;
247 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
248 };
249 ph4 {
250 nvidia,pins = "ph4";
251 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
252 nvidia,tristate = <TEGRA_PIN_DISABLE>;
253 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
254 };
255 ph5 {
256 nvidia,pins = "ph5";
257 nvidia,function = "rsvd2";
258 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
259 nvidia,tristate = <TEGRA_PIN_ENABLE>;
260 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
261 };
262 ph6 {
263 nvidia,pins = "ph6";
264 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
265 nvidia,tristate = <TEGRA_PIN_DISABLE>;
266 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
267 };
268 ph7 {
269 nvidia,pins = "ph7";
270 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
271 nvidia,tristate = <TEGRA_PIN_DISABLE>;
272 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
273 };
274 pi0 {
275 nvidia,pins = "pi0";
276 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
277 nvidia,tristate = <TEGRA_PIN_DISABLE>;
278 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
279 };
280 pi1 {
281 nvidia,pins = "pi1";
282 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
283 nvidia,tristate = <TEGRA_PIN_DISABLE>;
284 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
285 };
286 pi2 {
287 nvidia,pins = "pi2";
288 nvidia,function = "rsvd4";
289 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
290 nvidia,tristate = <TEGRA_PIN_ENABLE>;
291 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
292 };
293 pi3 {
294 nvidia,pins = "pi3";
295 nvidia,function = "spi4";
296 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
297 nvidia,tristate = <TEGRA_PIN_DISABLE>;
298 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
299 };
300 pi4 {
301 nvidia,pins = "pi4";
302 nvidia,function = "gmi";
303 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
304 nvidia,tristate = <TEGRA_PIN_ENABLE>;
305 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
306 };
307 pi5 {
308 nvidia,pins = "pi5";
309 nvidia,pull = <TEGRA_PIN_PULL_UP>;
310 nvidia,tristate = <TEGRA_PIN_DISABLE>;
311 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
312 };
313 pi6 {
314 nvidia,pins = "pi6";
315 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
316 nvidia,tristate = <TEGRA_PIN_DISABLE>;
317 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
318 };
319 pi7 {
320 nvidia,pins = "pi7";
321 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
322 nvidia,tristate = <TEGRA_PIN_DISABLE>;
323 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
324 };
325 pj0 {
326 nvidia,pins = "pj0";
327 nvidia,pull = <TEGRA_PIN_PULL_UP>;
328 nvidia,tristate = <TEGRA_PIN_DISABLE>;
329 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
330 };
331 pj2 {
332 nvidia,pins = "pj2";
333 nvidia,function = "rsvd1";
334 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
335 nvidia,tristate = <TEGRA_PIN_ENABLE>;
336 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
337 };
338 uart2_cts_n_pj5 {
339 nvidia,pins = "uart2_cts_n_pj5";
340 nvidia,function = "gmi";
341 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
342 nvidia,tristate = <TEGRA_PIN_ENABLE>;
343 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
344 };
345 uart2_rts_n_pj6 {
346 nvidia,pins = "uart2_rts_n_pj6";
347 nvidia,function = "gmi";
348 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
349 nvidia,tristate = <TEGRA_PIN_ENABLE>;
350 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
351 };
352 pj7 {
353 nvidia,pins = "pj7";
354 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
355 nvidia,tristate = <TEGRA_PIN_DISABLE>;
356 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
357 };
358 pk0 {
359 nvidia,pins = "pk0";
360 nvidia,function = "rsvd1";
361 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
362 nvidia,tristate = <TEGRA_PIN_ENABLE>;
363 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
364 };
365 pk1 {
366 nvidia,pins = "pk1";
367 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
368 nvidia,tristate = <TEGRA_PIN_DISABLE>;
369 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
370 };
371 pk2 {
372 nvidia,pins = "pk2";
373 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
374 nvidia,tristate = <TEGRA_PIN_DISABLE>;
375 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
376 };
377 pk3 {
378 nvidia,pins = "pk3";
379 nvidia,function = "gmi";
380 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
381 nvidia,tristate = <TEGRA_PIN_ENABLE>;
382 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
383 };
384 pk4 {
385 nvidia,pins = "pk4";
386 nvidia,pull = <TEGRA_PIN_PULL_UP>;
387 nvidia,tristate = <TEGRA_PIN_DISABLE>;
388 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
389 };
390 spdif_out_pk5 {
391 nvidia,pins = "spdif_out_pk5";
392 nvidia,function = "rsvd2";
393 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
394 nvidia,tristate = <TEGRA_PIN_ENABLE>;
395 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
396 };
397 spdif_in_pk6 {
398 nvidia,pins = "spdif_in_pk6";
399 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
400 nvidia,tristate = <TEGRA_PIN_DISABLE>;
401 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
402 };
403 pk7 {
404 nvidia,pins = "pk7";
405 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
406 nvidia,tristate = <TEGRA_PIN_DISABLE>;
407 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
408 };
409 dap1_fs_pn0 {
410 nvidia,pins = "dap1_fs_pn0";
411 nvidia,function = "rsvd4";
412 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
413 nvidia,tristate = <TEGRA_PIN_ENABLE>;
414 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
415 };
416 dap1_din_pn1 {
417 nvidia,pins = "dap1_din_pn1";
418 nvidia,function = "rsvd4";
419 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
420 nvidia,tristate = <TEGRA_PIN_ENABLE>;
421 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
422 };
423 dap1_dout_pn2 {
424 nvidia,pins = "dap1_dout_pn2";
425 nvidia,function = "i2s0";
426 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
427 nvidia,tristate = <TEGRA_PIN_ENABLE>;
428 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
429 };
430 dap1_sclk_pn3 {
431 nvidia,pins = "dap1_sclk_pn3";
432 nvidia,function = "rsvd4";
433 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
434 nvidia,tristate = <TEGRA_PIN_ENABLE>;
435 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
436 };
437 usb_vbus_en0_pn4 {
438 nvidia,pins = "usb_vbus_en0_pn4";
439 nvidia,function = "usb";
440 nvidia,pull = <TEGRA_PIN_PULL_UP>;
441 nvidia,tristate = <TEGRA_PIN_DISABLE>;
442 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
443 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
444 };
445 usb_vbus_en1_pn5 {
446 nvidia,pins = "usb_vbus_en1_pn5";
447 nvidia,function = "usb";
448 nvidia,pull = <TEGRA_PIN_PULL_UP>;
449 nvidia,tristate = <TEGRA_PIN_DISABLE>;
450 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
451 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
452 };
453 hdmi_int_pn7 {
454 nvidia,pins = "hdmi_int_pn7";
455 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
456 nvidia,tristate = <TEGRA_PIN_DISABLE>;
457 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
458 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
459 };
460 ulpi_data7_po0 {
461 nvidia,pins = "ulpi_data7_po0";
462 nvidia,function = "ulpi";
463 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
464 nvidia,tristate = <TEGRA_PIN_ENABLE>;
465 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
466 };
467 ulpi_data0_po1 {
468 nvidia,pins = "ulpi_data0_po1";
469 nvidia,function = "ulpi";
470 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
471 nvidia,tristate = <TEGRA_PIN_ENABLE>;
472 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
473 };
474 ulpi_data1_po2 {
475 nvidia,pins = "ulpi_data1_po2";
476 nvidia,function = "ulpi";
477 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
478 nvidia,tristate = <TEGRA_PIN_ENABLE>;
479 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
480 };
481 ulpi_data2_po3 {
482 nvidia,pins = "ulpi_data2_po3";
483 nvidia,function = "ulpi";
484 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
485 nvidia,tristate = <TEGRA_PIN_ENABLE>;
486 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
487 };
488 ulpi_data3_po4 {
489 nvidia,pins = "ulpi_data3_po4";
490 nvidia,function = "ulpi";
491 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
492 nvidia,tristate = <TEGRA_PIN_ENABLE>;
493 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
494 };
495 ulpi_data4_po5 {
496 nvidia,pins = "ulpi_data4_po5";
497 nvidia,function = "ulpi";
498 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
499 nvidia,tristate = <TEGRA_PIN_ENABLE>;
500 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
501 };
502 ulpi_data5_po6 {
503 nvidia,pins = "ulpi_data5_po6";
504 nvidia,function = "ulpi";
505 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
506 nvidia,tristate = <TEGRA_PIN_ENABLE>;
507 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
508 };
509 ulpi_data6_po7 {
510 nvidia,pins = "ulpi_data6_po7";
511 nvidia,function = "ulpi";
512 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
513 nvidia,tristate = <TEGRA_PIN_ENABLE>;
514 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
515 };
516 dap3_fs_pp0 {
517 nvidia,pins = "dap3_fs_pp0";
518 nvidia,function = "i2s2";
519 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
520 nvidia,tristate = <TEGRA_PIN_ENABLE>;
521 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
522 };
523 dap3_din_pp1 {
524 nvidia,pins = "dap3_din_pp1";
525 nvidia,function = "i2s2";
526 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
527 nvidia,tristate = <TEGRA_PIN_ENABLE>;
528 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
529 };
530 dap3_dout_pp2 {
531 nvidia,pins = "dap3_dout_pp2";
532 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
533 nvidia,tristate = <TEGRA_PIN_DISABLE>;
534 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
535 };
536 dap3_sclk_pp3 {
537 nvidia,pins = "dap3_sclk_pp3";
538 nvidia,function = "rsvd3";
539 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
540 nvidia,tristate = <TEGRA_PIN_ENABLE>;
541 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
542 };
543 dap4_fs_pp4 {
544 nvidia,pins = "dap4_fs_pp4";
545 nvidia,function = "rsvd4";
546 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
547 nvidia,tristate = <TEGRA_PIN_ENABLE>;
548 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
549 };
550 dap4_din_pp5 {
551 nvidia,pins = "dap4_din_pp5";
552 nvidia,function = "rsvd3";
553 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
554 nvidia,tristate = <TEGRA_PIN_ENABLE>;
555 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
556 };
557 dap4_dout_pp6 {
558 nvidia,pins = "dap4_dout_pp6";
559 nvidia,function = "rsvd4";
560 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
561 nvidia,tristate = <TEGRA_PIN_ENABLE>;
562 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
563 };
564 dap4_sclk_pp7 {
565 nvidia,pins = "dap4_sclk_pp7";
566 nvidia,function = "rsvd3";
567 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
568 nvidia,tristate = <TEGRA_PIN_ENABLE>;
569 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
570 };
571 kb_col0_pq0 {
572 nvidia,pins = "kb_col0_pq0";
573 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
574 nvidia,tristate = <TEGRA_PIN_DISABLE>;
575 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
576 };
577 kb_col1_pq1 {
578 nvidia,pins = "kb_col1_pq1";
579 nvidia,function = "rsvd2";
580 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
581 nvidia,tristate = <TEGRA_PIN_ENABLE>;
582 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
583 };
584 kb_col2_pq2 {
585 nvidia,pins = "kb_col2_pq2";
586 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
587 nvidia,tristate = <TEGRA_PIN_DISABLE>;
588 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
589 };
590 kb_col3_pq3 {
591 nvidia,pins = "kb_col3_pq3";
592 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
593 nvidia,tristate = <TEGRA_PIN_DISABLE>;
594 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
595 };
596 kb_col4_pq4 {
597 nvidia,pins = "kb_col4_pq4";
598 nvidia,function = "sdmmc3";
599 nvidia,pull = <TEGRA_PIN_PULL_UP>;
600 nvidia,tristate = <TEGRA_PIN_DISABLE>;
601 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
602 };
603 kb_col5_pq5 {
604 nvidia,pins = "kb_col5_pq5";
605 nvidia,function = "rsvd2";
606 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
607 nvidia,tristate = <TEGRA_PIN_ENABLE>;
608 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
609 };
610 kb_col6_pq6 {
611 nvidia,pins = "kb_col6_pq6";
612 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
613 nvidia,tristate = <TEGRA_PIN_DISABLE>;
614 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
615 };
616 kb_col7_pq7 {
617 nvidia,pins = "kb_col7_pq7";
618 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
619 nvidia,tristate = <TEGRA_PIN_DISABLE>;
620 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
621 };
622 kb_row0_pr0 {
623 nvidia,pins = "kb_row0_pr0";
624 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
625 nvidia,tristate = <TEGRA_PIN_DISABLE>;
626 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
627 };
628 kb_row1_pr1 {
629 nvidia,pins = "kb_row1_pr1";
630 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
631 nvidia,tristate = <TEGRA_PIN_DISABLE>;
632 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
633 };
634 kb_row2_pr2 {
635 nvidia,pins = "kb_row2_pr2";
636 nvidia,function = "rsvd2";
637 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
638 nvidia,tristate = <TEGRA_PIN_ENABLE>;
639 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
640 };
641 kb_row3_pr3 {
642 nvidia,pins = "kb_row3_pr3";
643 nvidia,function = "kbc";
644 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
645 nvidia,tristate = <TEGRA_PIN_ENABLE>;
646 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
647 };
648 kb_row4_pr4 {
649 nvidia,pins = "kb_row4_pr4";
650 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
651 nvidia,tristate = <TEGRA_PIN_DISABLE>;
652 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
653 };
654 kb_row5_pr5 {
655 nvidia,pins = "kb_row5_pr5";
656 nvidia,function = "rsvd3";
657 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
658 nvidia,tristate = <TEGRA_PIN_ENABLE>;
659 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
660 };
661 kb_row6_pr6 {
662 nvidia,pins = "kb_row6_pr6";
663 nvidia,function = "kbc";
664 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
665 nvidia,tristate = <TEGRA_PIN_ENABLE>;
666 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
667 };
668 kb_row7_pr7 {
669 nvidia,pins = "kb_row7_pr7";
670 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
671 nvidia,tristate = <TEGRA_PIN_DISABLE>;
672 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
673 };
674 kb_row8_ps0 {
675 nvidia,pins = "kb_row8_ps0";
676 nvidia,function = "rsvd2";
677 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
678 nvidia,tristate = <TEGRA_PIN_ENABLE>;
679 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
680 };
681 kb_row9_ps1 {
682 nvidia,pins = "kb_row9_ps1";
683 nvidia,function = "uarta";
684 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
685 nvidia,tristate = <TEGRA_PIN_DISABLE>;
686 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
687 };
688 kb_row10_ps2 {
689 nvidia,pins = "kb_row10_ps2";
690 nvidia,function = "uarta";
691 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
692 nvidia,tristate = <TEGRA_PIN_DISABLE>;
693 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
694 };
695 kb_row11_ps3 {
696 nvidia,pins = "kb_row11_ps3";
697 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
698 nvidia,tristate = <TEGRA_PIN_DISABLE>;
699 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
700 };
701 kb_row12_ps4 {
702 nvidia,pins = "kb_row12_ps4";
703 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
704 nvidia,tristate = <TEGRA_PIN_DISABLE>;
705 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
706 };
707 kb_row13_ps5 {
708 nvidia,pins = "kb_row13_ps5";
709 nvidia,function = "rsvd2";
710 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
711 nvidia,tristate = <TEGRA_PIN_ENABLE>;
712 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
713 };
714 kb_row14_ps6 {
715 nvidia,pins = "kb_row14_ps6";
716 nvidia,function = "rsvd2";
717 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
718 nvidia,tristate = <TEGRA_PIN_ENABLE>;
719 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
720 };
721 kb_row15_ps7 {
722 nvidia,pins = "kb_row15_ps7";
723 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
724 nvidia,tristate = <TEGRA_PIN_DISABLE>;
725 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
726 };
727 kb_row16_pt0 {
728 nvidia,pins = "kb_row16_pt0";
729 nvidia,function = "rsvd2";
730 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
731 nvidia,tristate = <TEGRA_PIN_ENABLE>;
732 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
733 };
734 kb_row17_pt1 {
735 nvidia,pins = "kb_row17_pt1";
736 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
737 nvidia,tristate = <TEGRA_PIN_DISABLE>;
738 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
739 };
740 gen2_i2c_scl_pt5 {
741 nvidia,pins = "gen2_i2c_scl_pt5";
742 nvidia,function = "i2c2";
743 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
744 nvidia,tristate = <TEGRA_PIN_DISABLE>;
745 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
746 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
747 };
748 gen2_i2c_sda_pt6 {
749 nvidia,pins = "gen2_i2c_sda_pt6";
750 nvidia,function = "i2c2";
751 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
752 nvidia,tristate = <TEGRA_PIN_DISABLE>;
753 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
754 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
755 };
756 sdmmc4_cmd_pt7 {
757 nvidia,pins = "sdmmc4_cmd_pt7";
758 nvidia,function = "sdmmc4";
759 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
760 nvidia,tristate = <TEGRA_PIN_DISABLE>;
761 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
762 };
763 pu0 {
764 nvidia,pins = "pu0";
765 nvidia,function = "rsvd4";
766 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
767 nvidia,tristate = <TEGRA_PIN_ENABLE>;
768 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
769 };
770 pu1 {
771 nvidia,pins = "pu1";
772 nvidia,function = "rsvd1";
773 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
774 nvidia,tristate = <TEGRA_PIN_ENABLE>;
775 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
776 };
777 pu2 {
778 nvidia,pins = "pu2";
779 nvidia,function = "rsvd1";
780 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
781 nvidia,tristate = <TEGRA_PIN_ENABLE>;
782 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
783 };
784 pu3 {
785 nvidia,pins = "pu3";
786 nvidia,function = "gmi";
787 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
788 nvidia,tristate = <TEGRA_PIN_ENABLE>;
789 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
790 };
791 pu4 {
792 nvidia,pins = "pu4";
793 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
794 nvidia,tristate = <TEGRA_PIN_DISABLE>;
795 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
796 };
797 pu5 {
798 nvidia,pins = "pu5";
799 nvidia,pull = <TEGRA_PIN_PULL_UP>;
800 nvidia,tristate = <TEGRA_PIN_DISABLE>;
801 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
802 };
803 pu6 {
804 nvidia,pins = "pu6";
805 nvidia,pull = <TEGRA_PIN_PULL_UP>;
806 nvidia,tristate = <TEGRA_PIN_DISABLE>;
807 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
808 };
809 pv0 {
810 nvidia,pins = "pv0";
811 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
812 nvidia,tristate = <TEGRA_PIN_DISABLE>;
813 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
814 };
815 pv1 {
816 nvidia,pins = "pv1";
817 nvidia,function = "rsvd1";
818 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
819 nvidia,tristate = <TEGRA_PIN_ENABLE>;
820 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
821 };
822 sdmmc3_cd_n_pv2 {
823 nvidia,pins = "sdmmc3_cd_n_pv2";
824 nvidia,function = "sdmmc3";
825 nvidia,pull = <TEGRA_PIN_PULL_UP>;
826 nvidia,tristate = <TEGRA_PIN_DISABLE>;
827 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
828 };
829 sdmmc1_wp_n_pv3 {
830 nvidia,pins = "sdmmc1_wp_n_pv3";
831 nvidia,function = "sdmmc1";
832 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
833 nvidia,tristate = <TEGRA_PIN_ENABLE>;
834 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
835 };
836 ddc_scl_pv4 {
837 nvidia,pins = "ddc_scl_pv4";
838 nvidia,function = "i2c4";
839 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
840 nvidia,tristate = <TEGRA_PIN_DISABLE>;
841 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
842 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
843 };
844 ddc_sda_pv5 {
845 nvidia,pins = "ddc_sda_pv5";
846 nvidia,function = "i2c4";
847 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
848 nvidia,tristate = <TEGRA_PIN_DISABLE>;
849 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
850 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
851 };
852 gpio_w2_aud_pw2 {
853 nvidia,pins = "gpio_w2_aud_pw2";
854 nvidia,function = "rsvd2";
855 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
856 nvidia,tristate = <TEGRA_PIN_ENABLE>;
857 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
858 };
859 gpio_w3_aud_pw3 {
860 nvidia,pins = "gpio_w3_aud_pw3";
861 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
862 nvidia,tristate = <TEGRA_PIN_DISABLE>;
863 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
864 };
865 dap_mclk1_pw4 {
866 nvidia,pins = "dap_mclk1_pw4";
867 nvidia,function = "extperiph1";
868 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
869 nvidia,tristate = <TEGRA_PIN_DISABLE>;
870 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
871 };
872 clk2_out_pw5 {
873 nvidia,pins = "clk2_out_pw5";
874 nvidia,function = "rsvd2";
875 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
876 nvidia,tristate = <TEGRA_PIN_ENABLE>;
877 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
878 };
879 uart3_txd_pw6 {
880 nvidia,pins = "uart3_txd_pw6";
881 nvidia,function = "rsvd2";
882 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
883 nvidia,tristate = <TEGRA_PIN_ENABLE>;
884 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
885 };
886 uart3_rxd_pw7 {
887 nvidia,pins = "uart3_rxd_pw7";
888 nvidia,function = "rsvd2";
889 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
890 nvidia,tristate = <TEGRA_PIN_ENABLE>;
891 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
892 };
893 dvfs_pwm_px0 {
894 nvidia,pins = "dvfs_pwm_px0";
895 nvidia,function = "cldvfs";
896 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
897 nvidia,tristate = <TEGRA_PIN_DISABLE>;
898 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
899 };
900 gpio_x1_aud_px1 {
901 nvidia,pins = "gpio_x1_aud_px1";
902 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
903 nvidia,tristate = <TEGRA_PIN_DISABLE>;
904 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
905 };
906 dvfs_clk_px2 {
907 nvidia,pins = "dvfs_clk_px2";
908 nvidia,function = "cldvfs";
909 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
910 nvidia,tristate = <TEGRA_PIN_DISABLE>;
911 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
912 };
913 gpio_x3_aud_px3 {
914 nvidia,pins = "gpio_x3_aud_px3";
915 nvidia,function = "rsvd4";
916 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
917 nvidia,tristate = <TEGRA_PIN_ENABLE>;
918 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
919 };
920 gpio_x4_aud_px4 {
921 nvidia,pins = "gpio_x4_aud_px4";
922 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
923 nvidia,tristate = <TEGRA_PIN_DISABLE>;
924 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
925 };
926 gpio_x5_aud_px5 {
927 nvidia,pins = "gpio_x5_aud_px5";
928 nvidia,function = "rsvd4";
929 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
930 nvidia,tristate = <TEGRA_PIN_ENABLE>;
931 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
932 };
933 gpio_x6_aud_px6 {
934 nvidia,pins = "gpio_x6_aud_px6";
935 nvidia,function = "gmi";
936 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
937 nvidia,tristate = <TEGRA_PIN_ENABLE>;
938 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
939 };
940 gpio_x7_aud_px7 {
941 nvidia,pins = "gpio_x7_aud_px7";
942 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
943 nvidia,tristate = <TEGRA_PIN_DISABLE>;
944 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
945 };
946 ulpi_clk_py0 {
947 nvidia,pins = "ulpi_clk_py0";
948 nvidia,function = "spi1";
949 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
950 nvidia,tristate = <TEGRA_PIN_DISABLE>;
951 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
952 };
953 ulpi_dir_py1 {
954 nvidia,pins = "ulpi_dir_py1";
955 nvidia,function = "spi1";
956 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
957 nvidia,tristate = <TEGRA_PIN_DISABLE>;
958 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
959 };
960 ulpi_nxt_py2 {
961 nvidia,pins = "ulpi_nxt_py2";
962 nvidia,function = "spi1";
963 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
964 nvidia,tristate = <TEGRA_PIN_DISABLE>;
965 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
966 };
967 ulpi_stp_py3 {
968 nvidia,pins = "ulpi_stp_py3";
969 nvidia,function = "spi1";
970 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
971 nvidia,tristate = <TEGRA_PIN_DISABLE>;
972 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
973 };
974 sdmmc1_dat3_py4 {
975 nvidia,pins = "sdmmc1_dat3_py4";
976 nvidia,function = "sdmmc1";
977 nvidia,pull = <TEGRA_PIN_PULL_UP>;
978 nvidia,tristate = <TEGRA_PIN_DISABLE>;
979 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
980 };
981 sdmmc1_dat2_py5 {
982 nvidia,pins = "sdmmc1_dat2_py5";
983 nvidia,function = "sdmmc1";
984 nvidia,pull = <TEGRA_PIN_PULL_UP>;
985 nvidia,tristate = <TEGRA_PIN_DISABLE>;
986 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
987 };
988 sdmmc1_dat1_py6 {
989 nvidia,pins = "sdmmc1_dat1_py6";
990 nvidia,function = "sdmmc1";
991 nvidia,pull = <TEGRA_PIN_PULL_UP>;
992 nvidia,tristate = <TEGRA_PIN_DISABLE>;
993 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
994 };
995 sdmmc1_dat0_py7 {
996 nvidia,pins = "sdmmc1_dat0_py7";
997 nvidia,function = "sdmmc1";
998 nvidia,pull = <TEGRA_PIN_PULL_UP>;
999 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1000 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1001 };
1002 sdmmc1_clk_pz0 {
1003 nvidia,pins = "sdmmc1_clk_pz0";
1004 nvidia,function = "sdmmc1";
1005 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1006 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1007 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1008 };
1009 sdmmc1_cmd_pz1 {
1010 nvidia,pins = "sdmmc1_cmd_pz1";
1011 nvidia,function = "sdmmc1";
1012 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1013 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1014 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1015 };
1016 pwr_i2c_scl_pz6 {
1017 nvidia,pins = "pwr_i2c_scl_pz6";
1018 nvidia,function = "i2cpwr";
1019 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1020 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1021 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1022 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1023 };
1024 pwr_i2c_sda_pz7 {
1025 nvidia,pins = "pwr_i2c_sda_pz7";
1026 nvidia,function = "i2cpwr";
1027 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1028 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1029 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1030 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1031 };
1032 sdmmc4_dat0_paa0 {
1033 nvidia,pins = "sdmmc4_dat0_paa0";
1034 nvidia,function = "sdmmc4";
1035 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1036 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1037 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1038 };
1039 sdmmc4_dat1_paa1 {
1040 nvidia,pins = "sdmmc4_dat1_paa1";
1041 nvidia,function = "sdmmc4";
1042 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1043 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1044 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1045 };
1046 sdmmc4_dat2_paa2 {
1047 nvidia,pins = "sdmmc4_dat2_paa2";
1048 nvidia,function = "sdmmc4";
1049 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1050 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1051 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1052 };
1053 sdmmc4_dat3_paa3 {
1054 nvidia,pins = "sdmmc4_dat3_paa3";
1055 nvidia,function = "sdmmc4";
1056 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1057 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1058 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1059 };
1060 sdmmc4_dat4_paa4 {
1061 nvidia,pins = "sdmmc4_dat4_paa4";
1062 nvidia,function = "sdmmc4";
1063 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1064 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1065 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1066 };
1067 sdmmc4_dat5_paa5 {
1068 nvidia,pins = "sdmmc4_dat5_paa5";
1069 nvidia,function = "sdmmc4";
1070 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1071 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1072 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1073 };
1074 sdmmc4_dat6_paa6 {
1075 nvidia,pins = "sdmmc4_dat6_paa6";
1076 nvidia,function = "sdmmc4";
1077 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1078 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1079 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1080 };
1081 sdmmc4_dat7_paa7 {
1082 nvidia,pins = "sdmmc4_dat7_paa7";
1083 nvidia,function = "sdmmc4";
1084 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1085 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1086 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1087 };
1088 pbb0 {
1089 nvidia,pins = "pbb0";
1090 nvidia,function = "vgp6";
1091 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1092 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1093 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1094 };
1095 cam_i2c_scl_pbb1 {
1096 nvidia,pins = "cam_i2c_scl_pbb1";
1097 nvidia,function = "rsvd3";
1098 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1099 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1100 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1101 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1102 };
1103 cam_i2c_sda_pbb2 {
1104 nvidia,pins = "cam_i2c_sda_pbb2";
1105 nvidia,function = "rsvd3";
1106 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1107 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1108 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1109 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1110 };
1111 pbb3 {
1112 nvidia,pins = "pbb3";
1113 nvidia,function = "vgp3";
1114 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1115 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1116 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1117 };
1118 pbb4 {
1119 nvidia,pins = "pbb4";
1120 nvidia,function = "vgp4";
1121 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1122 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1123 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1124 };
1125 pbb5 {
1126 nvidia,pins = "pbb5";
1127 nvidia,function = "rsvd3";
1128 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1129 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1130 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1131 };
1132 pbb6 {
1133 nvidia,pins = "pbb6";
1134 nvidia,function = "rsvd2";
1135 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1136 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1137 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1138 };
1139 pbb7 {
1140 nvidia,pins = "pbb7";
1141 nvidia,function = "rsvd2";
1142 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1143 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1144 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1145 };
1146 cam_mclk_pcc0 {
1147 nvidia,pins = "cam_mclk_pcc0";
1148 nvidia,function = "vi";
1149 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1150 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1151 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1152 };
1153 pcc1 {
1154 nvidia,pins = "pcc1";
1155 nvidia,function = "rsvd2";
1156 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1157 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1158 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1159 };
1160 pcc2 {
1161 nvidia,pins = "pcc2";
1162 nvidia,function = "rsvd2";
1163 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1164 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1165 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1166 };
1167 sdmmc4_clk_pcc4 {
1168 nvidia,pins = "sdmmc4_clk_pcc4";
1169 nvidia,function = "sdmmc4";
1170 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1171 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1172 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1173 };
1174 clk2_req_pcc5 {
1175 nvidia,pins = "clk2_req_pcc5";
1176 nvidia,function = "rsvd2";
1177 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1178 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1179 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1180 };
1181 pex_l0_rst_n_pdd1 {
1182 nvidia,pins = "pex_l0_rst_n_pdd1";
1183 nvidia,function = "rsvd2";
1184 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1185 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1186 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1187 };
1188 pex_l0_clkreq_n_pdd2 {
1189 nvidia,pins = "pex_l0_clkreq_n_pdd2";
1190 nvidia,function = "rsvd2";
1191 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1192 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1193 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1194 };
1195 pex_wake_n_pdd3 {
1196 nvidia,pins = "pex_wake_n_pdd3";
1197 nvidia,function = "rsvd2";
1198 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1199 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1200 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1201 };
1202 pex_l1_rst_n_pdd5 {
1203 nvidia,pins = "pex_l1_rst_n_pdd5";
1204 nvidia,function = "rsvd2";
1205 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1206 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1207 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1208 };
1209 pex_l1_clkreq_n_pdd6 {
1210 nvidia,pins = "pex_l1_clkreq_n_pdd6";
1211 nvidia,function = "rsvd2";
1212 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1213 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1214 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1215 };
1216 clk3_out_pee0 {
1217 nvidia,pins = "clk3_out_pee0";
1218 nvidia,function = "rsvd2";
1219 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1220 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1221 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1222 };
1223 clk3_req_pee1 {
1224 nvidia,pins = "clk3_req_pee1";
1225 nvidia,function = "rsvd2";
1226 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1227 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1228 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1229 };
1230 dap_mclk1_req_pee2 {
1231 nvidia,pins = "dap_mclk1_req_pee2";
1232 nvidia,function = "rsvd4";
1233 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1234 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1235 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1236 };
1237 hdmi_cec_pee3 {
1238 nvidia,pins = "hdmi_cec_pee3";
1239 nvidia,function = "cec";
1240 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1241 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1242 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1243 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1244 };
1245 sdmmc3_clk_lb_out_pee4 {
1246 nvidia,pins = "sdmmc3_clk_lb_out_pee4";
1247 nvidia,function = "sdmmc3";
1248 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1249 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1250 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1251 };
1252 sdmmc3_clk_lb_in_pee5 {
1253 nvidia,pins = "sdmmc3_clk_lb_in_pee5";
1254 nvidia,function = "sdmmc3";
1255 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1256 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1257 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1258 };
1259 dp_hpd_pff0 {
1260 nvidia,pins = "dp_hpd_pff0";
1261 nvidia,function = "dp";
1262 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1263 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1264 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1265 };
1266 usb_vbus_en2_pff1 {
1267 nvidia,pins = "usb_vbus_en2_pff1";
1268 nvidia,function = "rsvd2";
1269 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1270 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1271 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1272 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1273 };
1274 pff2 {
1275 nvidia,pins = "pff2";
1276 nvidia,function = "rsvd2";
1277 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1278 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1279 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1280 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1281 };
1282 core_pwr_req {
1283 nvidia,pins = "core_pwr_req";
1284 nvidia,function = "pwron";
1285 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1286 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1287 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1288 };
1289 cpu_pwr_req {
1290 nvidia,pins = "cpu_pwr_req";
1291 nvidia,function = "cpu";
1292 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1293 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1294 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1295 };
1296 pwr_int_n {
1297 nvidia,pins = "pwr_int_n";
1298 nvidia,function = "pmi";
1299 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1300 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1301 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1302 };
1303 reset_out_n {
1304 nvidia,pins = "reset_out_n";
1305 nvidia,function = "reset_out_n";
1306 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1307 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1308 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1309 };
1310 owr {
1311 nvidia,pins = "owr";
1312 nvidia,function = "rsvd2";
1313 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1314 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1315 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1316 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
1317 };
1318 clk_32k_in {
1319 nvidia,pins = "clk_32k_in";
1320 nvidia,function = "clk";
1321 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1322 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1323 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1324 };
1325 jtag_rtck {
1326 nvidia,pins = "jtag_rtck";
1327 nvidia,function = "rtck";
1328 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1329 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1330 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1331 };
1332 };
1333 };
1334};
diff --git a/arch/arm/boot/dts/tegra124-nyan.dtsi b/arch/arm/boot/dts/tegra124-nyan.dtsi
new file mode 100644
index 000000000000..a9aec23e06f2
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-nyan.dtsi
@@ -0,0 +1,695 @@
1#include <dt-bindings/input/input.h>
2#include "tegra124.dtsi"
3
4/ {
5 aliases {
6 rtc0 = "/i2c@0,7000d000/pmic@40";
7 rtc1 = "/rtc@0,7000e000";
8 serial0 = &uarta;
9 };
10
11 memory {
12 reg = <0x0 0x80000000 0x0 0x80000000>;
13 };
14
15 host1x@0,50000000 {
16 hdmi@0,54280000 {
17 status = "okay";
18
19 vdd-supply = <&vdd_3v3_hdmi>;
20 pll-supply = <&vdd_hdmi_pll>;
21 hdmi-supply = <&vdd_5v0_hdmi>;
22
23 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
24 nvidia,hpd-gpio =
25 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
26 };
27
28 sor@0,54540000 {
29 status = "okay";
30
31 nvidia,dpaux = <&dpaux>;
32 nvidia,panel = <&panel>;
33 };
34
35 dpaux@0,545c0000 {
36 vdd-supply = <&vdd_3v3_panel>;
37 status = "okay";
38 };
39 };
40
41 serial@0,70006000 {
42 /* Debug connector on the bottom of the board near SD card. */
43 status = "okay";
44 };
45
46 pwm@0,7000a000 {
47 status = "okay";
48 };
49
50 i2c@0,7000c000 {
51 status = "okay";
52 clock-frequency = <100000>;
53
54 acodec: audio-codec@10 {
55 compatible = "maxim,max98090";
56 reg = <0x10>;
57 interrupt-parent = <&gpio>;
58 interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
59 };
60
61 temperature-sensor@4c {
62 compatible = "ti,tmp451";
63 reg = <0x4c>;
64 interrupt-parent = <&gpio>;
65 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
66
67 #thermal-sensor-cells = <1>;
68 };
69 };
70
71 i2c@0,7000c400 {
72 status = "okay";
73 clock-frequency = <100000>;
74
75 trackpad@15 {
76 compatible = "elan,ekth3000";
77 reg = <0x15>;
78 interrupt-parent = <&gpio>;
79 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
80 wakeup-source;
81 };
82 };
83
84 i2c@0,7000c500 {
85 status = "okay";
86 clock-frequency = <400000>;
87
88 tpm@20 {
89 compatible = "infineon,slb9645tt";
90 reg = <0x20>;
91 };
92 };
93
94 hdmi_ddc: i2c@0,7000c700 {
95 status = "okay";
96 clock-frequency = <100000>;
97 };
98
99 i2c@0,7000d000 {
100 status = "okay";
101 clock-frequency = <400000>;
102
103 pmic: pmic@40 {
104 compatible = "ams,as3722";
105 reg = <0x40>;
106 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
107
108 ams,system-power-controller;
109
110 #interrupt-cells = <2>;
111 interrupt-controller;
112
113 gpio-controller;
114 #gpio-cells = <2>;
115
116 pinctrl-names = "default";
117 pinctrl-0 = <&as3722_default>;
118
119 as3722_default: pinmux {
120 gpio0 {
121 pins = "gpio0";
122 function = "gpio";
123 bias-pull-down;
124 };
125
126 gpio1 {
127 pins = "gpio1";
128 function = "gpio";
129 bias-pull-up;
130 };
131
132 gpio2_4_7 {
133 pins = "gpio2", "gpio4", "gpio7";
134 function = "gpio";
135 bias-pull-up;
136 };
137
138 gpio3_6 {
139 pins = "gpio3", "gpio6";
140 bias-high-impedance;
141 };
142
143 gpio5 {
144 pins = "gpio5";
145 function = "clk32k-out";
146 bias-pull-down;
147 };
148 };
149
150 regulators {
151 vsup-sd2-supply = <&vdd_5v0_sys>;
152 vsup-sd3-supply = <&vdd_5v0_sys>;
153 vsup-sd4-supply = <&vdd_5v0_sys>;
154 vsup-sd5-supply = <&vdd_5v0_sys>;
155 vin-ldo0-supply = <&vdd_1v35_lp0>;
156 vin-ldo1-6-supply = <&vdd_3v3_run>;
157 vin-ldo2-5-7-supply = <&vddio_1v8>;
158 vin-ldo3-4-supply = <&vdd_3v3_sys>;
159 vin-ldo9-10-supply = <&vdd_5v0_sys>;
160 vin-ldo11-supply = <&vdd_3v3_run>;
161
162 sd0 {
163 regulator-name = "+VDD_CPU_AP";
164 regulator-min-microvolt = <700000>;
165 regulator-max-microvolt = <1350000>;
166 regulator-min-microamp = <3500000>;
167 regulator-max-microamp = <3500000>;
168 regulator-always-on;
169 regulator-boot-on;
170 ams,ext-control = <2>;
171 };
172
173 sd1 {
174 regulator-name = "+VDD_CORE";
175 regulator-min-microvolt = <700000>;
176 regulator-max-microvolt = <1350000>;
177 regulator-min-microamp = <2500000>;
178 regulator-max-microamp = <4000000>;
179 regulator-always-on;
180 regulator-boot-on;
181 ams,ext-control = <1>;
182 };
183
184 vdd_1v35_lp0: sd2 {
185 regulator-name = "+1.35V_LP0(sd2)";
186 regulator-min-microvolt = <1350000>;
187 regulator-max-microvolt = <1350000>;
188 regulator-always-on;
189 regulator-boot-on;
190 };
191
192 sd3 {
193 regulator-name = "+1.35V_LP0(sd3)";
194 regulator-min-microvolt = <1350000>;
195 regulator-max-microvolt = <1350000>;
196 regulator-always-on;
197 regulator-boot-on;
198 };
199
200 vdd_1v05_run: sd4 {
201 regulator-name = "+1.05V_RUN";
202 regulator-min-microvolt = <1050000>;
203 regulator-max-microvolt = <1050000>;
204 };
205
206 vddio_1v8: sd5 {
207 regulator-name = "+1.8V_VDDIO";
208 regulator-min-microvolt = <1800000>;
209 regulator-max-microvolt = <1800000>;
210 regulator-always-on;
211 };
212
213 sd6 {
214 regulator-name = "+VDD_GPU_AP";
215 regulator-min-microvolt = <650000>;
216 regulator-max-microvolt = <1200000>;
217 regulator-min-microamp = <3500000>;
218 regulator-max-microamp = <3500000>;
219 regulator-boot-on;
220 regulator-always-on;
221 };
222
223 ldo0 {
224 regulator-name = "+1.05V_RUN_AVDD";
225 regulator-min-microvolt = <1050000>;
226 regulator-max-microvolt = <1050000>;
227 regulator-boot-on;
228 regulator-always-on;
229 ams,ext-control = <1>;
230 };
231
232 ldo1 {
233 regulator-name = "+1.8V_RUN_CAM";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 };
237
238 ldo2 {
239 regulator-name = "+1.2V_GEN_AVDD";
240 regulator-min-microvolt = <1200000>;
241 regulator-max-microvolt = <1200000>;
242 regulator-boot-on;
243 regulator-always-on;
244 };
245
246 ldo3 {
247 regulator-name = "+1.00V_LP0_VDD_RTC";
248 regulator-min-microvolt = <1000000>;
249 regulator-max-microvolt = <1000000>;
250 regulator-boot-on;
251 regulator-always-on;
252 ams,enable-tracking;
253 };
254
255 vdd_run_cam: ldo4 {
256 regulator-name = "+3.3V_RUN_CAM";
257 regulator-min-microvolt = <2800000>;
258 regulator-max-microvolt = <2800000>;
259 };
260
261 ldo5 {
262 regulator-name = "+1.2V_RUN_CAM_FRONT";
263 regulator-min-microvolt = <1200000>;
264 regulator-max-microvolt = <1200000>;
265 };
266
267 vddio_sdmmc3: ldo6 {
268 regulator-name = "+VDDIO_SDMMC3";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <3300000>;
271 };
272
273 ldo7 {
274 regulator-name = "+1.05V_RUN_CAM_REAR";
275 regulator-min-microvolt = <1050000>;
276 regulator-max-microvolt = <1050000>;
277 };
278
279 ldo9 {
280 regulator-name = "+2.8V_RUN_TOUCH";
281 regulator-min-microvolt = <2800000>;
282 regulator-max-microvolt = <2800000>;
283 };
284
285 ldo10 {
286 regulator-name = "+2.8V_RUN_CAM_AF";
287 regulator-min-microvolt = <2800000>;
288 regulator-max-microvolt = <2800000>;
289 };
290
291 ldo11 {
292 regulator-name = "+1.8V_RUN_VPP_FUSE";
293 regulator-min-microvolt = <1800000>;
294 regulator-max-microvolt = <1800000>;
295 };
296 };
297 };
298 };
299
300 spi@0,7000d400 {
301 status = "okay";
302
303 cros_ec: cros-ec@0 {
304 compatible = "google,cros-ec-spi";
305 spi-max-frequency = <3000000>;
306 interrupt-parent = <&gpio>;
307 interrupts = <TEGRA_GPIO(C, 7) IRQ_TYPE_LEVEL_LOW>;
308 reg = <0>;
309
310 google,cros-ec-spi-msg-delay = <2000>;
311
312 i2c-tunnel {
313 compatible = "google,cros-ec-i2c-tunnel";
314 #address-cells = <1>;
315 #size-cells = <0>;
316
317 google,remote-bus = <0>;
318
319 charger: bq24735@9 {
320 compatible = "ti,bq24735";
321 reg = <0x9>;
322 interrupt-parent = <&gpio>;
323 interrupts = <TEGRA_GPIO(J, 0)
324 GPIO_ACTIVE_HIGH>;
325 ti,ac-detect-gpios = <&gpio
326 TEGRA_GPIO(J, 0)
327 GPIO_ACTIVE_HIGH>;
328 };
329
330 battery: sbs-battery@b {
331 compatible = "sbs,sbs-battery";
332 reg = <0xb>;
333 sbs,i2c-retry-count = <2>;
334 sbs,poll-retry-count = <10>;
335 power-supplies = <&charger>;
336 };
337 };
338 };
339 };
340
341 spi@0,7000da00 {
342 status = "okay";
343 spi-max-frequency = <25000000>;
344
345 flash@0 {
346 compatible = "winbond,w25q32dw";
347 spi-max-frequency = <25000000>;
348 reg = <0>;
349 };
350 };
351
352 pmc@0,7000e400 {
353 nvidia,invert-interrupt;
354 nvidia,suspend-mode = <0>;
355 nvidia,cpu-pwr-good-time = <500>;
356 nvidia,cpu-pwr-off-time = <300>;
357 nvidia,core-pwr-good-time = <641 3845>;
358 nvidia,core-pwr-off-time = <61036>;
359 nvidia,core-power-req-active-high;
360 nvidia,sys-clock-req-active-high;
361 };
362
363 hda@0,70030000 {
364 status = "okay";
365 };
366
367 sdhci0_pwrseq: sdhci0_pwrseq {
368 compatible = "mmc-pwrseq-simple";
369
370 reset-gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>;
371 };
372
373 sdhci@0,700b0000 { /* WiFi/BT on this bus */
374 status = "okay";
375 bus-width = <4>;
376 no-1-8-v;
377 non-removable;
378 mmc-pwrseq = <&sdhci0_pwrseq>;
379 vmmc-supply = <&vdd_3v3_lp0>;
380 vqmmc-supply = <&vddio_1v8>;
381 keep-power-in-suspend;
382 };
383
384 sdhci@0,700b0400 { /* SD Card on this bus */
385 status = "okay";
386 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
387 power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
388 bus-width = <4>;
389 no-1-8-v;
390 vqmmc-supply = <&vddio_sdmmc3>;
391 };
392
393 sdhci@0,700b0600 { /* eMMC on this bus */
394 status = "okay";
395 bus-width = <8>;
396 no-1-8-v;
397 non-removable;
398 };
399
400 ahub@0,70300000 {
401 i2s@0,70301100 {
402 status = "okay";
403 };
404 };
405
406 usb@0,7d000000 { /* Rear external USB port. */
407 status = "okay";
408 };
409
410 usb-phy@0,7d000000 {
411 status = "okay";
412 vbus-supply = <&vdd_usb1_vbus>;
413 };
414
415 usb@0,7d004000 { /* Internal webcam. */
416 status = "okay";
417 };
418
419 usb-phy@0,7d004000 {
420 status = "okay";
421 vbus-supply = <&vdd_run_cam>;
422 };
423
424 usb@0,7d008000 { /* Left external USB port. */
425 status = "okay";
426 };
427
428 usb-phy@0,7d008000 {
429 status = "okay";
430 vbus-supply = <&vdd_usb3_vbus>;
431 };
432
433 backlight: backlight {
434 compatible = "pwm-backlight";
435
436 enable-gpios = <&gpio TEGRA_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
437 power-supply = <&vdd_led>;
438 pwms = <&pwm 1 1000000>;
439
440 default-brightness-level = <224>;
441 brightness-levels =
442 < 0 1 2 3 4 5 6 7
443 8 9 10 11 12 13 14 15
444 16 17 18 19 20 21 22 23
445 24 25 26 27 28 29 30 31
446 32 33 34 35 36 37 38 39
447 40 41 42 43 44 45 46 47
448 48 49 50 51 52 53 54 55
449 56 57 58 59 60 61 62 63
450 64 65 66 67 68 69 70 71
451 72 73 74 75 76 77 78 79
452 80 81 82 83 84 85 86 87
453 88 89 90 91 92 93 94 95
454 96 97 98 99 100 101 102 103
455 104 105 106 107 108 109 110 111
456 112 113 114 115 116 117 118 119
457 120 121 122 123 124 125 126 127
458 128 129 130 131 132 133 134 135
459 136 137 138 139 140 141 142 143
460 144 145 146 147 148 149 150 151
461 152 153 154 155 156 157 158 159
462 160 161 162 163 164 165 166 167
463 168 169 170 171 172 173 174 175
464 176 177 178 179 180 181 182 183
465 184 185 186 187 188 189 190 191
466 192 193 194 195 196 197 198 199
467 200 201 202 203 204 205 206 207
468 208 209 210 211 212 213 214 215
469 216 217 218 219 220 221 222 223
470 224 225 226 227 228 229 230 231
471 232 233 234 235 236 237 238 239
472 240 241 242 243 244 245 246 247
473 248 249 250 251 252 253 254 255
474 256>;
475 };
476
477 clocks {
478 compatible = "simple-bus";
479 #address-cells = <1>;
480 #size-cells = <0>;
481
482 clk32k_in: clock@0 {
483 compatible = "fixed-clock";
484 reg = <0>;
485 #clock-cells = <0>;
486 clock-frequency = <32768>;
487 };
488 };
489
490 gpio-keys {
491 compatible = "gpio-keys";
492
493 lid {
494 label = "Lid";
495 gpios = <&gpio TEGRA_GPIO(R, 4) GPIO_ACTIVE_LOW>;
496 linux,input-type = <5>;
497 linux,code = <KEY_RESERVED>;
498 debounce-interval = <1>;
499 gpio-key,wakeup;
500 };
501
502 power {
503 label = "Power";
504 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
505 linux,code = <KEY_POWER>;
506 debounce-interval = <30>;
507 gpio-key,wakeup;
508 };
509 };
510
511 regulators {
512 compatible = "simple-bus";
513 #address-cells = <1>;
514 #size-cells = <0>;
515
516 vdd_mux: regulator@0 {
517 compatible = "regulator-fixed";
518 reg = <0>;
519 regulator-name = "+VDD_MUX";
520 regulator-min-microvolt = <12000000>;
521 regulator-max-microvolt = <12000000>;
522 regulator-always-on;
523 regulator-boot-on;
524 };
525
526 vdd_5v0_sys: regulator@1 {
527 compatible = "regulator-fixed";
528 reg = <1>;
529 regulator-name = "+5V_SYS";
530 regulator-min-microvolt = <5000000>;
531 regulator-max-microvolt = <5000000>;
532 regulator-always-on;
533 regulator-boot-on;
534 vin-supply = <&vdd_mux>;
535 };
536
537 vdd_3v3_sys: regulator@2 {
538 compatible = "regulator-fixed";
539 reg = <2>;
540 regulator-name = "+3.3V_SYS";
541 regulator-min-microvolt = <3300000>;
542 regulator-max-microvolt = <3300000>;
543 regulator-always-on;
544 regulator-boot-on;
545 vin-supply = <&vdd_mux>;
546 };
547
548 vdd_3v3_run: regulator@3 {
549 compatible = "regulator-fixed";
550 reg = <3>;
551 regulator-name = "+3.3V_RUN";
552 regulator-min-microvolt = <3300000>;
553 regulator-max-microvolt = <3300000>;
554 regulator-always-on;
555 regulator-boot-on;
556 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
557 enable-active-high;
558 vin-supply = <&vdd_3v3_sys>;
559 };
560
561 vdd_3v3_hdmi: regulator@4 {
562 compatible = "regulator-fixed";
563 reg = <4>;
564 regulator-name = "+3.3V_AVDD_HDMI_AP_GATED";
565 regulator-min-microvolt = <3300000>;
566 regulator-max-microvolt = <3300000>;
567 vin-supply = <&vdd_3v3_run>;
568 };
569
570 vdd_led: regulator@5 {
571 compatible = "regulator-fixed";
572 reg = <5>;
573 regulator-name = "+VDD_LED";
574 gpio = <&gpio TEGRA_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
575 enable-active-high;
576 vin-supply = <&vdd_mux>;
577 };
578
579 vdd_5v0_ts: regulator@6 {
580 compatible = "regulator-fixed";
581 reg = <6>;
582 regulator-name = "+5V_VDD_TS_SW";
583 regulator-min-microvolt = <5000000>;
584 regulator-max-microvolt = <5000000>;
585 regulator-boot-on;
586 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
587 enable-active-high;
588 vin-supply = <&vdd_5v0_sys>;
589 };
590
591 vdd_usb1_vbus: regulator@7 {
592 compatible = "regulator-fixed";
593 reg = <7>;
594 regulator-name = "+5V_USB_HS";
595 regulator-min-microvolt = <5000000>;
596 regulator-max-microvolt = <5000000>;
597 gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
598 enable-active-high;
599 gpio-open-drain;
600 vin-supply = <&vdd_5v0_sys>;
601 };
602
603 vdd_usb3_vbus: regulator@8 {
604 compatible = "regulator-fixed";
605 reg = <8>;
606 regulator-name = "+5V_USB_SS";
607 regulator-min-microvolt = <5000000>;
608 regulator-max-microvolt = <5000000>;
609 gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
610 enable-active-high;
611 gpio-open-drain;
612 vin-supply = <&vdd_5v0_sys>;
613 };
614
615 vdd_3v3_panel: regulator@9 {
616 compatible = "regulator-fixed";
617 reg = <9>;
618 regulator-name = "+3.3V_PANEL";
619 regulator-min-microvolt = <3300000>;
620 regulator-max-microvolt = <3300000>;
621 gpio = <&pmic 4 GPIO_ACTIVE_HIGH>;
622 enable-active-high;
623 vin-supply = <&vdd_3v3_run>;
624 };
625
626 vdd_3v3_lp0: regulator@10 {
627 compatible = "regulator-fixed";
628 reg = <10>;
629 regulator-name = "+3.3V_LP0";
630 regulator-min-microvolt = <3300000>;
631 regulator-max-microvolt = <3300000>;
632 /*
633 * TODO: find a way to wire this up with the USB EHCI
634 * controllers so that it can be enabled on demand.
635 */
636 regulator-always-on;
637 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
638 enable-active-high;
639 vin-supply = <&vdd_3v3_sys>;
640 };
641
642 vdd_hdmi_pll: regulator@11 {
643 compatible = "regulator-fixed";
644 reg = <11>;
645 regulator-name = "+1.05V_RUN_AVDD_HDMI_PLL";
646 regulator-min-microvolt = <1050000>;
647 regulator-max-microvolt = <1050000>;
648 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
649 vin-supply = <&vdd_1v05_run>;
650 };
651
652 vdd_5v0_hdmi: regulator@12 {
653 compatible = "regulator-fixed";
654 reg = <12>;
655 regulator-name = "+5V_HDMI_CON";
656 regulator-min-microvolt = <5000000>;
657 regulator-max-microvolt = <5000000>;
658 gpio = <&gpio TEGRA_GPIO(K, 6) GPIO_ACTIVE_HIGH>;
659 enable-active-high;
660 vin-supply = <&vdd_5v0_sys>;
661 };
662 };
663
664 sound {
665 nvidia,audio-routing =
666 "Headphones", "HPR",
667 "Headphones", "HPL",
668 "Speakers", "SPKR",
669 "Speakers", "SPKL",
670 "Mic Jack", "MICBIAS",
671 "DMICL", "Int Mic",
672 "DMICR", "Int Mic",
673 "IN34", "Mic Jack";
674
675 nvidia,i2s-controller = <&tegra_i2s1>;
676 nvidia,audio-codec = <&acodec>;
677
678 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
679 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
680 <&tegra_car TEGRA124_CLK_EXTERN1>;
681 clock-names = "pll_a", "pll_a_out0", "mclk";
682
683 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>;
684 nvidia,mic-det-gpios =
685 <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
686 };
687
688 gpio-restart {
689 compatible = "gpio-restart";
690 gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
691 priority = <200>;
692 };
693};
694
695#include "cros-ec-keyboard.dtsi"
diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index db85695aa7aa..cf01c818b8ea 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -220,6 +220,7 @@
220 reg = <0x0 0x60006000 0x0 0x1000>; 220 reg = <0x0 0x60006000 0x0 0x1000>;
221 #clock-cells = <1>; 221 #clock-cells = <1>;
222 #reset-cells = <1>; 222 #reset-cells = <1>;
223 nvidia,external-memory-controller = <&emc>;
223 }; 224 };
224 225
225 flow-controller@0,60007000 { 226 flow-controller@0,60007000 {
@@ -227,6 +228,17 @@
227 reg = <0x0 0x60007000 0x0 0x1000>; 228 reg = <0x0 0x60007000 0x0 0x1000>;
228 }; 229 };
229 230
231 actmon@0,6000c800 {
232 compatible = "nvidia,tegra124-actmon";
233 reg = <0x0 0x6000c800 0x0 0x400>;
234 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
235 clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
236 <&tegra_car TEGRA124_CLK_EMC>;
237 clock-names = "actmon", "emc";
238 resets = <&tegra_car 119>;
239 reset-names = "actmon";
240 };
241
230 gpio: gpio@0,6000d000 { 242 gpio: gpio@0,6000d000 {
231 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio"; 243 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
232 reg = <0x0 0x6000d000 0x0 0x1000>; 244 reg = <0x0 0x6000d000 0x0 0x1000>;
@@ -582,6 +594,13 @@
582 #iommu-cells = <1>; 594 #iommu-cells = <1>;
583 }; 595 };
584 596
597 emc: emc@0,7001b000 {
598 compatible = "nvidia,tegra124-emc";
599 reg = <0x0 0x7001b000 0x0 0x1000>;
600
601 nvidia,memory-controller = <&mc>;
602 };
603
585 sata@0,70020000 { 604 sata@0,70020000 {
586 compatible = "nvidia,tegra124-ahci"; 605 compatible = "nvidia,tegra124-ahci";
587 606
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index 6b157eeabcc5..3dede3934446 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -62,71 +62,1652 @@
62 pinctrl-0 = <&state_default>; 62 pinctrl-0 = <&state_default>;
63 63
64 state_default: pinmux { 64 state_default: pinmux {
65 sdmmc1_clk_pz0 { 65 clk_32k_out_pa0 {
66 nvidia,pins = "sdmmc1_clk_pz0"; 66 nvidia,pins = "clk_32k_out_pa0";
67 nvidia,function = "sdmmc1"; 67 nvidia,function = "blink";
68 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 68 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
69 nvidia,tristate = <TEGRA_PIN_DISABLE>; 69 nvidia,tristate = <TEGRA_PIN_DISABLE>;
70 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
70 }; 71 };
71 sdmmc1_cmd_pz1 { 72 uart3_cts_n_pa1 {
72 nvidia,pins = "sdmmc1_cmd_pz1", 73 nvidia,pins = "uart3_cts_n_pa1";
73 "sdmmc1_dat0_py7", 74 nvidia,function = "uartc";
74 "sdmmc1_dat1_py6", 75 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
75 "sdmmc1_dat2_py5", 76 nvidia,tristate = <TEGRA_PIN_DISABLE>;
76 "sdmmc1_dat3_py4"; 77 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
77 nvidia,function = "sdmmc1"; 78 };
78 nvidia,pull = <TEGRA_PIN_PULL_UP>; 79 dap2_fs_pa2 {
80 nvidia,pins = "dap2_fs_pa2";
81 nvidia,function = "i2s1";
82 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
83 nvidia,tristate = <TEGRA_PIN_DISABLE>;
84 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
85 };
86 dap2_sclk_pa3 {
87 nvidia,pins = "dap2_sclk_pa3";
88 nvidia,function = "i2s1";
89 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
90 nvidia,tristate = <TEGRA_PIN_DISABLE>;
91 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
92 };
93 dap2_din_pa4 {
94 nvidia,pins = "dap2_din_pa4";
95 nvidia,function = "i2s1";
96 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
97 nvidia,tristate = <TEGRA_PIN_DISABLE>;
98 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
99 };
100 dap2_dout_pa5 {
101 nvidia,pins = "dap2_dout_pa5";
102 nvidia,function = "i2s1";
103 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
79 nvidia,tristate = <TEGRA_PIN_DISABLE>; 104 nvidia,tristate = <TEGRA_PIN_DISABLE>;
105 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
80 }; 106 };
81 sdmmc3_clk_pa6 { 107 sdmmc3_clk_pa6 {
82 nvidia,pins = "sdmmc3_clk_pa6"; 108 nvidia,pins = "sdmmc3_clk_pa6";
83 nvidia,function = "sdmmc3"; 109 nvidia,function = "sdmmc3";
84 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 110 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
85 nvidia,tristate = <TEGRA_PIN_DISABLE>; 111 nvidia,tristate = <TEGRA_PIN_DISABLE>;
112 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
86 }; 113 };
87 sdmmc3_cmd_pa7 { 114 sdmmc3_cmd_pa7 {
88 nvidia,pins = "sdmmc3_cmd_pa7", 115 nvidia,pins = "sdmmc3_cmd_pa7";
89 "sdmmc3_dat0_pb7",
90 "sdmmc3_dat1_pb6",
91 "sdmmc3_dat2_pb5",
92 "sdmmc3_dat3_pb4";
93 nvidia,function = "sdmmc3"; 116 nvidia,function = "sdmmc3";
94 nvidia,pull = <TEGRA_PIN_PULL_UP>; 117 nvidia,pull = <TEGRA_PIN_PULL_UP>;
95 nvidia,tristate = <TEGRA_PIN_DISABLE>; 118 nvidia,tristate = <TEGRA_PIN_DISABLE>;
119 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
96 }; 120 };
97 sdmmc4_clk_pcc4 { 121 gmi_a17_pb0 {
98 nvidia,pins = "sdmmc4_clk_pcc4", 122 nvidia,pins = "gmi_a17_pb0";
99 "sdmmc4_rst_n_pcc3"; 123 nvidia,function = "spi4";
124 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
125 nvidia,tristate = <TEGRA_PIN_DISABLE>;
126 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
127 };
128 gmi_a18_pb1 {
129 nvidia,pins = "gmi_a18_pb1";
130 nvidia,function = "spi4";
131 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
132 nvidia,tristate = <TEGRA_PIN_DISABLE>;
133 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
134 };
135 lcd_pwr0_pb2 {
136 nvidia,pins = "lcd_pwr0_pb2";
137 nvidia,function = "displaya";
138 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
139 nvidia,tristate = <TEGRA_PIN_DISABLE>;
140 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
141 };
142 lcd_pclk_pb3 {
143 nvidia,pins = "lcd_pclk_pb3";
144 nvidia,function = "displaya";
145 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
146 nvidia,tristate = <TEGRA_PIN_DISABLE>;
147 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
148 };
149 sdmmc3_dat3_pb4 {
150 nvidia,pins = "sdmmc3_dat3_pb4";
151 nvidia,function = "sdmmc3";
152 nvidia,pull = <TEGRA_PIN_PULL_UP>;
153 nvidia,tristate = <TEGRA_PIN_DISABLE>;
154 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
155 };
156 sdmmc3_dat2_pb5 {
157 nvidia,pins = "sdmmc3_dat2_pb5";
158 nvidia,function = "sdmmc3";
159 nvidia,pull = <TEGRA_PIN_PULL_UP>;
160 nvidia,tristate = <TEGRA_PIN_DISABLE>;
161 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
162 };
163 sdmmc3_dat1_pb6 {
164 nvidia,pins = "sdmmc3_dat1_pb6";
165 nvidia,function = "sdmmc3";
166 nvidia,pull = <TEGRA_PIN_PULL_UP>;
167 nvidia,tristate = <TEGRA_PIN_DISABLE>;
168 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
169 };
170 sdmmc3_dat0_pb7 {
171 nvidia,pins = "sdmmc3_dat0_pb7";
172 nvidia,function = "sdmmc3";
173 nvidia,pull = <TEGRA_PIN_PULL_UP>;
174 nvidia,tristate = <TEGRA_PIN_DISABLE>;
175 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
176 };
177 uart3_rts_n_pc0 {
178 nvidia,pins = "uart3_rts_n_pc0";
179 nvidia,function = "uartc";
180 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
181 nvidia,tristate = <TEGRA_PIN_DISABLE>;
182 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
183 };
184 lcd_pwr1_pc1 {
185 nvidia,pins = "lcd_pwr1_pc1";
186 nvidia,function = "displaya";
187 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
188 nvidia,tristate = <TEGRA_PIN_DISABLE>;
189 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
190 };
191 uart2_txd_pc2 {
192 nvidia,pins = "uart2_txd_pc2";
193 nvidia,function = "uartb";
194 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
195 nvidia,tristate = <TEGRA_PIN_DISABLE>;
196 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
197 };
198 uart2_rxd_pc3 {
199 nvidia,pins = "uart2_rxd_pc3";
200 nvidia,function = "uartb";
201 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
202 nvidia,tristate = <TEGRA_PIN_DISABLE>;
203 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
204 };
205 gen1_i2c_scl_pc4 {
206 nvidia,pins = "gen1_i2c_scl_pc4";
207 nvidia,function = "i2c1";
208 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
209 nvidia,tristate = <TEGRA_PIN_DISABLE>;
210 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
211 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
212 };
213 gen1_i2c_sda_pc5 {
214 nvidia,pins = "gen1_i2c_sda_pc5";
215 nvidia,function = "i2c1";
216 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
217 nvidia,tristate = <TEGRA_PIN_DISABLE>;
218 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
219 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
220 };
221 lcd_pwr2_pc6 {
222 nvidia,pins = "lcd_pwr2_pc6";
223 nvidia,function = "displaya";
224 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
225 nvidia,tristate = <TEGRA_PIN_DISABLE>;
226 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
227 };
228 gmi_wp_n_pc7 {
229 nvidia,pins = "gmi_wp_n_pc7";
230 nvidia,function = "gmi";
231 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
232 nvidia,tristate = <TEGRA_PIN_DISABLE>;
233 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
234 };
235 sdmmc3_dat5_pd0 {
236 nvidia,pins = "sdmmc3_dat5_pd0";
237 nvidia,function = "sdmmc3";
238 nvidia,pull = <TEGRA_PIN_PULL_UP>;
239 nvidia,tristate = <TEGRA_PIN_DISABLE>;
240 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
241 };
242 sdmmc3_dat4_pd1 {
243 nvidia,pins = "sdmmc3_dat4_pd1";
244 nvidia,function = "sdmmc3";
245 nvidia,pull = <TEGRA_PIN_PULL_UP>;
246 nvidia,tristate = <TEGRA_PIN_DISABLE>;
247 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
248 };
249 lcd_dc1_pd2 {
250 nvidia,pins = "lcd_dc1_pd2";
251 nvidia,function = "displaya";
252 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
253 nvidia,tristate = <TEGRA_PIN_DISABLE>;
254 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
255 };
256 sdmmc3_dat6_pd3 {
257 nvidia,pins = "sdmmc3_dat6_pd3";
258 nvidia,function = "rsvd1";
259 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
260 nvidia,tristate = <TEGRA_PIN_DISABLE>;
261 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
262 };
263 sdmmc3_dat7_pd4 {
264 nvidia,pins = "sdmmc3_dat7_pd4";
265 nvidia,function = "rsvd1";
266 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
267 nvidia,tristate = <TEGRA_PIN_DISABLE>;
268 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
269 };
270 vi_d1_pd5 {
271 nvidia,pins = "vi_d1_pd5";
272 nvidia,function = "sdmmc2";
273 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
274 nvidia,tristate = <TEGRA_PIN_DISABLE>;
275 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
276 };
277 vi_vsync_pd6 {
278 nvidia,pins = "vi_vsync_pd6";
279 nvidia,function = "rsvd1";
280 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
281 nvidia,tristate = <TEGRA_PIN_DISABLE>;
282 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
283 };
284 vi_hsync_pd7 {
285 nvidia,pins = "vi_hsync_pd7";
286 nvidia,function = "rsvd1";
287 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
288 nvidia,tristate = <TEGRA_PIN_DISABLE>;
289 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
290 };
291 lcd_d0_pe0 {
292 nvidia,pins = "lcd_d0_pe0";
293 nvidia,function = "displaya";
294 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
295 nvidia,tristate = <TEGRA_PIN_DISABLE>;
296 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
297 };
298 lcd_d1_pe1 {
299 nvidia,pins = "lcd_d1_pe1";
300 nvidia,function = "displaya";
301 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
302 nvidia,tristate = <TEGRA_PIN_DISABLE>;
303 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
304 };
305 lcd_d2_pe2 {
306 nvidia,pins = "lcd_d2_pe2";
307 nvidia,function = "displaya";
308 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
309 nvidia,tristate = <TEGRA_PIN_DISABLE>;
310 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
311 };
312 lcd_d3_pe3 {
313 nvidia,pins = "lcd_d3_pe3";
314 nvidia,function = "displaya";
315 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
316 nvidia,tristate = <TEGRA_PIN_DISABLE>;
317 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
318 };
319 lcd_d4_pe4 {
320 nvidia,pins = "lcd_d4_pe4";
321 nvidia,function = "displaya";
322 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
323 nvidia,tristate = <TEGRA_PIN_DISABLE>;
324 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
325 };
326 lcd_d5_pe5 {
327 nvidia,pins = "lcd_d5_pe5";
328 nvidia,function = "displaya";
329 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
330 nvidia,tristate = <TEGRA_PIN_DISABLE>;
331 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
332 };
333 lcd_d6_pe6 {
334 nvidia,pins = "lcd_d6_pe6";
335 nvidia,function = "displaya";
336 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
337 nvidia,tristate = <TEGRA_PIN_DISABLE>;
338 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
339 };
340 lcd_d7_pe7 {
341 nvidia,pins = "lcd_d7_pe7";
342 nvidia,function = "displaya";
343 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
344 nvidia,tristate = <TEGRA_PIN_DISABLE>;
345 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
346 };
347 lcd_d8_pf0 {
348 nvidia,pins = "lcd_d8_pf0";
349 nvidia,function = "displaya";
350 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
351 nvidia,tristate = <TEGRA_PIN_DISABLE>;
352 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
353 };
354 lcd_d9_pf1 {
355 nvidia,pins = "lcd_d9_pf1";
356 nvidia,function = "displaya";
357 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
358 nvidia,tristate = <TEGRA_PIN_DISABLE>;
359 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
360 };
361 lcd_d10_pf2 {
362 nvidia,pins = "lcd_d10_pf2";
363 nvidia,function = "displaya";
364 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
365 nvidia,tristate = <TEGRA_PIN_DISABLE>;
366 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
367 };
368 lcd_d11_pf3 {
369 nvidia,pins = "lcd_d11_pf3";
370 nvidia,function = "displaya";
371 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
372 nvidia,tristate = <TEGRA_PIN_DISABLE>;
373 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
374 };
375 lcd_d12_pf4 {
376 nvidia,pins = "lcd_d12_pf4";
377 nvidia,function = "displaya";
378 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
379 nvidia,tristate = <TEGRA_PIN_DISABLE>;
380 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
381 };
382 lcd_d13_pf5 {
383 nvidia,pins = "lcd_d13_pf5";
384 nvidia,function = "displaya";
385 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
386 nvidia,tristate = <TEGRA_PIN_DISABLE>;
387 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
388 };
389 lcd_d14_pf6 {
390 nvidia,pins = "lcd_d14_pf6";
391 nvidia,function = "displaya";
392 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
393 nvidia,tristate = <TEGRA_PIN_DISABLE>;
394 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
395 };
396 lcd_d15_pf7 {
397 nvidia,pins = "lcd_d15_pf7";
398 nvidia,function = "displaya";
399 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
400 nvidia,tristate = <TEGRA_PIN_DISABLE>;
401 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
402 };
403 gmi_ad0_pg0 {
404 nvidia,pins = "gmi_ad0_pg0";
405 nvidia,function = "nand";
406 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
407 nvidia,tristate = <TEGRA_PIN_ENABLE>;
408 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
409 };
410 gmi_ad1_pg1 {
411 nvidia,pins = "gmi_ad1_pg1";
412 nvidia,function = "nand";
413 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
414 nvidia,tristate = <TEGRA_PIN_ENABLE>;
415 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
416 };
417 gmi_ad2_pg2 {
418 nvidia,pins = "gmi_ad2_pg2";
419 nvidia,function = "nand";
420 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
421 nvidia,tristate = <TEGRA_PIN_ENABLE>;
422 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
423 };
424 gmi_ad3_pg3 {
425 nvidia,pins = "gmi_ad3_pg3";
426 nvidia,function = "nand";
427 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
428 nvidia,tristate = <TEGRA_PIN_ENABLE>;
429 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
430 };
431 gmi_ad4_pg4 {
432 nvidia,pins = "gmi_ad4_pg4";
433 nvidia,function = "nand";
434 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
435 nvidia,tristate = <TEGRA_PIN_ENABLE>;
436 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
437 };
438 gmi_ad5_pg5 {
439 nvidia,pins = "gmi_ad5_pg5";
440 nvidia,function = "nand";
441 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
442 nvidia,tristate = <TEGRA_PIN_ENABLE>;
443 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
444 };
445 gmi_ad6_pg6 {
446 nvidia,pins = "gmi_ad6_pg6";
447 nvidia,function = "nand";
448 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
449 nvidia,tristate = <TEGRA_PIN_ENABLE>;
450 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
451 };
452 gmi_ad7_pg7 {
453 nvidia,pins = "gmi_ad7_pg7";
454 nvidia,function = "nand";
455 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
456 nvidia,tristate = <TEGRA_PIN_ENABLE>;
457 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
458 };
459 gmi_ad8_ph0 {
460 nvidia,pins = "gmi_ad8_ph0";
461 nvidia,function = "pwm0";
462 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
463 nvidia,tristate = <TEGRA_PIN_DISABLE>;
464 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
465 };
466 gmi_ad9_ph1 {
467 nvidia,pins = "gmi_ad9_ph1";
468 nvidia,function = "pwm1";
469 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
470 nvidia,tristate = <TEGRA_PIN_ENABLE>;
471 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
472 };
473 gmi_ad10_ph2 {
474 nvidia,pins = "gmi_ad10_ph2";
475 nvidia,function = "nand";
476 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
477 nvidia,tristate = <TEGRA_PIN_DISABLE>;
478 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
479 };
480 gmi_ad11_ph3 {
481 nvidia,pins = "gmi_ad11_ph3";
482 nvidia,function = "nand";
483 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
484 nvidia,tristate = <TEGRA_PIN_ENABLE>;
485 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
486 };
487 gmi_ad12_ph4 {
488 nvidia,pins = "gmi_ad12_ph4";
489 nvidia,function = "nand";
490 nvidia,pull = <TEGRA_PIN_PULL_UP>;
491 nvidia,tristate = <TEGRA_PIN_DISABLE>;
492 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
493 };
494 gmi_ad13_ph5 {
495 nvidia,pins = "gmi_ad13_ph5";
496 nvidia,function = "nand";
497 nvidia,pull = <TEGRA_PIN_PULL_UP>;
498 nvidia,tristate = <TEGRA_PIN_ENABLE>;
499 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
500 };
501 gmi_ad14_ph6 {
502 nvidia,pins = "gmi_ad14_ph6";
503 nvidia,function = "nand";
504 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
505 nvidia,tristate = <TEGRA_PIN_DISABLE>;
506 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
507 };
508 gmi_wr_n_pi0 {
509 nvidia,pins = "gmi_wr_n_pi0";
510 nvidia,function = "nand";
511 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
512 nvidia,tristate = <TEGRA_PIN_ENABLE>;
513 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
514 };
515 gmi_oe_n_pi1 {
516 nvidia,pins = "gmi_oe_n_pi1";
517 nvidia,function = "nand";
518 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
519 nvidia,tristate = <TEGRA_PIN_ENABLE>;
520 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
521 };
522 gmi_dqs_pi2 {
523 nvidia,pins = "gmi_dqs_pi2";
524 nvidia,function = "nand";
525 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
526 nvidia,tristate = <TEGRA_PIN_ENABLE>;
527 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
528 };
529 gmi_iordy_pi5 {
530 nvidia,pins = "gmi_iordy_pi5";
531 nvidia,function = "rsvd1";
532 nvidia,pull = <TEGRA_PIN_PULL_UP>;
533 nvidia,tristate = <TEGRA_PIN_DISABLE>;
534 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
535 };
536 gmi_cs7_n_pi6 {
537 nvidia,pins = "gmi_cs7_n_pi6";
538 nvidia,function = "nand";
539 nvidia,pull = <TEGRA_PIN_PULL_UP>;
540 nvidia,tristate = <TEGRA_PIN_ENABLE>;
541 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
542 };
543 gmi_wait_pi7 {
544 nvidia,pins = "gmi_wait_pi7";
545 nvidia,function = "nand";
546 nvidia,pull = <TEGRA_PIN_PULL_UP>;
547 nvidia,tristate = <TEGRA_PIN_ENABLE>;
548 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
549 };
550 lcd_de_pj1 {
551 nvidia,pins = "lcd_de_pj1";
552 nvidia,function = "displaya";
553 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
554 nvidia,tristate = <TEGRA_PIN_DISABLE>;
555 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
556 };
557 lcd_hsync_pj3 {
558 nvidia,pins = "lcd_hsync_pj3";
559 nvidia,function = "displaya";
560 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
561 nvidia,tristate = <TEGRA_PIN_DISABLE>;
562 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
563 };
564 lcd_vsync_pj4 {
565 nvidia,pins = "lcd_vsync_pj4";
566 nvidia,function = "displaya";
567 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
568 nvidia,tristate = <TEGRA_PIN_DISABLE>;
569 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
570 };
571 uart2_cts_n_pj5 {
572 nvidia,pins = "uart2_cts_n_pj5";
573 nvidia,function = "uartb";
574 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
575 nvidia,tristate = <TEGRA_PIN_DISABLE>;
576 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
577 };
578 uart2_rts_n_pj6 {
579 nvidia,pins = "uart2_rts_n_pj6";
580 nvidia,function = "uartb";
581 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
582 nvidia,tristate = <TEGRA_PIN_DISABLE>;
583 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
584 };
585 gmi_a16_pj7 {
586 nvidia,pins = "gmi_a16_pj7";
587 nvidia,function = "spi4";
588 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
589 nvidia,tristate = <TEGRA_PIN_DISABLE>;
590 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
591 };
592 gmi_adv_n_pk0 {
593 nvidia,pins = "gmi_adv_n_pk0";
594 nvidia,function = "nand";
595 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
596 nvidia,tristate = <TEGRA_PIN_ENABLE>;
597 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
598 };
599 gmi_clk_pk1 {
600 nvidia,pins = "gmi_clk_pk1";
601 nvidia,function = "nand";
602 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
603 nvidia,tristate = <TEGRA_PIN_ENABLE>;
604 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
605 };
606 gmi_cs2_n_pk3 {
607 nvidia,pins = "gmi_cs2_n_pk3";
608 nvidia,function = "rsvd1";
609 nvidia,pull = <TEGRA_PIN_PULL_UP>;
610 nvidia,tristate = <TEGRA_PIN_DISABLE>;
611 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
612 };
613 gmi_cs3_n_pk4 {
614 nvidia,pins = "gmi_cs3_n_pk4";
615 nvidia,function = "nand";
616 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
617 nvidia,tristate = <TEGRA_PIN_ENABLE>;
618 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
619 };
620 spdif_out_pk5 {
621 nvidia,pins = "spdif_out_pk5";
622 nvidia,function = "spdif";
623 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
624 nvidia,tristate = <TEGRA_PIN_DISABLE>;
625 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
626 };
627 spdif_in_pk6 {
628 nvidia,pins = "spdif_in_pk6";
629 nvidia,function = "spdif";
630 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
631 nvidia,tristate = <TEGRA_PIN_DISABLE>;
632 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
633 };
634 gmi_a19_pk7 {
635 nvidia,pins = "gmi_a19_pk7";
636 nvidia,function = "spi4";
637 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
638 nvidia,tristate = <TEGRA_PIN_DISABLE>;
639 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
640 };
641 vi_d2_pl0 {
642 nvidia,pins = "vi_d2_pl0";
643 nvidia,function = "sdmmc2";
644 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
645 nvidia,tristate = <TEGRA_PIN_DISABLE>;
646 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
647 };
648 vi_d3_pl1 {
649 nvidia,pins = "vi_d3_pl1";
650 nvidia,function = "sdmmc2";
651 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
652 nvidia,tristate = <TEGRA_PIN_DISABLE>;
653 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
654 };
655 vi_d4_pl2 {
656 nvidia,pins = "vi_d4_pl2";
657 nvidia,function = "vi";
658 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
659 nvidia,tristate = <TEGRA_PIN_DISABLE>;
660 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
661 };
662 vi_d5_pl3 {
663 nvidia,pins = "vi_d5_pl3";
664 nvidia,function = "sdmmc2";
665 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
666 nvidia,tristate = <TEGRA_PIN_DISABLE>;
667 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
668 };
669 vi_d6_pl4 {
670 nvidia,pins = "vi_d6_pl4";
671 nvidia,function = "vi";
672 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
673 nvidia,tristate = <TEGRA_PIN_DISABLE>;
674 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
675 };
676 vi_d7_pl5 {
677 nvidia,pins = "vi_d7_pl5";
678 nvidia,function = "sdmmc2";
679 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
680 nvidia,tristate = <TEGRA_PIN_DISABLE>;
681 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
682 };
683 vi_d8_pl6 {
684 nvidia,pins = "vi_d8_pl6";
685 nvidia,function = "sdmmc2";
686 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
687 nvidia,tristate = <TEGRA_PIN_DISABLE>;
688 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
689 };
690 vi_d9_pl7 {
691 nvidia,pins = "vi_d9_pl7";
692 nvidia,function = "sdmmc2";
693 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
694 nvidia,tristate = <TEGRA_PIN_DISABLE>;
695 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
696 };
697 lcd_d16_pm0 {
698 nvidia,pins = "lcd_d16_pm0";
699 nvidia,function = "displaya";
700 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
701 nvidia,tristate = <TEGRA_PIN_DISABLE>;
702 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
703 };
704 lcd_d17_pm1 {
705 nvidia,pins = "lcd_d17_pm1";
706 nvidia,function = "displaya";
707 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
708 nvidia,tristate = <TEGRA_PIN_DISABLE>;
709 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
710 };
711 lcd_d18_pm2 {
712 nvidia,pins = "lcd_d18_pm2";
713 nvidia,function = "displaya";
714 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
715 nvidia,tristate = <TEGRA_PIN_DISABLE>;
716 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
717 };
718 lcd_d19_pm3 {
719 nvidia,pins = "lcd_d19_pm3";
720 nvidia,function = "displaya";
721 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
722 nvidia,tristate = <TEGRA_PIN_DISABLE>;
723 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
724 };
725 lcd_d20_pm4 {
726 nvidia,pins = "lcd_d20_pm4";
727 nvidia,function = "displaya";
728 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
729 nvidia,tristate = <TEGRA_PIN_DISABLE>;
730 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
731 };
732 lcd_d21_pm5 {
733 nvidia,pins = "lcd_d21_pm5";
734 nvidia,function = "displaya";
735 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
736 nvidia,tristate = <TEGRA_PIN_DISABLE>;
737 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
738 };
739 lcd_d22_pm6 {
740 nvidia,pins = "lcd_d22_pm6";
741 nvidia,function = "displaya";
742 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
743 nvidia,tristate = <TEGRA_PIN_DISABLE>;
744 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
745 };
746 lcd_d23_pm7 {
747 nvidia,pins = "lcd_d23_pm7";
748 nvidia,function = "displaya";
749 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
750 nvidia,tristate = <TEGRA_PIN_DISABLE>;
751 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
752 };
753 dap1_fs_pn0 {
754 nvidia,pins = "dap1_fs_pn0";
755 nvidia,function = "i2s0";
756 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
757 nvidia,tristate = <TEGRA_PIN_DISABLE>;
758 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
759 };
760 dap1_din_pn1 {
761 nvidia,pins = "dap1_din_pn1";
762 nvidia,function = "i2s0";
763 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
764 nvidia,tristate = <TEGRA_PIN_DISABLE>;
765 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
766 };
767 dap1_dout_pn2 {
768 nvidia,pins = "dap1_dout_pn2";
769 nvidia,function = "i2s0";
770 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
771 nvidia,tristate = <TEGRA_PIN_DISABLE>;
772 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
773 };
774 dap1_sclk_pn3 {
775 nvidia,pins = "dap1_sclk_pn3";
776 nvidia,function = "i2s0";
777 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
778 nvidia,tristate = <TEGRA_PIN_DISABLE>;
779 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
780 };
781 lcd_cs0_n_pn4 {
782 nvidia,pins = "lcd_cs0_n_pn4";
783 nvidia,function = "displaya";
784 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
785 nvidia,tristate = <TEGRA_PIN_DISABLE>;
786 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
787 };
788 lcd_sdout_pn5 {
789 nvidia,pins = "lcd_sdout_pn5";
790 nvidia,function = "displaya";
791 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
792 nvidia,tristate = <TEGRA_PIN_DISABLE>;
793 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
794 };
795 lcd_dc0_pn6 {
796 nvidia,pins = "lcd_dc0_pn6";
797 nvidia,function = "displaya";
798 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
799 nvidia,tristate = <TEGRA_PIN_DISABLE>;
800 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
801 };
802 hdmi_int_pn7 {
803 nvidia,pins = "hdmi_int_pn7";
804 nvidia,function = "rsvd1";
805 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
806 nvidia,tristate = <TEGRA_PIN_ENABLE>;
807 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
808 };
809 ulpi_data7_po0 {
810 nvidia,pins = "ulpi_data7_po0";
811 nvidia,function = "uarta";
812 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
813 nvidia,tristate = <TEGRA_PIN_DISABLE>;
814 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
815 };
816 ulpi_data0_po1 {
817 nvidia,pins = "ulpi_data0_po1";
818 nvidia,function = "uarta";
819 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
820 nvidia,tristate = <TEGRA_PIN_DISABLE>;
821 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
822 };
823 ulpi_data1_po2 {
824 nvidia,pins = "ulpi_data1_po2";
825 nvidia,function = "uarta";
826 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
827 nvidia,tristate = <TEGRA_PIN_DISABLE>;
828 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
829 };
830 ulpi_data2_po3 {
831 nvidia,pins = "ulpi_data2_po3";
832 nvidia,function = "uarta";
833 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
834 nvidia,tristate = <TEGRA_PIN_DISABLE>;
835 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
836 };
837 ulpi_data3_po4 {
838 nvidia,pins = "ulpi_data3_po4";
839 nvidia,function = "rsvd1";
840 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
841 nvidia,tristate = <TEGRA_PIN_DISABLE>;
842 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
843 };
844 ulpi_data4_po5 {
845 nvidia,pins = "ulpi_data4_po5";
846 nvidia,function = "uarta";
847 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
848 nvidia,tristate = <TEGRA_PIN_DISABLE>;
849 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
850 };
851 ulpi_data5_po6 {
852 nvidia,pins = "ulpi_data5_po6";
853 nvidia,function = "uarta";
854 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
855 nvidia,tristate = <TEGRA_PIN_DISABLE>;
856 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
857 };
858 ulpi_data6_po7 {
859 nvidia,pins = "ulpi_data6_po7";
860 nvidia,function = "uarta";
861 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
862 nvidia,tristate = <TEGRA_PIN_DISABLE>;
863 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
864 };
865 dap3_fs_pp0 {
866 nvidia,pins = "dap3_fs_pp0";
867 nvidia,function = "i2s2";
868 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
869 nvidia,tristate = <TEGRA_PIN_DISABLE>;
870 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
871 };
872 dap3_din_pp1 {
873 nvidia,pins = "dap3_din_pp1";
874 nvidia,function = "i2s2";
875 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
876 nvidia,tristate = <TEGRA_PIN_DISABLE>;
877 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
878 };
879 dap3_dout_pp2 {
880 nvidia,pins = "dap3_dout_pp2";
881 nvidia,function = "i2s2";
882 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
883 nvidia,tristate = <TEGRA_PIN_DISABLE>;
884 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
885 };
886 dap3_sclk_pp3 {
887 nvidia,pins = "dap3_sclk_pp3";
888 nvidia,function = "i2s2";
889 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
890 nvidia,tristate = <TEGRA_PIN_DISABLE>;
891 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
892 };
893 dap4_fs_pp4 {
894 nvidia,pins = "dap4_fs_pp4";
895 nvidia,function = "i2s3";
896 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
897 nvidia,tristate = <TEGRA_PIN_DISABLE>;
898 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
899 };
900 dap4_din_pp5 {
901 nvidia,pins = "dap4_din_pp5";
902 nvidia,function = "i2s3";
903 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
904 nvidia,tristate = <TEGRA_PIN_DISABLE>;
905 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
906 };
907 dap4_dout_pp6 {
908 nvidia,pins = "dap4_dout_pp6";
909 nvidia,function = "i2s3";
910 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
911 nvidia,tristate = <TEGRA_PIN_DISABLE>;
912 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
913 };
914 dap4_sclk_pp7 {
915 nvidia,pins = "dap4_sclk_pp7";
916 nvidia,function = "i2s3";
917 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
918 nvidia,tristate = <TEGRA_PIN_DISABLE>;
919 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
920 };
921 kb_col0_pq0 {
922 nvidia,pins = "kb_col0_pq0";
923 nvidia,function = "kbc";
924 nvidia,pull = <TEGRA_PIN_PULL_UP>;
925 nvidia,tristate = <TEGRA_PIN_DISABLE>;
926 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
927 };
928 kb_col1_pq1 {
929 nvidia,pins = "kb_col1_pq1";
930 nvidia,function = "kbc";
931 nvidia,pull = <TEGRA_PIN_PULL_UP>;
932 nvidia,tristate = <TEGRA_PIN_DISABLE>;
933 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
934 };
935 kb_col2_pq2 {
936 nvidia,pins = "kb_col2_pq2";
937 nvidia,function = "kbc";
938 nvidia,pull = <TEGRA_PIN_PULL_UP>;
939 nvidia,tristate = <TEGRA_PIN_DISABLE>;
940 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
941 };
942 kb_col3_pq3 {
943 nvidia,pins = "kb_col3_pq3";
944 nvidia,function = "kbc";
945 nvidia,pull = <TEGRA_PIN_PULL_UP>;
946 nvidia,tristate = <TEGRA_PIN_DISABLE>;
947 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
948 };
949 kb_col4_pq4 {
950 nvidia,pins = "kb_col4_pq4";
951 nvidia,function = "kbc";
952 nvidia,pull = <TEGRA_PIN_PULL_UP>;
953 nvidia,tristate = <TEGRA_PIN_DISABLE>;
954 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
955 };
956 kb_col5_pq5 {
957 nvidia,pins = "kb_col5_pq5";
958 nvidia,function = "kbc";
959 nvidia,pull = <TEGRA_PIN_PULL_UP>;
960 nvidia,tristate = <TEGRA_PIN_DISABLE>;
961 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
962 };
963 kb_col6_pq6 {
964 nvidia,pins = "kb_col6_pq6";
965 nvidia,function = "kbc";
966 nvidia,pull = <TEGRA_PIN_PULL_UP>;
967 nvidia,tristate = <TEGRA_PIN_DISABLE>;
968 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
969 };
970 kb_col7_pq7 {
971 nvidia,pins = "kb_col7_pq7";
972 nvidia,function = "kbc";
973 nvidia,pull = <TEGRA_PIN_PULL_UP>;
974 nvidia,tristate = <TEGRA_PIN_DISABLE>;
975 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
976 };
977 kb_row0_pr0 {
978 nvidia,pins = "kb_row0_pr0";
979 nvidia,function = "kbc";
980 nvidia,pull = <TEGRA_PIN_PULL_UP>;
981 nvidia,tristate = <TEGRA_PIN_DISABLE>;
982 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
983 };
984 kb_row1_pr1 {
985 nvidia,pins = "kb_row1_pr1";
986 nvidia,function = "kbc";
987 nvidia,pull = <TEGRA_PIN_PULL_UP>;
988 nvidia,tristate = <TEGRA_PIN_DISABLE>;
989 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
990 };
991 kb_row2_pr2 {
992 nvidia,pins = "kb_row2_pr2";
993 nvidia,function = "kbc";
994 nvidia,pull = <TEGRA_PIN_PULL_UP>;
995 nvidia,tristate = <TEGRA_PIN_DISABLE>;
996 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
997 };
998 kb_row3_pr3 {
999 nvidia,pins = "kb_row3_pr3";
1000 nvidia,function = "kbc";
1001 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1002 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1003 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1004 };
1005 kb_row4_pr4 {
1006 nvidia,pins = "kb_row4_pr4";
1007 nvidia,function = "kbc";
1008 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1009 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1010 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1011 };
1012 kb_row5_pr5 {
1013 nvidia,pins = "kb_row5_pr5";
1014 nvidia,function = "kbc";
1015 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1016 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1017 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1018 };
1019 kb_row6_pr6 {
1020 nvidia,pins = "kb_row6_pr6";
1021 nvidia,function = "kbc";
1022 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1023 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1024 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1025 };
1026 kb_row7_pr7 {
1027 nvidia,pins = "kb_row7_pr7";
1028 nvidia,function = "kbc";
1029 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1030 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1031 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1032 };
1033 kb_row8_ps0 {
1034 nvidia,pins = "kb_row8_ps0";
1035 nvidia,function = "kbc";
1036 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1037 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1038 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1039 };
1040 kb_row9_ps1 {
1041 nvidia,pins = "kb_row9_ps1";
1042 nvidia,function = "kbc";
1043 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1044 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1045 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1046 };
1047 kb_row10_ps2 {
1048 nvidia,pins = "kb_row10_ps2";
1049 nvidia,function = "kbc";
1050 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1051 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1052 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1053 };
1054 kb_row11_ps3 {
1055 nvidia,pins = "kb_row11_ps3";
1056 nvidia,function = "kbc";
1057 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1058 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1059 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1060 };
1061 kb_row12_ps4 {
1062 nvidia,pins = "kb_row12_ps4";
1063 nvidia,function = "kbc";
1064 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1065 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1066 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1067 };
1068 kb_row13_ps5 {
1069 nvidia,pins = "kb_row13_ps5";
1070 nvidia,function = "kbc";
1071 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1072 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1073 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1074 };
1075 kb_row14_ps6 {
1076 nvidia,pins = "kb_row14_ps6";
1077 nvidia,function = "kbc";
1078 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1079 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1080 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1081 };
1082 kb_row15_ps7 {
1083 nvidia,pins = "kb_row15_ps7";
1084 nvidia,function = "kbc";
1085 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1086 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1087 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1088 };
1089 vi_pclk_pt0 {
1090 nvidia,pins = "vi_pclk_pt0";
1091 nvidia,function = "rsvd1";
1092 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1093 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1094 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1095 };
1096 vi_mclk_pt1 {
1097 nvidia,pins = "vi_mclk_pt1";
1098 nvidia,function = "vi";
1099 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1100 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1101 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1102 };
1103 vi_d10_pt2 {
1104 nvidia,pins = "vi_d10_pt2";
1105 nvidia,function = "rsvd1";
1106 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1107 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1108 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1109 };
1110 vi_d11_pt3 {
1111 nvidia,pins = "vi_d11_pt3";
1112 nvidia,function = "rsvd1";
1113 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1114 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1115 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1116 };
1117 vi_d0_pt4 {
1118 nvidia,pins = "vi_d0_pt4";
1119 nvidia,function = "rsvd1";
1120 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1121 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1122 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1123 };
1124 gen2_i2c_scl_pt5 {
1125 nvidia,pins = "gen2_i2c_scl_pt5";
1126 nvidia,function = "i2c2";
1127 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1128 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1129 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1130 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1131 };
1132 gen2_i2c_sda_pt6 {
1133 nvidia,pins = "gen2_i2c_sda_pt6";
1134 nvidia,function = "i2c2";
1135 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1136 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1137 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1138 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1139 };
1140 sdmmc4_cmd_pt7 {
1141 nvidia,pins = "sdmmc4_cmd_pt7";
100 nvidia,function = "sdmmc4"; 1142 nvidia,function = "sdmmc4";
1143 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1144 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1145 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1146 };
1147 pu0 {
1148 nvidia,pins = "pu0";
1149 nvidia,function = "rsvd1";
1150 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1151 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1152 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1153 };
1154 pu1 {
1155 nvidia,pins = "pu1";
1156 nvidia,function = "rsvd1";
1157 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1158 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1159 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1160 };
1161 pu2 {
1162 nvidia,pins = "pu2";
1163 nvidia,function = "rsvd1";
1164 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1165 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1166 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1167 };
1168 pu3 {
1169 nvidia,pins = "pu3";
1170 nvidia,function = "rsvd1";
1171 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1172 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1173 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1174 };
1175 pu4 {
1176 nvidia,pins = "pu4";
1177 nvidia,function = "pwm1";
1178 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1179 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1180 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1181 };
1182 pu5 {
1183 nvidia,pins = "pu5";
1184 nvidia,function = "pwm2";
1185 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1186 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1187 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1188 };
1189 pu6 {
1190 nvidia,pins = "pu6";
1191 nvidia,function = "rsvd1";
1192 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1193 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1194 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1195 };
1196 jtag_rtck_pu7 {
1197 nvidia,pins = "jtag_rtck_pu7";
1198 nvidia,function = "rtck";
1199 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1200 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1201 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1202 };
1203 pv0 {
1204 nvidia,pins = "pv0";
1205 nvidia,function = "rsvd1";
1206 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1207 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1208 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1209 };
1210 pv2 {
1211 nvidia,pins = "pv2";
1212 nvidia,function = "owr";
1213 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1214 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1215 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1216 };
1217 pv3 {
1218 nvidia,pins = "pv3";
1219 nvidia,function = "rsvd1";
1220 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1221 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1222 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1223 };
1224 ddc_scl_pv4 {
1225 nvidia,pins = "ddc_scl_pv4";
1226 nvidia,function = "i2c4";
1227 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1228 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1229 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1230 };
1231 ddc_sda_pv5 {
1232 nvidia,pins = "ddc_sda_pv5";
1233 nvidia,function = "i2c4";
1234 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1235 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1236 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1237 };
1238 crt_hsync_pv6 {
1239 nvidia,pins = "crt_hsync_pv6";
1240 nvidia,function = "crt";
1241 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1242 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1243 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1244 };
1245 crt_vsync_pv7 {
1246 nvidia,pins = "crt_vsync_pv7";
1247 nvidia,function = "crt";
1248 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1249 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1250 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1251 };
1252 lcd_cs1_n_pw0 {
1253 nvidia,pins = "lcd_cs1_n_pw0";
1254 nvidia,function = "displaya";
1255 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1256 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1257 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1258 };
1259 lcd_m1_pw1 {
1260 nvidia,pins = "lcd_m1_pw1";
1261 nvidia,function = "displaya";
1262 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1263 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1264 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1265 };
1266 spi2_cs1_n_pw2 {
1267 nvidia,pins = "spi2_cs1_n_pw2";
1268 nvidia,function = "spi2";
1269 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1270 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1271 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1272 };
1273 clk1_out_pw4 {
1274 nvidia,pins = "clk1_out_pw4";
1275 nvidia,function = "extperiph1";
1276 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1277 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1278 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1279 };
1280 clk2_out_pw5 {
1281 nvidia,pins = "clk2_out_pw5";
1282 nvidia,function = "extperiph2";
1283 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1284 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1285 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1286 };
1287 uart3_txd_pw6 {
1288 nvidia,pins = "uart3_txd_pw6";
1289 nvidia,function = "uartc";
1290 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1291 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1292 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1293 };
1294 uart3_rxd_pw7 {
1295 nvidia,pins = "uart3_rxd_pw7";
1296 nvidia,function = "uartc";
1297 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1298 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1299 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1300 };
1301 spi2_sck_px2 {
1302 nvidia,pins = "spi2_sck_px2";
1303 nvidia,function = "gmi";
1304 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1305 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1306 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1307 };
1308 spi1_mosi_px4 {
1309 nvidia,pins = "spi1_mosi_px4";
1310 nvidia,function = "spi1";
1311 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1312 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1313 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1314 };
1315 spi1_sck_px5 {
1316 nvidia,pins = "spi1_sck_px5";
1317 nvidia,function = "spi1";
1318 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1319 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1320 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1321 };
1322 spi1_cs0_n_px6 {
1323 nvidia,pins = "spi1_cs0_n_px6";
1324 nvidia,function = "spi1";
101 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1325 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
102 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1326 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1327 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1328 };
1329 spi1_miso_px7 {
1330 nvidia,pins = "spi1_miso_px7";
1331 nvidia,function = "spi1";
1332 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1333 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1334 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1335 };
1336 ulpi_clk_py0 {
1337 nvidia,pins = "ulpi_clk_py0";
1338 nvidia,function = "uartd";
1339 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1340 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1341 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1342 };
1343 ulpi_dir_py1 {
1344 nvidia,pins = "ulpi_dir_py1";
1345 nvidia,function = "uartd";
1346 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1347 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1348 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1349 };
1350 ulpi_nxt_py2 {
1351 nvidia,pins = "ulpi_nxt_py2";
1352 nvidia,function = "uartd";
1353 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1354 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1355 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1356 };
1357 ulpi_stp_py3 {
1358 nvidia,pins = "ulpi_stp_py3";
1359 nvidia,function = "uartd";
1360 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1361 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1362 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1363 };
1364 sdmmc1_dat3_py4 {
1365 nvidia,pins = "sdmmc1_dat3_py4";
1366 nvidia,function = "sdmmc1";
1367 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1368 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1369 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1370 };
1371 sdmmc1_dat2_py5 {
1372 nvidia,pins = "sdmmc1_dat2_py5";
1373 nvidia,function = "sdmmc1";
1374 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1375 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1376 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1377 };
1378 sdmmc1_dat1_py6 {
1379 nvidia,pins = "sdmmc1_dat1_py6";
1380 nvidia,function = "sdmmc1";
1381 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1382 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1383 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1384 };
1385 sdmmc1_dat0_py7 {
1386 nvidia,pins = "sdmmc1_dat0_py7";
1387 nvidia,function = "sdmmc1";
1388 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1389 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1390 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1391 };
1392 sdmmc1_clk_pz0 {
1393 nvidia,pins = "sdmmc1_clk_pz0";
1394 nvidia,function = "sdmmc1";
1395 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1396 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1397 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1398 };
1399 sdmmc1_cmd_pz1 {
1400 nvidia,pins = "sdmmc1_cmd_pz1";
1401 nvidia,function = "sdmmc1";
1402 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1403 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1404 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1405 };
1406 lcd_sdin_pz2 {
1407 nvidia,pins = "lcd_sdin_pz2";
1408 nvidia,function = "displaya";
1409 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1410 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1411 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1412 };
1413 lcd_wr_n_pz3 {
1414 nvidia,pins = "lcd_wr_n_pz3";
1415 nvidia,function = "displaya";
1416 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1417 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1418 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1419 };
1420 lcd_sck_pz4 {
1421 nvidia,pins = "lcd_sck_pz4";
1422 nvidia,function = "displaya";
1423 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1424 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1425 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1426 };
1427 sys_clk_req_pz5 {
1428 nvidia,pins = "sys_clk_req_pz5";
1429 nvidia,function = "sysclk";
1430 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1431 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1432 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1433 };
1434 pwr_i2c_scl_pz6 {
1435 nvidia,pins = "pwr_i2c_scl_pz6";
1436 nvidia,function = "i2cpwr";
1437 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1438 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1439 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1440 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1441 };
1442 pwr_i2c_sda_pz7 {
1443 nvidia,pins = "pwr_i2c_sda_pz7";
1444 nvidia,function = "i2cpwr";
1445 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1446 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1447 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1448 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
103 }; 1449 };
104 sdmmc4_dat0_paa0 { 1450 sdmmc4_dat0_paa0 {
105 nvidia,pins = "sdmmc4_dat0_paa0", 1451 nvidia,pins = "sdmmc4_dat0_paa0";
106 "sdmmc4_dat1_paa1",
107 "sdmmc4_dat2_paa2",
108 "sdmmc4_dat3_paa3",
109 "sdmmc4_dat4_paa4",
110 "sdmmc4_dat5_paa5",
111 "sdmmc4_dat6_paa6",
112 "sdmmc4_dat7_paa7";
113 nvidia,function = "sdmmc4"; 1452 nvidia,function = "sdmmc4";
114 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1453 nvidia,pull = <TEGRA_PIN_PULL_UP>;
115 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1454 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1455 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
116 }; 1456 };
117 dap2_fs_pa2 { 1457 sdmmc4_dat1_paa1 {
118 nvidia,pins = "dap2_fs_pa2", 1458 nvidia,pins = "sdmmc4_dat1_paa1";
119 "dap2_sclk_pa3", 1459 nvidia,function = "sdmmc4";
120 "dap2_din_pa4", 1460 nvidia,pull = <TEGRA_PIN_PULL_UP>;
121 "dap2_dout_pa5"; 1461 nvidia,tristate = <TEGRA_PIN_DISABLE>;
122 nvidia,function = "i2s1"; 1462 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1463 };
1464 sdmmc4_dat2_paa2 {
1465 nvidia,pins = "sdmmc4_dat2_paa2";
1466 nvidia,function = "sdmmc4";
1467 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1468 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1469 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1470 };
1471 sdmmc4_dat3_paa3 {
1472 nvidia,pins = "sdmmc4_dat3_paa3";
1473 nvidia,function = "sdmmc4";
1474 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1475 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1476 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1477 };
1478 sdmmc4_dat4_paa4 {
1479 nvidia,pins = "sdmmc4_dat4_paa4";
1480 nvidia,function = "sdmmc4";
1481 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1482 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1483 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1484 };
1485 sdmmc4_dat5_paa5 {
1486 nvidia,pins = "sdmmc4_dat5_paa5";
1487 nvidia,function = "sdmmc4";
1488 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1489 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1490 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1491 };
1492 sdmmc4_dat6_paa6 {
1493 nvidia,pins = "sdmmc4_dat6_paa6";
1494 nvidia,function = "sdmmc4";
1495 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1496 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1497 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1498 };
1499 sdmmc4_dat7_paa7 {
1500 nvidia,pins = "sdmmc4_dat7_paa7";
1501 nvidia,function = "sdmmc4";
1502 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1503 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1504 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1505 };
1506 pbb0 {
1507 nvidia,pins = "pbb0";
1508 nvidia,function = "rsvd1";
1509 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1510 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1511 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1512 };
1513 cam_i2c_scl_pbb1 {
1514 nvidia,pins = "cam_i2c_scl_pbb1";
1515 nvidia,function = "i2c3";
1516 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1517 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1518 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1519 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1520 };
1521 cam_i2c_sda_pbb2 {
1522 nvidia,pins = "cam_i2c_sda_pbb2";
1523 nvidia,function = "i2c3";
1524 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1525 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1526 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1527 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
1528 };
1529 pbb3 {
1530 nvidia,pins = "pbb3";
1531 nvidia,function = "vgp3";
1532 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1533 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1534 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1535 };
1536 pbb4 {
1537 nvidia,pins = "pbb4";
1538 nvidia,function = "vgp4";
1539 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1540 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1541 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1542 };
1543 pbb5 {
1544 nvidia,pins = "pbb5";
1545 nvidia,function = "vgp5";
1546 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1547 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1548 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1549 };
1550 pbb6 {
1551 nvidia,pins = "pbb6";
1552 nvidia,function = "vgp6";
1553 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1554 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1555 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1556 };
1557 pbb7 {
1558 nvidia,pins = "pbb7";
1559 nvidia,function = "i2s4";
1560 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1561 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1562 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1563 };
1564 cam_mclk_pcc0 {
1565 nvidia,pins = "cam_mclk_pcc0";
1566 nvidia,function = "vi_alt3";
1567 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1568 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1569 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1570 };
1571 pcc1 {
1572 nvidia,pins = "pcc1";
1573 nvidia,function = "rsvd1";
1574 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1575 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1576 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1577 };
1578 pcc2 {
1579 nvidia,pins = "pcc2";
1580 nvidia,function = "i2s4";
1581 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1582 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1583 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1584 };
1585 sdmmc4_rst_n_pcc3 {
1586 nvidia,pins = "sdmmc4_rst_n_pcc3";
1587 nvidia,function = "sdmmc4";
1588 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1589 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1590 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1591 };
1592 sdmmc4_clk_pcc4 {
1593 nvidia,pins = "sdmmc4_clk_pcc4";
1594 nvidia,function = "sdmmc4";
1595 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1596 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1597 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1598 };
1599 clk2_req_pcc5 {
1600 nvidia,pins = "clk2_req_pcc5";
1601 nvidia,function = "dap";
123 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1602 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
124 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1603 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1604 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1605 };
1606 pex_l2_rst_n_pcc6 {
1607 nvidia,pins = "pex_l2_rst_n_pcc6";
1608 nvidia,function = "pcie";
1609 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1610 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1611 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1612 };
1613 pex_l2_clkreq_n_pcc7 {
1614 nvidia,pins = "pex_l2_clkreq_n_pcc7";
1615 nvidia,function = "pcie";
1616 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1617 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1618 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1619 };
1620 pex_l0_prsnt_n_pdd0 {
1621 nvidia,pins = "pex_l0_prsnt_n_pdd0";
1622 nvidia,function = "pcie";
1623 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1624 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1625 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1626 };
1627 pex_l0_rst_n_pdd1 {
1628 nvidia,pins = "pex_l0_rst_n_pdd1";
1629 nvidia,function = "pcie";
1630 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1631 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1632 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1633 };
1634 pex_l0_clkreq_n_pdd2 {
1635 nvidia,pins = "pex_l0_clkreq_n_pdd2";
1636 nvidia,function = "pcie";
1637 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1638 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1639 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1640 };
1641 pex_wake_n_pdd3 {
1642 nvidia,pins = "pex_wake_n_pdd3";
1643 nvidia,function = "pcie";
1644 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1645 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1646 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
125 }; 1647 };
126 pex_l1_prsnt_n_pdd4 { 1648 pex_l1_prsnt_n_pdd4 {
127 nvidia,pins = "pex_l1_prsnt_n_pdd4", 1649 nvidia,pins = "pex_l1_prsnt_n_pdd4";
128 "pex_l1_clkreq_n_pdd6"; 1650 nvidia,function = "pcie";
129 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1651 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1652 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1653 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1654 };
1655 pex_l1_rst_n_pdd5 {
1656 nvidia,pins = "pex_l1_rst_n_pdd5";
1657 nvidia,function = "pcie";
1658 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1659 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1660 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1661 };
1662 pex_l1_clkreq_n_pdd6 {
1663 nvidia,pins = "pex_l1_clkreq_n_pdd6";
1664 nvidia,function = "pcie";
1665 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1666 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1667 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1668 };
1669 pex_l2_prsnt_n_pdd7 {
1670 nvidia,pins = "pex_l2_prsnt_n_pdd7";
1671 nvidia,function = "pcie";
1672 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1673 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1674 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1675 };
1676 clk3_out_pee0 {
1677 nvidia,pins = "clk3_out_pee0";
1678 nvidia,function = "extperiph3";
1679 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1680 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1681 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1682 };
1683 clk3_req_pee1 {
1684 nvidia,pins = "clk3_req_pee1";
1685 nvidia,function = "dev3";
1686 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1687 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1688 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1689 };
1690 clk1_req_pee2 {
1691 nvidia,pins = "clk1_req_pee2";
1692 nvidia,function = "dap";
1693 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1694 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1695 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1696 };
1697 hdmi_cec_pee3 {
1698 nvidia,pins = "hdmi_cec_pee3";
1699 nvidia,function = "cec";
1700 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1701 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1702 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1703 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
1704 };
1705 owr {
1706 nvidia,pins = "owr";
1707 nvidia,function = "owr";
1708 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1709 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1710 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
130 }; 1711 };
131 sdio3 { 1712 sdio3 {
132 nvidia,pins = "drive_sdio3"; 1713 nvidia,pins = "drive_sdio3";
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index cd30f6f5f2ff..dd8f5312b2c0 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -200,17 +200,6 @@ config DA850_UI_SD_VIDEO_PORT
200 200
201endchoice 201endchoice
202 202
203config DA850_WL12XX
204 bool "AM18x wl1271 daughter board"
205 depends on MACH_DAVINCI_DA850_EVM
206 help
207 The wl1271 daughter card for AM18x EVMs is a combo wireless
208 connectivity add-on card, based on the LS Research TiWi module with
209 Texas Instruments' wl1271 solution.
210 Say Y if you want to use a wl1271 expansion card connected to the
211 AM18x EVM.
212
213
214config MACH_MITYOMAPL138 203config MACH_MITYOMAPL138
215 bool "Critical Link MityDSP-L138/MityARM-1808 SoM" 204 bool "Critical Link MityDSP-L138/MityARM-1808 SoM"
216 depends on ARCH_DAVINCI_DA850 205 depends on ARCH_DAVINCI_DA850
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c
index 6b5a97da9fe3..1ed545cc2b83 100644
--- a/arch/arm/mach-davinci/board-da850-evm.c
+++ b/arch/arm/mach-davinci/board-da850-evm.c
@@ -38,7 +38,6 @@
38#include <linux/regulator/fixed.h> 38#include <linux/regulator/fixed.h>
39#include <linux/spi/spi.h> 39#include <linux/spi/spi.h>
40#include <linux/spi/flash.h> 40#include <linux/spi/flash.h>
41#include <linux/wl12xx.h>
42 41
43#include <mach/common.h> 42#include <mach/common.h>
44#include <mach/cp_intc.h> 43#include <mach/cp_intc.h>
@@ -60,9 +59,6 @@
60#define DA850_MMCSD_CD_PIN GPIO_TO_PIN(4, 0) 59#define DA850_MMCSD_CD_PIN GPIO_TO_PIN(4, 0)
61#define DA850_MMCSD_WP_PIN GPIO_TO_PIN(4, 1) 60#define DA850_MMCSD_WP_PIN GPIO_TO_PIN(4, 1)
62 61
63#define DA850_WLAN_EN GPIO_TO_PIN(6, 9)
64#define DA850_WLAN_IRQ GPIO_TO_PIN(6, 10)
65
66#define DA850_MII_MDIO_CLKEN_PIN GPIO_TO_PIN(2, 6) 62#define DA850_MII_MDIO_CLKEN_PIN GPIO_TO_PIN(2, 6)
67 63
68static struct mtd_partition da850evm_spiflash_part[] = { 64static struct mtd_partition da850evm_spiflash_part[] = {
@@ -1343,109 +1339,6 @@ static __init void da850_vpif_init(void)
1343static __init void da850_vpif_init(void) {} 1339static __init void da850_vpif_init(void) {}
1344#endif 1340#endif
1345 1341
1346#ifdef CONFIG_DA850_WL12XX
1347
1348static void wl12xx_set_power(int index, bool power_on)
1349{
1350 static bool power_state;
1351
1352 pr_debug("Powering %s wl12xx", power_on ? "on" : "off");
1353
1354 if (power_on == power_state)
1355 return;
1356 power_state = power_on;
1357
1358 if (power_on) {
1359 /* Power up sequence required for wl127x devices */
1360 gpio_set_value(DA850_WLAN_EN, 1);
1361 usleep_range(15000, 15000);
1362 gpio_set_value(DA850_WLAN_EN, 0);
1363 usleep_range(1000, 1000);
1364 gpio_set_value(DA850_WLAN_EN, 1);
1365 msleep(70);
1366 } else {
1367 gpio_set_value(DA850_WLAN_EN, 0);
1368 }
1369}
1370
1371static struct davinci_mmc_config da850_wl12xx_mmc_config = {
1372 .set_power = wl12xx_set_power,
1373 .wires = 4,
1374 .max_freq = 25000000,
1375 .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_NONREMOVABLE |
1376 MMC_CAP_POWER_OFF_CARD,
1377};
1378
1379static const short da850_wl12xx_pins[] __initconst = {
1380 DA850_MMCSD1_DAT_0, DA850_MMCSD1_DAT_1, DA850_MMCSD1_DAT_2,
1381 DA850_MMCSD1_DAT_3, DA850_MMCSD1_CLK, DA850_MMCSD1_CMD,
1382 DA850_GPIO6_9, DA850_GPIO6_10,
1383 -1
1384};
1385
1386static struct wl12xx_platform_data da850_wl12xx_wlan_data __initdata = {
1387 .irq = -1,
1388 .board_ref_clock = WL12XX_REFCLOCK_38,
1389 .platform_quirks = WL12XX_PLATFORM_QUIRK_EDGE_IRQ,
1390};
1391
1392static __init int da850_wl12xx_init(void)
1393{
1394 int ret;
1395
1396 ret = davinci_cfg_reg_list(da850_wl12xx_pins);
1397 if (ret) {
1398 pr_err("wl12xx/mmc mux setup failed: %d\n", ret);
1399 goto exit;
1400 }
1401
1402 ret = da850_register_mmcsd1(&da850_wl12xx_mmc_config);
1403 if (ret) {
1404 pr_err("wl12xx/mmc registration failed: %d\n", ret);
1405 goto exit;
1406 }
1407
1408 ret = gpio_request_one(DA850_WLAN_EN, GPIOF_OUT_INIT_LOW, "wl12xx_en");
1409 if (ret) {
1410 pr_err("Could not request wl12xx enable gpio: %d\n", ret);
1411 goto exit;
1412 }
1413
1414 ret = gpio_request_one(DA850_WLAN_IRQ, GPIOF_IN, "wl12xx_irq");
1415 if (ret) {
1416 pr_err("Could not request wl12xx irq gpio: %d\n", ret);
1417 goto free_wlan_en;
1418 }
1419
1420 da850_wl12xx_wlan_data.irq = gpio_to_irq(DA850_WLAN_IRQ);
1421
1422 ret = wl12xx_set_platform_data(&da850_wl12xx_wlan_data);
1423 if (ret) {
1424 pr_err("Could not set wl12xx data: %d\n", ret);
1425 goto free_wlan_irq;
1426 }
1427
1428 return 0;
1429
1430free_wlan_irq:
1431 gpio_free(DA850_WLAN_IRQ);
1432
1433free_wlan_en:
1434 gpio_free(DA850_WLAN_EN);
1435
1436exit:
1437 return ret;
1438}
1439
1440#else /* CONFIG_DA850_WL12XX */
1441
1442static __init int da850_wl12xx_init(void)
1443{
1444 return 0;
1445}
1446
1447#endif /* CONFIG_DA850_WL12XX */
1448
1449#define DA850EVM_SATA_REFCLKPN_RATE (100 * 1000 * 1000) 1342#define DA850EVM_SATA_REFCLKPN_RATE (100 * 1000 * 1000)
1450 1343
1451static __init void da850_evm_init(void) 1344static __init void da850_evm_init(void)
@@ -1502,11 +1395,6 @@ static __init void da850_evm_init(void)
1502 if (ret) 1395 if (ret)
1503 pr_warn("%s: MMCSD0 registration failed: %d\n", 1396 pr_warn("%s: MMCSD0 registration failed: %d\n",
1504 __func__, ret); 1397 __func__, ret);
1505
1506 ret = da850_wl12xx_init();
1507 if (ret)
1508 pr_warn("%s: WL12xx initialization failed: %d\n",
1509 __func__, ret);
1510 } 1398 }
1511 1399
1512 davinci_serial_init(da8xx_serial_device); 1400 davinci_serial_init(da8xx_serial_device);
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index e642b079e9f3..af11511dda50 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -14,7 +14,6 @@
14#include <linux/kernel.h> 14#include <linux/kernel.h>
15#include <linux/of_platform.h> 15#include <linux/of_platform.h>
16#include <linux/ti_wilink_st.h> 16#include <linux/ti_wilink_st.h>
17#include <linux/wl12xx.h>
18 17
19#include <linux/platform_data/pinctrl-single.h> 18#include <linux/platform_data/pinctrl-single.h>
20#include <linux/platform_data/iommu-omap.h> 19#include <linux/platform_data/iommu-omap.h>
@@ -35,34 +34,6 @@ struct pdata_init {
35struct of_dev_auxdata omap_auxdata_lookup[]; 34struct of_dev_auxdata omap_auxdata_lookup[];
36static struct twl4030_gpio_platform_data twl_gpio_auxdata; 35static struct twl4030_gpio_platform_data twl_gpio_auxdata;
37 36
38#if IS_ENABLED(CONFIG_WL12XX)
39
40static struct wl12xx_platform_data wl12xx __initdata;
41
42static void __init __used legacy_init_wl12xx(unsigned ref_clock,
43 unsigned tcxo_clock,
44 int gpio)
45{
46 int res;
47
48 wl12xx.board_ref_clock = ref_clock;
49 wl12xx.board_tcxo_clock = tcxo_clock;
50 wl12xx.irq = gpio_to_irq(gpio);
51
52 res = wl12xx_set_platform_data(&wl12xx);
53 if (res) {
54 pr_err("error setting wl12xx data: %d\n", res);
55 return;
56 }
57}
58#else
59static inline void legacy_init_wl12xx(unsigned ref_clock,
60 unsigned tcxo_clock,
61 int gpio)
62{
63}
64#endif
65
66#ifdef CONFIG_MACH_NOKIA_N8X0 37#ifdef CONFIG_MACH_NOKIA_N8X0
67static void __init omap2420_n8x0_legacy_init(void) 38static void __init omap2420_n8x0_legacy_init(void)
68{ 39{
@@ -129,7 +100,6 @@ static void __init omap3_sbc_t3730_twl_init(void)
129static void __init omap3_sbc_t3730_legacy_init(void) 100static void __init omap3_sbc_t3730_legacy_init(void)
130{ 101{
131 omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); 102 omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub");
132 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136);
133} 103}
134 104
135static void __init omap3_sbc_t3530_legacy_init(void) 105static void __init omap3_sbc_t3530_legacy_init(void)
@@ -159,14 +129,12 @@ static struct platform_device btwilink_device = {
159 129
160static void __init omap3_igep0020_rev_f_legacy_init(void) 130static void __init omap3_igep0020_rev_f_legacy_init(void)
161{ 131{
162 legacy_init_wl12xx(0, 0, 177);
163 platform_device_register(&wl18xx_device); 132 platform_device_register(&wl18xx_device);
164 platform_device_register(&btwilink_device); 133 platform_device_register(&btwilink_device);
165} 134}
166 135
167static void __init omap3_igep0030_rev_g_legacy_init(void) 136static void __init omap3_igep0030_rev_g_legacy_init(void)
168{ 137{
169 legacy_init_wl12xx(0, 0, 136);
170 platform_device_register(&wl18xx_device); 138 platform_device_register(&wl18xx_device);
171 platform_device_register(&btwilink_device); 139 platform_device_register(&btwilink_device);
172} 140}
@@ -174,12 +142,6 @@ static void __init omap3_igep0030_rev_g_legacy_init(void)
174static void __init omap3_evm_legacy_init(void) 142static void __init omap3_evm_legacy_init(void)
175{ 143{
176 hsmmc2_internal_input_clk(); 144 hsmmc2_internal_input_clk();
177 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 149);
178}
179
180static void __init omap3_zoom_legacy_init(void)
181{
182 legacy_init_wl12xx(WL12XX_REFCLOCK_26, 0, 162);
183} 145}
184 146
185static void am35xx_enable_emac_int(void) 147static void am35xx_enable_emac_int(void)
@@ -246,7 +208,6 @@ static void __init omap3_sbc_t3517_legacy_init(void)
246 am35xx_emac_reset(); 208 am35xx_emac_reset();
247 hsmmc2_internal_input_clk(); 209 hsmmc2_internal_input_clk();
248 omap3_sbc_t3517_wifi_init(); 210 omap3_sbc_t3517_wifi_init();
249 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 145);
250} 211}
251 212
252static void __init am3517_evm_legacy_init(void) 213static void __init am3517_evm_legacy_init(void)
@@ -288,24 +249,6 @@ static void __init omap3_tao3530_legacy_init(void)
288} 249}
289#endif /* CONFIG_ARCH_OMAP3 */ 250#endif /* CONFIG_ARCH_OMAP3 */
290 251
291#ifdef CONFIG_ARCH_OMAP4
292static void __init omap4_sdp_legacy_init(void)
293{
294 legacy_init_wl12xx(WL12XX_REFCLOCK_26,
295 WL12XX_TCXOCLOCK_26, 53);
296}
297
298static void __init omap4_panda_legacy_init(void)
299{
300 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 53);
301}
302
303static void __init var_som_om44_legacy_init(void)
304{
305 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 41);
306}
307#endif
308
309#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) 252#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
310static struct iommu_platform_data omap4_iommu_pdata = { 253static struct iommu_platform_data omap4_iommu_pdata = {
311 .reset_name = "mmu_cache", 254 .reset_name = "mmu_cache",
@@ -314,13 +257,6 @@ static struct iommu_platform_data omap4_iommu_pdata = {
314}; 257};
315#endif 258#endif
316 259
317#ifdef CONFIG_SOC_AM33XX
318static void __init am335x_evmsk_legacy_init(void)
319{
320 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 31);
321}
322#endif
323
324#ifdef CONFIG_SOC_OMAP5 260#ifdef CONFIG_SOC_OMAP5
325static void __init omap5_uevm_legacy_init(void) 261static void __init omap5_uevm_legacy_init(void)
326{ 262{
@@ -421,19 +357,9 @@ static struct pdata_init pdata_quirks[] __initdata = {
421 { "isee,omap3-igep0020-rev-f", omap3_igep0020_rev_f_legacy_init, }, 357 { "isee,omap3-igep0020-rev-f", omap3_igep0020_rev_f_legacy_init, },
422 { "isee,omap3-igep0030-rev-g", omap3_igep0030_rev_g_legacy_init, }, 358 { "isee,omap3-igep0030-rev-g", omap3_igep0030_rev_g_legacy_init, },
423 { "ti,omap3-evm-37xx", omap3_evm_legacy_init, }, 359 { "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
424 { "ti,omap3-zoom3", omap3_zoom_legacy_init, },
425 { "ti,am3517-evm", am3517_evm_legacy_init, }, 360 { "ti,am3517-evm", am3517_evm_legacy_init, },
426 { "technexion,omap3-tao3530", omap3_tao3530_legacy_init, }, 361 { "technexion,omap3-tao3530", omap3_tao3530_legacy_init, },
427#endif 362#endif
428#ifdef CONFIG_ARCH_OMAP4
429 { "ti,omap4-sdp", omap4_sdp_legacy_init, },
430 { "ti,omap4-panda", omap4_panda_legacy_init, },
431 { "variscite,var-dvk-om44", var_som_om44_legacy_init, },
432 { "variscite,var-stk-om44", var_som_om44_legacy_init, },
433#endif
434#ifdef CONFIG_SOC_AM33XX
435 { "ti,am335x-evmsk", am335x_evmsk_legacy_init, },
436#endif
437#ifdef CONFIG_SOC_OMAP5 363#ifdef CONFIG_SOC_OMAP5
438 { "ti,omap5-uevm", omap5_uevm_legacy_init, }, 364 { "ti,omap5-uevm", omap5_uevm_legacy_init, },
439#endif 365#endif
diff --git a/arch/arm/mach-shmobile/smp-r8a7790.c b/arch/arm/mach-shmobile/smp-r8a7790.c
index f8be41575d7c..930f45cbc08a 100644
--- a/arch/arm/mach-shmobile/smp-r8a7790.c
+++ b/arch/arm/mach-shmobile/smp-r8a7790.c
@@ -38,11 +38,11 @@ static struct rcar_sysc_ch r8a7790_ca7_scu = {
38 38
39static struct rcar_apmu_config r8a7790_apmu_config[] = { 39static struct rcar_apmu_config r8a7790_apmu_config[] = {
40 { 40 {
41 .iomem = DEFINE_RES_MEM(0xe6152000, 0x88), 41 .iomem = DEFINE_RES_MEM(0xe6152000, 0x188),
42 .cpus = { 0, 1, 2, 3 }, 42 .cpus = { 0, 1, 2, 3 },
43 }, 43 },
44 { 44 {
45 .iomem = DEFINE_RES_MEM(0xe6151000, 0x88), 45 .iomem = DEFINE_RES_MEM(0xe6151000, 0x188),
46 .cpus = { 0x100, 0x0101, 0x102, 0x103 }, 46 .cpus = { 0x100, 0x0101, 0x102, 0x103 },
47 } 47 }
48}; 48};
diff --git a/arch/arm/mach-shmobile/smp-r8a7791.c b/arch/arm/mach-shmobile/smp-r8a7791.c
index 6658682d5c9e..5e2d1db79afa 100644
--- a/arch/arm/mach-shmobile/smp-r8a7791.c
+++ b/arch/arm/mach-shmobile/smp-r8a7791.c
@@ -27,7 +27,7 @@
27 27
28static struct rcar_apmu_config r8a7791_apmu_config[] = { 28static struct rcar_apmu_config r8a7791_apmu_config[] = {
29 { 29 {
30 .iomem = DEFINE_RES_MEM(0xe6152000, 0x88), 30 .iomem = DEFINE_RES_MEM(0xe6152000, 0x188),
31 .cpus = { 0, 1 }, 31 .cpus = { 0, 1 },
32 } 32 }
33}; 33};
diff --git a/drivers/net/wireless/ti/wilink_platform_data.c b/drivers/net/wireless/ti/wilink_platform_data.c
index a92bd3e89796..ea0e359bdb43 100644
--- a/drivers/net/wireless/ti/wilink_platform_data.c
+++ b/drivers/net/wireless/ti/wilink_platform_data.c
@@ -23,31 +23,6 @@
23#include <linux/err.h> 23#include <linux/err.h>
24#include <linux/wl12xx.h> 24#include <linux/wl12xx.h>
25 25
26static struct wl12xx_platform_data *wl12xx_platform_data;
27
28int __init wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
29{
30 if (wl12xx_platform_data)
31 return -EBUSY;
32 if (!data)
33 return -EINVAL;
34
35 wl12xx_platform_data = kmemdup(data, sizeof(*data), GFP_KERNEL);
36 if (!wl12xx_platform_data)
37 return -ENOMEM;
38
39 return 0;
40}
41
42struct wl12xx_platform_data *wl12xx_get_platform_data(void)
43{
44 if (!wl12xx_platform_data)
45 return ERR_PTR(-ENODEV);
46
47 return wl12xx_platform_data;
48}
49EXPORT_SYMBOL(wl12xx_get_platform_data);
50
51static struct wl1251_platform_data *wl1251_platform_data; 26static struct wl1251_platform_data *wl1251_platform_data;
52 27
53int __init wl1251_set_platform_data(const struct wl1251_platform_data *data) 28int __init wl1251_set_platform_data(const struct wl1251_platform_data *data)
diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c
index 144d1f8ba473..af0fe2e17151 100644
--- a/drivers/net/wireless/ti/wl12xx/main.c
+++ b/drivers/net/wireless/ti/wl12xx/main.c
@@ -24,8 +24,6 @@
24 24
25#include <linux/err.h> 25#include <linux/err.h>
26 26
27#include <linux/wl12xx.h>
28
29#include "../wlcore/wlcore.h" 27#include "../wlcore/wlcore.h"
30#include "../wlcore/debug.h" 28#include "../wlcore/debug.h"
31#include "../wlcore/io.h" 29#include "../wlcore/io.h"
@@ -1770,11 +1768,44 @@ wl12xx_iface_combinations[] = {
1770 }, 1768 },
1771}; 1769};
1772 1770
1771static const struct wl12xx_clock wl12xx_refclock_table[] = {
1772 { 19200000, false, WL12XX_REFCLOCK_19 },
1773 { 26000000, false, WL12XX_REFCLOCK_26 },
1774 { 26000000, true, WL12XX_REFCLOCK_26_XTAL },
1775 { 38400000, false, WL12XX_REFCLOCK_38 },
1776 { 38400000, true, WL12XX_REFCLOCK_38_XTAL },
1777 { 52000000, false, WL12XX_REFCLOCK_52 },
1778 { 0, false, 0 }
1779};
1780
1781static const struct wl12xx_clock wl12xx_tcxoclock_table[] = {
1782 { 16368000, true, WL12XX_TCXOCLOCK_16_368 },
1783 { 16800000, true, WL12XX_TCXOCLOCK_16_8 },
1784 { 19200000, true, WL12XX_TCXOCLOCK_19_2 },
1785 { 26000000, true, WL12XX_TCXOCLOCK_26 },
1786 { 32736000, true, WL12XX_TCXOCLOCK_32_736 },
1787 { 33600000, true, WL12XX_TCXOCLOCK_33_6 },
1788 { 38400000, true, WL12XX_TCXOCLOCK_38_4 },
1789 { 52000000, true, WL12XX_TCXOCLOCK_52 },
1790 { 0, false, 0 }
1791};
1792
1793static int wl12xx_get_clock_idx(const struct wl12xx_clock *table,
1794 u32 freq, bool xtal)
1795{
1796 int i;
1797
1798 for (i = 0; table[i].freq != 0; i++)
1799 if ((table[i].freq == freq) && (table[i].xtal == xtal))
1800 return table[i].hw_idx;
1801
1802 return -EINVAL;
1803}
1804
1773static int wl12xx_setup(struct wl1271 *wl) 1805static int wl12xx_setup(struct wl1271 *wl)
1774{ 1806{
1775 struct wl12xx_priv *priv = wl->priv; 1807 struct wl12xx_priv *priv = wl->priv;
1776 struct wlcore_platdev_data *pdev_data = dev_get_platdata(&wl->pdev->dev); 1808 struct wlcore_platdev_data *pdev_data = dev_get_platdata(&wl->pdev->dev);
1777 struct wl12xx_platform_data *pdata = pdev_data->pdata;
1778 1809
1779 BUILD_BUG_ON(WL12XX_MAX_LINKS > WLCORE_MAX_LINKS); 1810 BUILD_BUG_ON(WL12XX_MAX_LINKS > WLCORE_MAX_LINKS);
1780 BUILD_BUG_ON(WL12XX_MAX_AP_STATIONS > WL12XX_MAX_LINKS); 1811 BUILD_BUG_ON(WL12XX_MAX_AP_STATIONS > WL12XX_MAX_LINKS);
@@ -1799,7 +1830,17 @@ static int wl12xx_setup(struct wl1271 *wl)
1799 wl12xx_conf_init(wl); 1830 wl12xx_conf_init(wl);
1800 1831
1801 if (!fref_param) { 1832 if (!fref_param) {
1802 priv->ref_clock = pdata->board_ref_clock; 1833 priv->ref_clock = wl12xx_get_clock_idx(wl12xx_refclock_table,
1834 pdev_data->ref_clock_freq,
1835 pdev_data->ref_clock_xtal);
1836 if (priv->ref_clock < 0) {
1837 wl1271_error("Invalid ref_clock frequency (%d Hz, %s)",
1838 pdev_data->ref_clock_freq,
1839 pdev_data->ref_clock_xtal ?
1840 "XTAL" : "not XTAL");
1841
1842 return priv->ref_clock;
1843 }
1803 } else { 1844 } else {
1804 if (!strcmp(fref_param, "19.2")) 1845 if (!strcmp(fref_param, "19.2"))
1805 priv->ref_clock = WL12XX_REFCLOCK_19; 1846 priv->ref_clock = WL12XX_REFCLOCK_19;
@@ -1817,9 +1858,17 @@ static int wl12xx_setup(struct wl1271 *wl)
1817 wl1271_error("Invalid fref parameter %s", fref_param); 1858 wl1271_error("Invalid fref parameter %s", fref_param);
1818 } 1859 }
1819 1860
1820 if (!tcxo_param) { 1861 if (!tcxo_param && pdev_data->tcxo_clock_freq) {
1821 priv->tcxo_clock = pdata->board_tcxo_clock; 1862 priv->tcxo_clock = wl12xx_get_clock_idx(wl12xx_tcxoclock_table,
1822 } else { 1863 pdev_data->tcxo_clock_freq,
1864 true);
1865 if (priv->tcxo_clock < 0) {
1866 wl1271_error("Invalid tcxo_clock frequency (%d Hz)",
1867 pdev_data->tcxo_clock_freq);
1868
1869 return priv->tcxo_clock;
1870 }
1871 } else if (tcxo_param) {
1823 if (!strcmp(tcxo_param, "19.2")) 1872 if (!strcmp(tcxo_param, "19.2"))
1824 priv->tcxo_clock = WL12XX_TCXOCLOCK_19_2; 1873 priv->tcxo_clock = WL12XX_TCXOCLOCK_19_2;
1825 else if (!strcmp(tcxo_param, "26")) 1874 else if (!strcmp(tcxo_param, "26"))
diff --git a/drivers/net/wireless/ti/wl12xx/wl12xx.h b/drivers/net/wireless/ti/wl12xx/wl12xx.h
index 75c92658bfea..5952e99ace1b 100644
--- a/drivers/net/wireless/ti/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/ti/wl12xx/wl12xx.h
@@ -82,6 +82,34 @@ struct wl12xx_priv {
82 struct wl127x_rx_mem_pool_addr *rx_mem_addr; 82 struct wl127x_rx_mem_pool_addr *rx_mem_addr;
83}; 83};
84 84
85/* Reference clock values */
86enum {
87 WL12XX_REFCLOCK_19 = 0, /* 19.2 MHz */
88 WL12XX_REFCLOCK_26 = 1, /* 26 MHz */
89 WL12XX_REFCLOCK_38 = 2, /* 38.4 MHz */
90 WL12XX_REFCLOCK_52 = 3, /* 52 MHz */
91 WL12XX_REFCLOCK_38_XTAL = 4, /* 38.4 MHz, XTAL */
92 WL12XX_REFCLOCK_26_XTAL = 5, /* 26 MHz, XTAL */
93};
94
95/* TCXO clock values */
96enum {
97 WL12XX_TCXOCLOCK_19_2 = 0, /* 19.2MHz */
98 WL12XX_TCXOCLOCK_26 = 1, /* 26 MHz */
99 WL12XX_TCXOCLOCK_38_4 = 2, /* 38.4MHz */
100 WL12XX_TCXOCLOCK_52 = 3, /* 52 MHz */
101 WL12XX_TCXOCLOCK_16_368 = 4, /* 16.368 MHz */
102 WL12XX_TCXOCLOCK_32_736 = 5, /* 32.736 MHz */
103 WL12XX_TCXOCLOCK_16_8 = 6, /* 16.8 MHz */
104 WL12XX_TCXOCLOCK_33_6 = 7, /* 33.6 MHz */
105};
106
107struct wl12xx_clock {
108 u32 freq;
109 bool xtal;
110 u8 hw_idx;
111};
112
85struct wl12xx_fw_packet_counters { 113struct wl12xx_fw_packet_counters {
86 /* Cumulative counter of released packets per AC */ 114 /* Cumulative counter of released packets per AC */
87 u8 tx_released_pkts[NUM_TX_QUEUES]; 115 u8 tx_released_pkts[NUM_TX_QUEUES];
diff --git a/drivers/net/wireless/ti/wlcore/boot.c b/drivers/net/wireless/ti/wlcore/boot.c
index 77752b03f189..19b7ec7b69c2 100644
--- a/drivers/net/wireless/ti/wlcore/boot.c
+++ b/drivers/net/wireless/ti/wlcore/boot.c
@@ -22,7 +22,6 @@
22 */ 22 */
23 23
24#include <linux/slab.h> 24#include <linux/slab.h>
25#include <linux/wl12xx.h>
26#include <linux/export.h> 25#include <linux/export.h>
27 26
28#include "debug.h" 27#include "debug.h"
diff --git a/drivers/net/wireless/ti/wlcore/debugfs.c b/drivers/net/wireless/ti/wlcore/debugfs.c
index 68f3bf229b5a..eb43f94a1597 100644
--- a/drivers/net/wireless/ti/wlcore/debugfs.c
+++ b/drivers/net/wireless/ti/wlcore/debugfs.c
@@ -502,7 +502,7 @@ static ssize_t driver_state_read(struct file *file, char __user *user_buf,
502 DRIVER_STATE_PRINT_HEX(irq); 502 DRIVER_STATE_PRINT_HEX(irq);
503 /* TODO: ref_clock and tcxo_clock were moved to wl12xx priv */ 503 /* TODO: ref_clock and tcxo_clock were moved to wl12xx priv */
504 DRIVER_STATE_PRINT_HEX(hw_pg_ver); 504 DRIVER_STATE_PRINT_HEX(hw_pg_ver);
505 DRIVER_STATE_PRINT_HEX(platform_quirks); 505 DRIVER_STATE_PRINT_HEX(irq_flags);
506 DRIVER_STATE_PRINT_HEX(chip.id); 506 DRIVER_STATE_PRINT_HEX(chip.id);
507 DRIVER_STATE_PRINT_STR(chip.fw_ver_str); 507 DRIVER_STATE_PRINT_STR(chip.fw_ver_str);
508 DRIVER_STATE_PRINT_STR(chip.phy_fw_ver_str); 508 DRIVER_STATE_PRINT_STR(chip.phy_fw_ver_str);
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index 1e136993580f..0be807951afe 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -25,8 +25,8 @@
25#include <linux/firmware.h> 25#include <linux/firmware.h>
26#include <linux/etherdevice.h> 26#include <linux/etherdevice.h>
27#include <linux/vmalloc.h> 27#include <linux/vmalloc.h>
28#include <linux/wl12xx.h>
29#include <linux/interrupt.h> 28#include <linux/interrupt.h>
29#include <linux/irq.h>
30 30
31#include "wlcore.h" 31#include "wlcore.h"
32#include "debug.h" 32#include "debug.h"
@@ -538,7 +538,7 @@ static int wlcore_irq_locked(struct wl1271 *wl)
538 * In case edge triggered interrupt must be used, we cannot iterate 538 * In case edge triggered interrupt must be used, we cannot iterate
539 * more than once without introducing race conditions with the hardirq. 539 * more than once without introducing race conditions with the hardirq.
540 */ 540 */
541 if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) 541 if (wl->irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
542 loopcount = 1; 542 loopcount = 1;
543 543
544 wl1271_debug(DEBUG_IRQ, "IRQ work"); 544 wl1271_debug(DEBUG_IRQ, "IRQ work");
@@ -6249,7 +6249,6 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size,
6249 wl->ap_ps_map = 0; 6249 wl->ap_ps_map = 0;
6250 wl->ap_fw_ps_map = 0; 6250 wl->ap_fw_ps_map = 0;
6251 wl->quirks = 0; 6251 wl->quirks = 0;
6252 wl->platform_quirks = 0;
6253 wl->system_hlid = WL12XX_SYSTEM_HLID; 6252 wl->system_hlid = WL12XX_SYSTEM_HLID;
6254 wl->active_sta_count = 0; 6253 wl->active_sta_count = 0;
6255 wl->active_link_count = 0; 6254 wl->active_link_count = 0;
@@ -6390,8 +6389,8 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context)
6390 struct wl1271 *wl = context; 6389 struct wl1271 *wl = context;
6391 struct platform_device *pdev = wl->pdev; 6390 struct platform_device *pdev = wl->pdev;
6392 struct wlcore_platdev_data *pdev_data = dev_get_platdata(&pdev->dev); 6391 struct wlcore_platdev_data *pdev_data = dev_get_platdata(&pdev->dev);
6393 struct wl12xx_platform_data *pdata = pdev_data->pdata; 6392 struct resource *res;
6394 unsigned long irqflags; 6393
6395 int ret; 6394 int ret;
6396 irq_handler_t hardirq_fn = NULL; 6395 irq_handler_t hardirq_fn = NULL;
6397 6396
@@ -6418,19 +6417,23 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context)
6418 /* adjust some runtime configuration parameters */ 6417 /* adjust some runtime configuration parameters */
6419 wlcore_adjust_conf(wl); 6418 wlcore_adjust_conf(wl);
6420 6419
6421 wl->irq = platform_get_irq(pdev, 0); 6420 res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
6422 wl->platform_quirks = pdata->platform_quirks; 6421 if (!res) {
6422 wl1271_error("Could not get IRQ resource");
6423 goto out_free_nvs;
6424 }
6425
6426 wl->irq = res->start;
6427 wl->irq_flags = res->flags & IRQF_TRIGGER_MASK;
6423 wl->if_ops = pdev_data->if_ops; 6428 wl->if_ops = pdev_data->if_ops;
6424 6429
6425 if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) { 6430 if (wl->irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
6426 irqflags = IRQF_TRIGGER_RISING;
6427 hardirq_fn = wlcore_hardirq; 6431 hardirq_fn = wlcore_hardirq;
6428 } else { 6432 else
6429 irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT; 6433 wl->irq_flags |= IRQF_ONESHOT;
6430 }
6431 6434
6432 ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq, 6435 ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq,
6433 irqflags, pdev->name, wl); 6436 wl->irq_flags, pdev->name, wl);
6434 if (ret < 0) { 6437 if (ret < 0) {
6435 wl1271_error("request_irq() failed: %d", ret); 6438 wl1271_error("request_irq() failed: %d", ret);
6436 goto out_free_nvs; 6439 goto out_free_nvs;
@@ -6441,7 +6444,7 @@ static void wlcore_nvs_cb(const struct firmware *fw, void *context)
6441 if (!ret) { 6444 if (!ret) {
6442 wl->irq_wake_enabled = true; 6445 wl->irq_wake_enabled = true;
6443 device_init_wakeup(wl->dev, 1); 6446 device_init_wakeup(wl->dev, 1);
6444 if (pdata->pwr_in_suspend) 6447 if (pdev_data->pwr_in_suspend)
6445 wl->hw->wiphy->wowlan = &wlcore_wowlan_support; 6448 wl->hw->wiphy->wowlan = &wlcore_wowlan_support;
6446 } 6449 }
6447#endif 6450#endif
diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index d3dd7bfdf3f1..ea7e07abca4e 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -31,9 +31,10 @@
31#include <linux/mmc/card.h> 31#include <linux/mmc/card.h>
32#include <linux/mmc/host.h> 32#include <linux/mmc/host.h>
33#include <linux/gpio.h> 33#include <linux/gpio.h>
34#include <linux/wl12xx.h>
35#include <linux/pm_runtime.h> 34#include <linux/pm_runtime.h>
36#include <linux/printk.h> 35#include <linux/printk.h>
36#include <linux/of.h>
37#include <linux/of_irq.h>
37 38
38#include "wlcore.h" 39#include "wlcore.h"
39#include "wl12xx_80211.h" 40#include "wl12xx_80211.h"
@@ -214,6 +215,52 @@ static struct wl1271_if_operations sdio_ops = {
214 .set_block_size = wl1271_sdio_set_block_size, 215 .set_block_size = wl1271_sdio_set_block_size,
215}; 216};
216 217
218#ifdef CONFIG_OF
219static const struct of_device_id wlcore_sdio_of_match_table[] = {
220 { .compatible = "ti,wl1271" },
221 { .compatible = "ti,wl1273" },
222 { .compatible = "ti,wl1281" },
223 { .compatible = "ti,wl1283" },
224 { .compatible = "ti,wl1801" },
225 { .compatible = "ti,wl1805" },
226 { .compatible = "ti,wl1807" },
227 { .compatible = "ti,wl1831" },
228 { .compatible = "ti,wl1835" },
229 { .compatible = "ti,wl1837" },
230 { }
231};
232
233static int wlcore_probe_of(struct device *dev, int *irq,
234 struct wlcore_platdev_data *pdev_data)
235{
236 struct device_node *np = dev->of_node;
237
238 if (!np || !of_match_node(wlcore_sdio_of_match_table, np))
239 return -ENODATA;
240
241 *irq = irq_of_parse_and_map(np, 0);
242 if (!*irq) {
243 dev_err(dev, "No irq in platform data\n");
244 kfree(pdev_data);
245 return -EINVAL;
246 }
247
248 /* optional clock frequency params */
249 of_property_read_u32(np, "ref-clock-frequency",
250 &pdev_data->ref_clock_freq);
251 of_property_read_u32(np, "tcxo-clock-frequency",
252 &pdev_data->tcxo_clock_freq);
253
254 return 0;
255}
256#else
257static int wlcore_probe_of(struct device *dev, int *irq,
258 struct wlcore_platdev_data *pdev_data)
259{
260 return -ENODATA;
261}
262#endif
263
217static int wl1271_probe(struct sdio_func *func, 264static int wl1271_probe(struct sdio_func *func,
218 const struct sdio_device_id *id) 265 const struct sdio_device_id *id)
219{ 266{
@@ -222,6 +269,7 @@ static int wl1271_probe(struct sdio_func *func,
222 struct resource res[1]; 269 struct resource res[1];
223 mmc_pm_flag_t mmcflags; 270 mmc_pm_flag_t mmcflags;
224 int ret = -ENOMEM; 271 int ret = -ENOMEM;
272 int irq;
225 const char *chip_family; 273 const char *chip_family;
226 274
227 /* We are only able to handle the wlan function */ 275 /* We are only able to handle the wlan function */
@@ -245,19 +293,15 @@ static int wl1271_probe(struct sdio_func *func,
245 /* Use block mode for transferring over one block size of data */ 293 /* Use block mode for transferring over one block size of data */
246 func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; 294 func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE;
247 295
248 pdev_data.pdata = wl12xx_get_platform_data(); 296 if (wlcore_probe_of(&func->dev, &irq, &pdev_data))
249 if (IS_ERR(pdev_data.pdata)) {
250 ret = PTR_ERR(pdev_data.pdata);
251 dev_err(glue->dev, "missing wlan platform data: %d\n", ret);
252 goto out_free_glue; 297 goto out_free_glue;
253 }
254 298
255 /* if sdio can keep power while host is suspended, enable wow */ 299 /* if sdio can keep power while host is suspended, enable wow */
256 mmcflags = sdio_get_host_pm_caps(func); 300 mmcflags = sdio_get_host_pm_caps(func);
257 dev_dbg(glue->dev, "sdio PM caps = 0x%x\n", mmcflags); 301 dev_dbg(glue->dev, "sdio PM caps = 0x%x\n", mmcflags);
258 302
259 if (mmcflags & MMC_PM_KEEP_POWER) 303 if (mmcflags & MMC_PM_KEEP_POWER)
260 pdev_data.pdata->pwr_in_suspend = true; 304 pdev_data.pwr_in_suspend = true;
261 305
262 sdio_set_drvdata(func, glue); 306 sdio_set_drvdata(func, glue);
263 307
@@ -286,8 +330,9 @@ static int wl1271_probe(struct sdio_func *func,
286 330
287 memset(res, 0x00, sizeof(res)); 331 memset(res, 0x00, sizeof(res));
288 332
289 res[0].start = pdev_data.pdata->irq; 333 res[0].start = irq;
290 res[0].flags = IORESOURCE_IRQ; 334 res[0].flags = IORESOURCE_IRQ |
335 irqd_get_trigger_type(irq_get_irq_data(irq));
291 res[0].name = "irq"; 336 res[0].name = "irq";
292 337
293 ret = platform_device_add_resources(glue->core, res, ARRAY_SIZE(res)); 338 ret = platform_device_add_resources(glue->core, res, ARRAY_SIZE(res));
diff --git a/drivers/net/wireless/ti/wlcore/spi.c b/drivers/net/wireless/ti/wlcore/spi.c
index 69601f6741d9..f1ac2839d97c 100644
--- a/drivers/net/wireless/ti/wlcore/spi.c
+++ b/drivers/net/wireless/ti/wlcore/spi.c
@@ -331,11 +331,7 @@ static int wl1271_probe(struct spi_device *spi)
331 331
332 memset(&pdev_data, 0x00, sizeof(pdev_data)); 332 memset(&pdev_data, 0x00, sizeof(pdev_data));
333 333
334 pdev_data.pdata = dev_get_platdata(&spi->dev); 334 /* TODO: add DT parsing when needed */
335 if (!pdev_data.pdata) {
336 dev_err(&spi->dev, "no platform data\n");
337 return -ENODEV;
338 }
339 335
340 pdev_data.if_ops = &spi_ops; 336 pdev_data.if_ops = &spi_ops;
341 337
diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h
index d599c869e6e8..7f363fa566a3 100644
--- a/drivers/net/wireless/ti/wlcore/wlcore.h
+++ b/drivers/net/wireless/ti/wlcore/wlcore.h
@@ -197,6 +197,8 @@ struct wl1271 {
197 197
198 int irq; 198 int irq;
199 199
200 int irq_flags;
201
200 spinlock_t wl_lock; 202 spinlock_t wl_lock;
201 203
202 enum wlcore_state state; 204 enum wlcore_state state;
@@ -404,9 +406,6 @@ struct wl1271 {
404 /* Quirks of specific hardware revisions */ 406 /* Quirks of specific hardware revisions */
405 unsigned int quirks; 407 unsigned int quirks;
406 408
407 /* Platform limitations */
408 unsigned int platform_quirks;
409
410 /* number of currently active RX BA sessions */ 409 /* number of currently active RX BA sessions */
411 int ba_rx_session_count; 410 int ba_rx_session_count;
412 411
diff --git a/drivers/net/wireless/ti/wlcore/wlcore_i.h b/drivers/net/wireless/ti/wlcore/wlcore_i.h
index 3396ce5a934d..39efc6d78b10 100644
--- a/drivers/net/wireless/ti/wlcore/wlcore_i.h
+++ b/drivers/net/wireless/ti/wlcore/wlcore_i.h
@@ -201,8 +201,12 @@ struct wl1271_if_operations {
201}; 201};
202 202
203struct wlcore_platdev_data { 203struct wlcore_platdev_data {
204 struct wl12xx_platform_data *pdata;
205 struct wl1271_if_operations *if_ops; 204 struct wl1271_if_operations *if_ops;
205
206 bool ref_clock_xtal; /* specify whether the clock is XTAL or not */
207 u32 ref_clock_freq; /* in Hertz */
208 u32 tcxo_clock_freq; /* in Hertz, tcxo is always XTAL */
209 bool pwr_in_suspend;
206}; 210};
207 211
208#define MAX_NUM_KEYS 14 212#define MAX_NUM_KEYS 14
diff --git a/include/dt-bindings/clock/r8a7790-clock.h b/include/dt-bindings/clock/r8a7790-clock.h
index 91940271cf83..3f2c6b198d4a 100644
--- a/include/dt-bindings/clock/r8a7790-clock.h
+++ b/include/dt-bindings/clock/r8a7790-clock.h
@@ -21,6 +21,8 @@
21#define R8A7790_CLK_SD0 7 21#define R8A7790_CLK_SD0 7
22#define R8A7790_CLK_SD1 8 22#define R8A7790_CLK_SD1 8
23#define R8A7790_CLK_Z 9 23#define R8A7790_CLK_Z 9
24#define R8A7790_CLK_RCAN 10
25#define R8A7790_CLK_ADSP 11
24 26
25/* MSTP0 */ 27/* MSTP0 */
26#define R8A7790_CLK_MSIOF0 0 28#define R8A7790_CLK_MSIOF0 0
@@ -80,6 +82,7 @@
80/* MSTP5 */ 82/* MSTP5 */
81#define R8A7790_CLK_AUDIO_DMAC1 1 83#define R8A7790_CLK_AUDIO_DMAC1 1
82#define R8A7790_CLK_AUDIO_DMAC0 2 84#define R8A7790_CLK_AUDIO_DMAC0 2
85#define R8A7790_CLK_ADSP_MOD 6
83#define R8A7790_CLK_THERMAL 22 86#define R8A7790_CLK_THERMAL 22
84#define R8A7790_CLK_PWM 23 87#define R8A7790_CLK_PWM 23
85 88
diff --git a/include/dt-bindings/clock/r8a7791-clock.h b/include/dt-bindings/clock/r8a7791-clock.h
index f096f3f6c16a..8fc5dc8faeea 100644
--- a/include/dt-bindings/clock/r8a7791-clock.h
+++ b/include/dt-bindings/clock/r8a7791-clock.h
@@ -20,6 +20,8 @@
20#define R8A7791_CLK_SDH 6 20#define R8A7791_CLK_SDH 6
21#define R8A7791_CLK_SD0 7 21#define R8A7791_CLK_SD0 7
22#define R8A7791_CLK_Z 8 22#define R8A7791_CLK_Z 8
23#define R8A7791_CLK_RCAN 9
24#define R8A7791_CLK_ADSP 10
23 25
24/* MSTP0 */ 26/* MSTP0 */
25#define R8A7791_CLK_MSIOF0 0 27#define R8A7791_CLK_MSIOF0 0
@@ -71,6 +73,7 @@
71/* MSTP5 */ 73/* MSTP5 */
72#define R8A7791_CLK_AUDIO_DMAC1 1 74#define R8A7791_CLK_AUDIO_DMAC1 1
73#define R8A7791_CLK_AUDIO_DMAC0 2 75#define R8A7791_CLK_AUDIO_DMAC0 2
76#define R8A7791_CLK_ADSP_MOD 6
74#define R8A7791_CLK_THERMAL 22 77#define R8A7791_CLK_THERMAL 22
75#define R8A7791_CLK_PWM 23 78#define R8A7791_CLK_PWM 23
76 79
diff --git a/include/dt-bindings/clock/sh73a0-clock.h b/include/dt-bindings/clock/sh73a0-clock.h
index 1dd3eb2b7d90..53369568c24c 100644
--- a/include/dt-bindings/clock/sh73a0-clock.h
+++ b/include/dt-bindings/clock/sh73a0-clock.h
@@ -76,4 +76,7 @@
76#define SH73A0_CLK_IIC4 10 76#define SH73A0_CLK_IIC4 10
77#define SH73A0_CLK_KEYSC 3 77#define SH73A0_CLK_KEYSC 3
78 78
79/* MSTP5 */
80#define SH73A0_CLK_INTCA0 8
81
79#endif 82#endif
diff --git a/include/dt-bindings/media/omap3-isp.h b/include/dt-bindings/media/omap3-isp.h
new file mode 100644
index 000000000000..b18c60e468c7
--- /dev/null
+++ b/include/dt-bindings/media/omap3-isp.h
@@ -0,0 +1,22 @@
1/*
2 * include/dt-bindings/media/omap3-isp.h
3 *
4 * Copyright (C) 2015 Sakari Ailus
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * version 2 as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 */
15
16#ifndef __DT_BINDINGS_OMAP3_ISP_H__
17#define __DT_BINDINGS_OMAP3_ISP_H__
18
19#define OMAP3ISP_PHY_TYPE_COMPLEX_IO 0
20#define OMAP3ISP_PHY_TYPE_CSIPHY 1
21
22#endif /* __DT_BINDINGS_OMAP3_ISP_H__ */
diff --git a/include/linux/wl12xx.h b/include/linux/wl12xx.h
index a9c723be1acf..95704cd4cfab 100644
--- a/include/linux/wl12xx.h
+++ b/include/linux/wl12xx.h
@@ -26,28 +26,6 @@
26 26
27#include <linux/err.h> 27#include <linux/err.h>
28 28
29/* Reference clock values */
30enum {
31 WL12XX_REFCLOCK_19 = 0, /* 19.2 MHz */
32 WL12XX_REFCLOCK_26 = 1, /* 26 MHz */
33 WL12XX_REFCLOCK_38 = 2, /* 38.4 MHz */
34 WL12XX_REFCLOCK_52 = 3, /* 52 MHz */
35 WL12XX_REFCLOCK_38_XTAL = 4, /* 38.4 MHz, XTAL */
36 WL12XX_REFCLOCK_26_XTAL = 5, /* 26 MHz, XTAL */
37};
38
39/* TCXO clock values */
40enum {
41 WL12XX_TCXOCLOCK_19_2 = 0, /* 19.2MHz */
42 WL12XX_TCXOCLOCK_26 = 1, /* 26 MHz */
43 WL12XX_TCXOCLOCK_38_4 = 2, /* 38.4MHz */
44 WL12XX_TCXOCLOCK_52 = 3, /* 52 MHz */
45 WL12XX_TCXOCLOCK_16_368 = 4, /* 16.368 MHz */
46 WL12XX_TCXOCLOCK_32_736 = 5, /* 32.736 MHz */
47 WL12XX_TCXOCLOCK_16_8 = 6, /* 16.8 MHz */
48 WL12XX_TCXOCLOCK_33_6 = 7, /* 33.6 MHz */
49};
50
51struct wl1251_platform_data { 29struct wl1251_platform_data {
52 int power_gpio; 30 int power_gpio;
53 /* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */ 31 /* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */
@@ -55,23 +33,8 @@ struct wl1251_platform_data {
55 bool use_eeprom; 33 bool use_eeprom;
56}; 34};
57 35
58struct wl12xx_platform_data {
59 int irq;
60 int board_ref_clock;
61 int board_tcxo_clock;
62 unsigned long platform_quirks;
63 bool pwr_in_suspend;
64};
65
66/* Platform does not support level trigger interrupts */
67#define WL12XX_PLATFORM_QUIRK_EDGE_IRQ BIT(0)
68
69#ifdef CONFIG_WILINK_PLATFORM_DATA 36#ifdef CONFIG_WILINK_PLATFORM_DATA
70 37
71int wl12xx_set_platform_data(const struct wl12xx_platform_data *data);
72
73struct wl12xx_platform_data *wl12xx_get_platform_data(void);
74
75int wl1251_set_platform_data(const struct wl1251_platform_data *data); 38int wl1251_set_platform_data(const struct wl1251_platform_data *data);
76 39
77struct wl1251_platform_data *wl1251_get_platform_data(void); 40struct wl1251_platform_data *wl1251_get_platform_data(void);
@@ -79,18 +42,6 @@ struct wl1251_platform_data *wl1251_get_platform_data(void);
79#else 42#else
80 43
81static inline 44static inline
82int wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
83{
84 return -ENOSYS;
85}
86
87static inline
88struct wl12xx_platform_data *wl12xx_get_platform_data(void)
89{
90 return ERR_PTR(-ENODATA);
91}
92
93static inline
94int wl1251_set_platform_data(const struct wl1251_platform_data *data) 45int wl1251_set_platform_data(const struct wl1251_platform_data *data)
95{ 46{
96 return -ENOSYS; 47 return -ENOSYS;