115abee8aSCarlo Caione/* 215abee8aSCarlo Caione * Copyright (c) 2016 Endless Computers, Inc. 315abee8aSCarlo Caione * Author: Carlo Caione <carlo@endlessm.com> 415abee8aSCarlo Caione * 515abee8aSCarlo Caione * This file is dual-licensed: you can use it either under the terms 615abee8aSCarlo Caione * of the GPL or the X11 license, at your option. Note that this dual 715abee8aSCarlo Caione * licensing only applies to this file, and not this project as a 815abee8aSCarlo Caione * whole. 915abee8aSCarlo Caione * 1015abee8aSCarlo Caione * a) This library is free software; you can redistribute it and/or 1115abee8aSCarlo Caione * modify it under the terms of the GNU General Public License as 1215abee8aSCarlo Caione * published by the Free Software Foundation; either version 2 of the 1315abee8aSCarlo Caione * License, or (at your option) any later version. 1415abee8aSCarlo Caione * 1515abee8aSCarlo Caione * This library is distributed in the hope that it will be useful, 1615abee8aSCarlo Caione * but WITHOUT ANY WARRANTY; without even the implied warranty of 1715abee8aSCarlo Caione * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1815abee8aSCarlo Caione * GNU General Public License for more details. 1915abee8aSCarlo Caione * 2015abee8aSCarlo Caione * Or, alternatively, 2115abee8aSCarlo Caione * 2215abee8aSCarlo Caione * b) Permission is hereby granted, free of charge, to any person 2315abee8aSCarlo Caione * obtaining a copy of this software and associated documentation 2415abee8aSCarlo Caione * files (the "Software"), to deal in the Software without 2515abee8aSCarlo Caione * restriction, including without limitation the rights to use, 2615abee8aSCarlo Caione * copy, modify, merge, publish, distribute, sublicense, and/or 2715abee8aSCarlo Caione * sell copies of the Software, and to permit persons to whom the 2815abee8aSCarlo Caione * Software is furnished to do so, subject to the following 2915abee8aSCarlo Caione * conditions: 3015abee8aSCarlo Caione * 3115abee8aSCarlo Caione * The above copyright notice and this permission notice shall be 3215abee8aSCarlo Caione * included in all copies or substantial portions of the Software. 3315abee8aSCarlo Caione * 3415abee8aSCarlo Caione * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 3515abee8aSCarlo Caione * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 3615abee8aSCarlo Caione * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 3715abee8aSCarlo Caione * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 3815abee8aSCarlo Caione * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 3915abee8aSCarlo Caione * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 4015abee8aSCarlo Caione * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 4115abee8aSCarlo Caione * OTHER DEALINGS IN THE SOFTWARE. 4215abee8aSCarlo Caione */ 4315abee8aSCarlo Caione 4415abee8aSCarlo Caione#include "meson-gx.dtsi" 45973fbd55SNeil Armstrong#include <dt-bindings/clock/gxbb-clkc.h> 46b16c71c9SNeil Armstrong#include <dt-bindings/clock/gxbb-aoclkc.h> 471cf3df8aSKevin Hilman#include <dt-bindings/gpio/meson-gxl-gpio.h> 486939db7eSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 4915abee8aSCarlo Caione 5015abee8aSCarlo Caione/ { 5115abee8aSCarlo Caione compatible = "amlogic,meson-gxl"; 524ee8e51bSNeil Armstrong 534ee8e51bSNeil Armstrong reserved-memory { 544ee8e51bSNeil Armstrong /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ 55a5494aedSArnd Bergmann secmon_reserved_alt: secmon@5000000 { 564ee8e51bSNeil Armstrong reg = <0x0 0x05000000 0x0 0x300000>; 574ee8e51bSNeil Armstrong no-map; 584ee8e51bSNeil Armstrong }; 594ee8e51bSNeil Armstrong }; 6015abee8aSCarlo Caione}; 61fb0fe922SNeil Armstrong 62e9e27c64SNeil Armstrongðmac { 63e9e27c64SNeil Armstrong reg = <0x0 0xc9410000 0x0 0x10000 64e9e27c64SNeil Armstrong 0x0 0xc8834540 0x0 0x4>; 65e9e27c64SNeil Armstrong 66e9e27c64SNeil Armstrong clocks = <&clkc CLKID_ETH>, 67e9e27c64SNeil Armstrong <&clkc CLKID_FCLK_DIV2>, 68e9e27c64SNeil Armstrong <&clkc CLKID_MPLL2>; 69e9e27c64SNeil Armstrong clock-names = "stmmaceth", "clkin0", "clkin1"; 70e9e27c64SNeil Armstrong 71e9e27c64SNeil Armstrong mdio0: mdio { 72e9e27c64SNeil Armstrong #address-cells = <1>; 73e9e27c64SNeil Armstrong #size-cells = <0>; 74e9e27c64SNeil Armstrong compatible = "snps,dwmac-mdio"; 75e9e27c64SNeil Armstrong }; 76e9e27c64SNeil Armstrong}; 77e9e27c64SNeil Armstrong 78fb0fe922SNeil Armstrong&aobus { 79fb0fe922SNeil Armstrong pinctrl_aobus: pinctrl@14 { 80fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-aobus-pinctrl"; 81fb0fe922SNeil Armstrong #address-cells = <2>; 82fb0fe922SNeil Armstrong #size-cells = <2>; 83fb0fe922SNeil Armstrong ranges; 84fb0fe922SNeil Armstrong 85fb0fe922SNeil Armstrong gpio_ao: bank@14 { 86fb0fe922SNeil Armstrong reg = <0x0 0x00014 0x0 0x8>, 87fb0fe922SNeil Armstrong <0x0 0x0002c 0x0 0x4>, 88fb0fe922SNeil Armstrong <0x0 0x00024 0x0 0x8>; 89fb0fe922SNeil Armstrong reg-names = "mux", "pull", "gpio"; 90fb0fe922SNeil Armstrong gpio-controller; 91fb0fe922SNeil Armstrong #gpio-cells = <2>; 9284412e4eSNeil Armstrong gpio-ranges = <&pinctrl_aobus 0 0 14>; 93fb0fe922SNeil Armstrong }; 94fb0fe922SNeil Armstrong 95fb0fe922SNeil Armstrong uart_ao_a_pins: uart_ao_a { 96fb0fe922SNeil Armstrong mux { 97fb0fe922SNeil Armstrong groups = "uart_tx_ao_a", "uart_rx_ao_a"; 98fb0fe922SNeil Armstrong function = "uart_ao"; 99fb0fe922SNeil Armstrong }; 100fb0fe922SNeil Armstrong }; 101fb0fe922SNeil Armstrong 102261e1d5cSMartin Blumenstingl uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts { 103261e1d5cSMartin Blumenstingl mux { 104261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_a", 105261e1d5cSMartin Blumenstingl "uart_rts_ao_a"; 106261e1d5cSMartin Blumenstingl function = "uart_ao"; 107261e1d5cSMartin Blumenstingl }; 108261e1d5cSMartin Blumenstingl }; 109261e1d5cSMartin Blumenstingl 110890a96a2SMartin Blumenstingl uart_ao_b_pins: uart_ao_b { 111890a96a2SMartin Blumenstingl mux { 112890a96a2SMartin Blumenstingl groups = "uart_tx_ao_b", "uart_rx_ao_b"; 113890a96a2SMartin Blumenstingl function = "uart_ao_b"; 114890a96a2SMartin Blumenstingl }; 115890a96a2SMartin Blumenstingl }; 116890a96a2SMartin Blumenstingl 117ca02e3f9SNeil Armstrong uart_ao_b_0_1_pins: uart_ao_b_0_1 { 118ca02e3f9SNeil Armstrong mux { 119ca02e3f9SNeil Armstrong groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1"; 120ca02e3f9SNeil Armstrong function = "uart_ao_b"; 121ca02e3f9SNeil Armstrong }; 122ca02e3f9SNeil Armstrong }; 123ca02e3f9SNeil Armstrong 124261e1d5cSMartin Blumenstingl uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts { 125261e1d5cSMartin Blumenstingl mux { 126261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_b", 127261e1d5cSMartin Blumenstingl "uart_rts_ao_b"; 128261e1d5cSMartin Blumenstingl function = "uart_ao_b"; 129261e1d5cSMartin Blumenstingl }; 130261e1d5cSMartin Blumenstingl }; 131261e1d5cSMartin Blumenstingl 132fb0fe922SNeil Armstrong remote_input_ao_pins: remote_input_ao { 133fb0fe922SNeil Armstrong mux { 134fb0fe922SNeil Armstrong groups = "remote_input_ao"; 135fb0fe922SNeil Armstrong function = "remote_input_ao"; 136fb0fe922SNeil Armstrong }; 137fb0fe922SNeil Armstrong }; 138249a2243SMartin Blumenstingl 139ca02e3f9SNeil Armstrong i2c_ao_pins: i2c_ao { 140ca02e3f9SNeil Armstrong mux { 141ca02e3f9SNeil Armstrong groups = "i2c_sck_ao", 142ca02e3f9SNeil Armstrong "i2c_sda_ao"; 143ca02e3f9SNeil Armstrong function = "i2c_ao"; 144ca02e3f9SNeil Armstrong }; 145ca02e3f9SNeil Armstrong }; 146ca02e3f9SNeil Armstrong 147e98fd134SMartin Blumenstingl pwm_ao_a_3_pins: pwm_ao_a_3 { 148e98fd134SMartin Blumenstingl mux { 149e98fd134SMartin Blumenstingl groups = "pwm_ao_a_3"; 150e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 151e98fd134SMartin Blumenstingl }; 152e98fd134SMartin Blumenstingl }; 153e98fd134SMartin Blumenstingl 154e98fd134SMartin Blumenstingl pwm_ao_a_8_pins: pwm_ao_a_8 { 155e98fd134SMartin Blumenstingl mux { 156e98fd134SMartin Blumenstingl groups = "pwm_ao_a_8"; 157e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 158e98fd134SMartin Blumenstingl }; 159e98fd134SMartin Blumenstingl }; 160e98fd134SMartin Blumenstingl 161249a2243SMartin Blumenstingl pwm_ao_b_pins: pwm_ao_b { 162249a2243SMartin Blumenstingl mux { 163249a2243SMartin Blumenstingl groups = "pwm_ao_b"; 164249a2243SMartin Blumenstingl function = "pwm_ao_b"; 165249a2243SMartin Blumenstingl }; 166249a2243SMartin Blumenstingl }; 167ca02e3f9SNeil Armstrong 168ca02e3f9SNeil Armstrong pwm_ao_b_6_pins: pwm_ao_b_6 { 169ca02e3f9SNeil Armstrong mux { 170ca02e3f9SNeil Armstrong groups = "pwm_ao_b_6"; 171ca02e3f9SNeil Armstrong function = "pwm_ao_b"; 172ca02e3f9SNeil Armstrong }; 173ca02e3f9SNeil Armstrong }; 174c16fe9a1Sjbrunet 175c16fe9a1Sjbrunet i2s_out_ch23_ao_pins: i2s_out_ch23_ao { 176c16fe9a1Sjbrunet mux { 177c16fe9a1Sjbrunet groups = "i2s_out_ch23_ao"; 178c16fe9a1Sjbrunet function = "i2s_out_ao"; 179c16fe9a1Sjbrunet }; 180c16fe9a1Sjbrunet }; 181c16fe9a1Sjbrunet 182c16fe9a1Sjbrunet i2s_out_ch45_ao_pins: i2s_out_ch45_ao { 183c16fe9a1Sjbrunet mux { 184c16fe9a1Sjbrunet groups = "i2s_out_ch45_ao"; 185c16fe9a1Sjbrunet function = "i2s_out_ao"; 186c16fe9a1Sjbrunet }; 187c16fe9a1Sjbrunet }; 1889503062dSjbrunet 1899503062dSjbrunet spdif_out_ao_6_pins: spdif_out_ao_6 { 1909503062dSjbrunet mux { 1919503062dSjbrunet groups = "spdif_out_ao_6"; 1929503062dSjbrunet function = "spdif_out_ao"; 1939503062dSjbrunet }; 1949503062dSjbrunet }; 1959503062dSjbrunet 1969503062dSjbrunet spdif_out_ao_9_pins: spdif_out_ao_9 { 1979503062dSjbrunet mux { 1989503062dSjbrunet groups = "spdif_out_ao_9"; 1999503062dSjbrunet function = "spdif_out_ao"; 2009503062dSjbrunet }; 2019503062dSjbrunet }; 2026d717619SNeil Armstrong 2036d717619SNeil Armstrong ao_cec_pins: ao_cec { 2046d717619SNeil Armstrong mux { 2056d717619SNeil Armstrong groups = "ao_cec"; 2066d717619SNeil Armstrong function = "cec_ao"; 2076d717619SNeil Armstrong }; 2086d717619SNeil Armstrong }; 2096d717619SNeil Armstrong 2106d717619SNeil Armstrong ee_cec_pins: ee_cec { 2116d717619SNeil Armstrong mux { 2126d717619SNeil Armstrong groups = "ee_cec"; 2136d717619SNeil Armstrong function = "cec_ao"; 2146d717619SNeil Armstrong }; 2156d717619SNeil Armstrong }; 216fb0fe922SNeil Armstrong }; 217fb0fe922SNeil Armstrong}; 218fb0fe922SNeil Armstrong 219b16c71c9SNeil Armstrong&cec_AO { 220b16c71c9SNeil Armstrong clocks = <&clkc_AO CLKID_AO_CEC_32K>; 221b16c71c9SNeil Armstrong clock-names = "core"; 222b16c71c9SNeil Armstrong}; 223b16c71c9SNeil Armstrong 2247fd2c355SNeil Armstrong&clkc_AO { 2257fd2c355SNeil Armstrong compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc"; 2267fd2c355SNeil Armstrong}; 2277fd2c355SNeil Armstrong 2289dbb56eaSJerome Brunet&gpio_intc { 2299dbb56eaSJerome Brunet compatible = "amlogic,meson-gpio-intc", 2309dbb56eaSJerome Brunet "amlogic,meson-gxl-gpio-intc"; 2319dbb56eaSJerome Brunet status = "okay"; 2329dbb56eaSJerome Brunet}; 2339dbb56eaSJerome Brunet 2346a573c4eSAndreas Färber&hdmi_tx { 2356a573c4eSAndreas Färber compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 2366a573c4eSAndreas Färber resets = <&reset RESET_HDMITX_CAPB3>, 2376a573c4eSAndreas Färber <&reset RESET_HDMI_SYSTEM_RESET>, 2386a573c4eSAndreas Färber <&reset RESET_HDMI_TX>; 2396a573c4eSAndreas Färber reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; 2406a573c4eSAndreas Färber clocks = <&clkc CLKID_HDMI_PCLK>, 2416a573c4eSAndreas Färber <&clkc CLKID_CLK81>, 2426a573c4eSAndreas Färber <&clkc CLKID_GCLK_VENCI_INT0>; 2436a573c4eSAndreas Färber clock-names = "isfr", "iahb", "venci"; 2446a573c4eSAndreas Färber}; 2456a573c4eSAndreas Färber 2466a573c4eSAndreas Färber&hiubus { 2476a573c4eSAndreas Färber clkc: clock-controller@0 { 2486a573c4eSAndreas Färber compatible = "amlogic,gxl-clkc", "amlogic,gxbb-clkc"; 2496a573c4eSAndreas Färber #clock-cells = <1>; 2506a573c4eSAndreas Färber reg = <0x0 0x0 0x0 0x3db>; 2516a573c4eSAndreas Färber }; 2526a573c4eSAndreas Färber}; 2536a573c4eSAndreas Färber 2546a573c4eSAndreas Färber&i2c_A { 2556a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2566a573c4eSAndreas Färber}; 2576a573c4eSAndreas Färber 2586a573c4eSAndreas Färber&i2c_AO { 2596a573c4eSAndreas Färber clocks = <&clkc CLKID_AO_I2C>; 2606a573c4eSAndreas Färber}; 2616a573c4eSAndreas Färber 2626a573c4eSAndreas Färber&i2c_B { 2636a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2646a573c4eSAndreas Färber}; 2656a573c4eSAndreas Färber 2666a573c4eSAndreas Färber&i2c_C { 2676a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2686a573c4eSAndreas Färber}; 2696a573c4eSAndreas Färber 270fb0fe922SNeil Armstrong&periphs { 271fb0fe922SNeil Armstrong pinctrl_periphs: pinctrl@4b0 { 272fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-periphs-pinctrl"; 273fb0fe922SNeil Armstrong #address-cells = <2>; 274fb0fe922SNeil Armstrong #size-cells = <2>; 275fb0fe922SNeil Armstrong ranges; 276fb0fe922SNeil Armstrong 277fb0fe922SNeil Armstrong gpio: bank@4b0 { 278fb0fe922SNeil Armstrong reg = <0x0 0x004b0 0x0 0x28>, 279fb0fe922SNeil Armstrong <0x0 0x004e8 0x0 0x14>, 280f4c406d5SNeil Armstrong <0x0 0x00520 0x0 0x14>, 281fb0fe922SNeil Armstrong <0x0 0x00430 0x0 0x40>; 282fb0fe922SNeil Armstrong reg-names = "mux", "pull", "pull-enable", "gpio"; 283fb0fe922SNeil Armstrong gpio-controller; 284fb0fe922SNeil Armstrong #gpio-cells = <2>; 2857dbe78e5SJerome Brunet gpio-ranges = <&pinctrl_periphs 0 0 100>; 286fb0fe922SNeil Armstrong }; 287fb0fe922SNeil Armstrong 288fb0fe922SNeil Armstrong emmc_pins: emmc { 289fb0fe922SNeil Armstrong mux { 290fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 291fb0fe922SNeil Armstrong "emmc_cmd", 292ab36be66SNeil Armstrong "emmc_clk"; 293ab36be66SNeil Armstrong function = "emmc"; 294ab36be66SNeil Armstrong }; 295ab36be66SNeil Armstrong }; 296ab36be66SNeil Armstrong 297ab36be66SNeil Armstrong emmc_ds_pins: emmc-ds { 298ab36be66SNeil Armstrong mux { 299ab36be66SNeil Armstrong groups = "emmc_ds"; 300fb0fe922SNeil Armstrong function = "emmc"; 301fb0fe922SNeil Armstrong }; 302fb0fe922SNeil Armstrong }; 303fb0fe922SNeil Armstrong 30467e7607fSJerome Brunet emmc_clk_gate_pins: emmc_clk_gate { 30567e7607fSJerome Brunet mux { 30667e7607fSJerome Brunet groups = "BOOT_8"; 30767e7607fSJerome Brunet function = "gpio_periphs"; 30867e7607fSJerome Brunet }; 30967e7607fSJerome Brunet cfg-pull-down { 31067e7607fSJerome Brunet pins = "BOOT_8"; 31167e7607fSJerome Brunet bias-pull-down; 31267e7607fSJerome Brunet }; 31367e7607fSJerome Brunet }; 31467e7607fSJerome Brunet 315ca02e3f9SNeil Armstrong nor_pins: nor { 316ca02e3f9SNeil Armstrong mux { 317ca02e3f9SNeil Armstrong groups = "nor_d", 318ca02e3f9SNeil Armstrong "nor_q", 319ca02e3f9SNeil Armstrong "nor_c", 320ca02e3f9SNeil Armstrong "nor_cs"; 321ca02e3f9SNeil Armstrong function = "nor"; 322ca02e3f9SNeil Armstrong }; 323ca02e3f9SNeil Armstrong }; 324ca02e3f9SNeil Armstrong 32585b2e743SNeil Armstrong spi_pins: spi { 32685b2e743SNeil Armstrong mux { 32785b2e743SNeil Armstrong groups = "spi_miso", 32885b2e743SNeil Armstrong "spi_mosi", 32985b2e743SNeil Armstrong "spi_sclk"; 33085b2e743SNeil Armstrong function = "spi"; 33185b2e743SNeil Armstrong }; 33285b2e743SNeil Armstrong }; 33385b2e743SNeil Armstrong 33485b2e743SNeil Armstrong spi_ss0_pins: spi-ss0 { 33585b2e743SNeil Armstrong mux { 33685b2e743SNeil Armstrong groups = "spi_ss0"; 33785b2e743SNeil Armstrong function = "spi"; 33885b2e743SNeil Armstrong }; 33985b2e743SNeil Armstrong }; 34085b2e743SNeil Armstrong 341fb0fe922SNeil Armstrong sdcard_pins: sdcard { 342fb0fe922SNeil Armstrong mux { 343fb0fe922SNeil Armstrong groups = "sdcard_d0", 344fb0fe922SNeil Armstrong "sdcard_d1", 345fb0fe922SNeil Armstrong "sdcard_d2", 346fb0fe922SNeil Armstrong "sdcard_d3", 347fb0fe922SNeil Armstrong "sdcard_cmd", 348fb0fe922SNeil Armstrong "sdcard_clk"; 349fb0fe922SNeil Armstrong function = "sdcard"; 350fb0fe922SNeil Armstrong }; 351fb0fe922SNeil Armstrong }; 352fb0fe922SNeil Armstrong 35367e7607fSJerome Brunet sdcard_clk_gate_pins: sdcard_clk_gate { 35467e7607fSJerome Brunet mux { 35567e7607fSJerome Brunet groups = "CARD_2"; 35667e7607fSJerome Brunet function = "gpio_periphs"; 35767e7607fSJerome Brunet }; 35867e7607fSJerome Brunet cfg-pull-down { 35967e7607fSJerome Brunet pins = "CARD_2"; 36067e7607fSJerome Brunet bias-pull-down; 36167e7607fSJerome Brunet }; 36267e7607fSJerome Brunet }; 36367e7607fSJerome Brunet 364fb0fe922SNeil Armstrong sdio_pins: sdio { 365fb0fe922SNeil Armstrong mux { 366fb0fe922SNeil Armstrong groups = "sdio_d0", 367fb0fe922SNeil Armstrong "sdio_d1", 368fb0fe922SNeil Armstrong "sdio_d2", 369fb0fe922SNeil Armstrong "sdio_d3", 370fb0fe922SNeil Armstrong "sdio_cmd", 371fb0fe922SNeil Armstrong "sdio_clk"; 372fb0fe922SNeil Armstrong function = "sdio"; 373fb0fe922SNeil Armstrong }; 374fb0fe922SNeil Armstrong }; 375fb0fe922SNeil Armstrong 37667e7607fSJerome Brunet sdio_clk_gate_pins: sdio_clk_gate { 37767e7607fSJerome Brunet mux { 37867e7607fSJerome Brunet groups = "GPIOX_4"; 37967e7607fSJerome Brunet function = "gpio_periphs"; 38067e7607fSJerome Brunet }; 38167e7607fSJerome Brunet cfg-pull-down { 38267e7607fSJerome Brunet pins = "GPIOX_4"; 38367e7607fSJerome Brunet bias-pull-down; 38467e7607fSJerome Brunet }; 38567e7607fSJerome Brunet }; 38667e7607fSJerome Brunet 387fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 388fb0fe922SNeil Armstrong mux { 389fb0fe922SNeil Armstrong groups = "sdio_irq"; 390fb0fe922SNeil Armstrong function = "sdio"; 391fb0fe922SNeil Armstrong }; 392fb0fe922SNeil Armstrong }; 393fb0fe922SNeil Armstrong 394fb0fe922SNeil Armstrong uart_a_pins: uart_a { 395fb0fe922SNeil Armstrong mux { 396fb0fe922SNeil Armstrong groups = "uart_tx_a", 397fb0fe922SNeil Armstrong "uart_rx_a"; 398fb0fe922SNeil Armstrong function = "uart_a"; 399fb0fe922SNeil Armstrong }; 400fb0fe922SNeil Armstrong }; 401fb0fe922SNeil Armstrong 402261e1d5cSMartin Blumenstingl uart_a_cts_rts_pins: uart_a_cts_rts { 403261e1d5cSMartin Blumenstingl mux { 404261e1d5cSMartin Blumenstingl groups = "uart_cts_a", 405261e1d5cSMartin Blumenstingl "uart_rts_a"; 406261e1d5cSMartin Blumenstingl function = "uart_a"; 407261e1d5cSMartin Blumenstingl }; 408261e1d5cSMartin Blumenstingl }; 409261e1d5cSMartin Blumenstingl 410fb0fe922SNeil Armstrong uart_b_pins: uart_b { 411fb0fe922SNeil Armstrong mux { 412fb0fe922SNeil Armstrong groups = "uart_tx_b", 413fb0fe922SNeil Armstrong "uart_rx_b"; 414fb0fe922SNeil Armstrong function = "uart_b"; 415fb0fe922SNeil Armstrong }; 416fb0fe922SNeil Armstrong }; 417fb0fe922SNeil Armstrong 418261e1d5cSMartin Blumenstingl uart_b_cts_rts_pins: uart_b_cts_rts { 419261e1d5cSMartin Blumenstingl mux { 420261e1d5cSMartin Blumenstingl groups = "uart_cts_b", 421261e1d5cSMartin Blumenstingl "uart_rts_b"; 422261e1d5cSMartin Blumenstingl function = "uart_b"; 423261e1d5cSMartin Blumenstingl }; 424261e1d5cSMartin Blumenstingl }; 425261e1d5cSMartin Blumenstingl 426fb0fe922SNeil Armstrong uart_c_pins: uart_c { 427fb0fe922SNeil Armstrong mux { 428fb0fe922SNeil Armstrong groups = "uart_tx_c", 429fb0fe922SNeil Armstrong "uart_rx_c"; 430fb0fe922SNeil Armstrong function = "uart_c"; 431fb0fe922SNeil Armstrong }; 432fb0fe922SNeil Armstrong }; 433fb0fe922SNeil Armstrong 434261e1d5cSMartin Blumenstingl uart_c_cts_rts_pins: uart_c_cts_rts { 435261e1d5cSMartin Blumenstingl mux { 436261e1d5cSMartin Blumenstingl groups = "uart_cts_c", 437261e1d5cSMartin Blumenstingl "uart_rts_c"; 438261e1d5cSMartin Blumenstingl function = "uart_c"; 439261e1d5cSMartin Blumenstingl }; 440261e1d5cSMartin Blumenstingl }; 441261e1d5cSMartin Blumenstingl 442fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 443fb0fe922SNeil Armstrong mux { 444fb0fe922SNeil Armstrong groups = "i2c_sck_a", 445fb0fe922SNeil Armstrong "i2c_sda_a"; 446fb0fe922SNeil Armstrong function = "i2c_a"; 447fb0fe922SNeil Armstrong }; 448fb0fe922SNeil Armstrong }; 449fb0fe922SNeil Armstrong 450fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 451fb0fe922SNeil Armstrong mux { 452fb0fe922SNeil Armstrong groups = "i2c_sck_b", 453fb0fe922SNeil Armstrong "i2c_sda_b"; 454fb0fe922SNeil Armstrong function = "i2c_b"; 455fb0fe922SNeil Armstrong }; 456fb0fe922SNeil Armstrong }; 457fb0fe922SNeil Armstrong 458fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 459fb0fe922SNeil Armstrong mux { 460fb0fe922SNeil Armstrong groups = "i2c_sck_c", 461fb0fe922SNeil Armstrong "i2c_sda_c"; 462fb0fe922SNeil Armstrong function = "i2c_c"; 463fb0fe922SNeil Armstrong }; 464fb0fe922SNeil Armstrong }; 465fb0fe922SNeil Armstrong 466fb0fe922SNeil Armstrong eth_pins: eth_c { 467fb0fe922SNeil Armstrong mux { 468fb0fe922SNeil Armstrong groups = "eth_mdio", 469fb0fe922SNeil Armstrong "eth_mdc", 470fb0fe922SNeil Armstrong "eth_clk_rx_clk", 471fb0fe922SNeil Armstrong "eth_rx_dv", 472fb0fe922SNeil Armstrong "eth_rxd0", 473fb0fe922SNeil Armstrong "eth_rxd1", 474fb0fe922SNeil Armstrong "eth_rxd2", 475fb0fe922SNeil Armstrong "eth_rxd3", 476fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 477fb0fe922SNeil Armstrong "eth_tx_en", 478fb0fe922SNeil Armstrong "eth_txd0", 479fb0fe922SNeil Armstrong "eth_txd1", 480fb0fe922SNeil Armstrong "eth_txd2", 481fb0fe922SNeil Armstrong "eth_txd3"; 482fb0fe922SNeil Armstrong function = "eth"; 483fb0fe922SNeil Armstrong }; 484fb0fe922SNeil Armstrong }; 485fb0fe922SNeil Armstrong 48644ddadc3SNeil Armstrong eth_link_led_pins: eth_link_led { 48744ddadc3SNeil Armstrong mux { 48844ddadc3SNeil Armstrong groups = "eth_link_led"; 48944ddadc3SNeil Armstrong function = "eth_led"; 49044ddadc3SNeil Armstrong }; 49144ddadc3SNeil Armstrong }; 49244ddadc3SNeil Armstrong 49344ddadc3SNeil Armstrong eth_act_led_pins: eth_act_led { 49444ddadc3SNeil Armstrong mux { 49544ddadc3SNeil Armstrong groups = "eth_act_led"; 49644ddadc3SNeil Armstrong function = "eth_led"; 49744ddadc3SNeil Armstrong }; 49844ddadc3SNeil Armstrong }; 49944ddadc3SNeil Armstrong 500e98fd134SMartin Blumenstingl pwm_a_pins: pwm_a { 501e98fd134SMartin Blumenstingl mux { 502e98fd134SMartin Blumenstingl groups = "pwm_a"; 503e98fd134SMartin Blumenstingl function = "pwm_a"; 504e98fd134SMartin Blumenstingl }; 505e98fd134SMartin Blumenstingl }; 506e98fd134SMartin Blumenstingl 507e98fd134SMartin Blumenstingl pwm_b_pins: pwm_b { 508e98fd134SMartin Blumenstingl mux { 509e98fd134SMartin Blumenstingl groups = "pwm_b"; 510e98fd134SMartin Blumenstingl function = "pwm_b"; 511e98fd134SMartin Blumenstingl }; 512e98fd134SMartin Blumenstingl }; 513e98fd134SMartin Blumenstingl 514e98fd134SMartin Blumenstingl pwm_c_pins: pwm_c { 515e98fd134SMartin Blumenstingl mux { 516e98fd134SMartin Blumenstingl groups = "pwm_c"; 517e98fd134SMartin Blumenstingl function = "pwm_c"; 518e98fd134SMartin Blumenstingl }; 519e98fd134SMartin Blumenstingl }; 520e98fd134SMartin Blumenstingl 521e98fd134SMartin Blumenstingl pwm_d_pins: pwm_d { 522e98fd134SMartin Blumenstingl mux { 523e98fd134SMartin Blumenstingl groups = "pwm_d"; 524e98fd134SMartin Blumenstingl function = "pwm_d"; 525e98fd134SMartin Blumenstingl }; 526e98fd134SMartin Blumenstingl }; 527e98fd134SMartin Blumenstingl 528fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 529fb0fe922SNeil Armstrong mux { 530fb0fe922SNeil Armstrong groups = "pwm_e"; 531fb0fe922SNeil Armstrong function = "pwm_e"; 532fb0fe922SNeil Armstrong }; 533fb0fe922SNeil Armstrong }; 534b949165cSNeil Armstrong 535e98fd134SMartin Blumenstingl pwm_f_clk_pins: pwm_f_clk { 536e98fd134SMartin Blumenstingl mux { 537e98fd134SMartin Blumenstingl groups = "pwm_f_clk"; 538e98fd134SMartin Blumenstingl function = "pwm_f"; 539e98fd134SMartin Blumenstingl }; 540e98fd134SMartin Blumenstingl }; 541e98fd134SMartin Blumenstingl 542e98fd134SMartin Blumenstingl pwm_f_x_pins: pwm_f_x { 543e98fd134SMartin Blumenstingl mux { 544e98fd134SMartin Blumenstingl groups = "pwm_f_x"; 545e98fd134SMartin Blumenstingl function = "pwm_f"; 546e98fd134SMartin Blumenstingl }; 547e98fd134SMartin Blumenstingl }; 548e98fd134SMartin Blumenstingl 549b949165cSNeil Armstrong hdmi_hpd_pins: hdmi_hpd { 550b949165cSNeil Armstrong mux { 551b949165cSNeil Armstrong groups = "hdmi_hpd"; 552b949165cSNeil Armstrong function = "hdmi_hpd"; 553b949165cSNeil Armstrong }; 554b949165cSNeil Armstrong }; 555b949165cSNeil Armstrong 556b949165cSNeil Armstrong hdmi_i2c_pins: hdmi_i2c { 557b949165cSNeil Armstrong mux { 558b949165cSNeil Armstrong groups = "hdmi_sda", "hdmi_scl"; 559b949165cSNeil Armstrong function = "hdmi_i2c"; 560b949165cSNeil Armstrong }; 561b949165cSNeil Armstrong }; 562c16fe9a1Sjbrunet 563c16fe9a1Sjbrunet i2s_am_clk_pins: i2s_am_clk { 564c16fe9a1Sjbrunet mux { 565c16fe9a1Sjbrunet groups = "i2s_am_clk"; 566c16fe9a1Sjbrunet function = "i2s_out"; 567c16fe9a1Sjbrunet }; 568c16fe9a1Sjbrunet }; 569c16fe9a1Sjbrunet 570c16fe9a1Sjbrunet i2s_out_ao_clk_pins: i2s_out_ao_clk { 571c16fe9a1Sjbrunet mux { 572c16fe9a1Sjbrunet groups = "i2s_out_ao_clk"; 573c16fe9a1Sjbrunet function = "i2s_out"; 574c16fe9a1Sjbrunet }; 575c16fe9a1Sjbrunet }; 576c16fe9a1Sjbrunet 577c16fe9a1Sjbrunet i2s_out_lr_clk_pins: i2s_out_lr_clk { 578c16fe9a1Sjbrunet mux { 579c16fe9a1Sjbrunet groups = "i2s_out_lr_clk"; 580c16fe9a1Sjbrunet function = "i2s_out"; 581c16fe9a1Sjbrunet }; 582c16fe9a1Sjbrunet }; 583c16fe9a1Sjbrunet 584c16fe9a1Sjbrunet i2s_out_ch01_pins: i2s_out_ch01 { 585c16fe9a1Sjbrunet mux { 586c16fe9a1Sjbrunet groups = "i2s_out_ch01"; 587c16fe9a1Sjbrunet function = "i2s_out"; 588c16fe9a1Sjbrunet }; 589c16fe9a1Sjbrunet }; 590c16fe9a1Sjbrunet i2sout_ch23_z_pins: i2sout_ch23_z { 591c16fe9a1Sjbrunet mux { 592c16fe9a1Sjbrunet groups = "i2sout_ch23_z"; 593c16fe9a1Sjbrunet function = "i2s_out"; 594c16fe9a1Sjbrunet }; 595c16fe9a1Sjbrunet }; 596c16fe9a1Sjbrunet 597c16fe9a1Sjbrunet i2sout_ch45_z_pins: i2sout_ch45_z { 598c16fe9a1Sjbrunet mux { 599c16fe9a1Sjbrunet groups = "i2sout_ch45_z"; 600c16fe9a1Sjbrunet function = "i2s_out"; 601c16fe9a1Sjbrunet }; 602c16fe9a1Sjbrunet }; 603c16fe9a1Sjbrunet 604c16fe9a1Sjbrunet i2sout_ch67_z_pins: i2sout_ch67_z { 605c16fe9a1Sjbrunet mux { 606c16fe9a1Sjbrunet groups = "i2sout_ch67_z"; 607c16fe9a1Sjbrunet function = "i2s_out"; 608c16fe9a1Sjbrunet }; 609c16fe9a1Sjbrunet }; 6109503062dSjbrunet 6119503062dSjbrunet spdif_out_h_pins: spdif_out_ao_h { 6129503062dSjbrunet mux { 6139503062dSjbrunet groups = "spdif_out_h"; 6149503062dSjbrunet function = "spdif_out"; 6159503062dSjbrunet }; 6169503062dSjbrunet }; 617fb0fe922SNeil Armstrong }; 618e9e27c64SNeil Armstrong 619e9e27c64SNeil Armstrong eth-phy-mux { 620e9e27c64SNeil Armstrong compatible = "mdio-mux-mmioreg", "mdio-mux"; 621e9e27c64SNeil Armstrong #address-cells = <1>; 622e9e27c64SNeil Armstrong #size-cells = <0>; 623e9e27c64SNeil Armstrong reg = <0x0 0x55c 0x0 0x4>; 624e9e27c64SNeil Armstrong mux-mask = <0xffffffff>; 625e9e27c64SNeil Armstrong mdio-parent-bus = <&mdio0>; 626e9e27c64SNeil Armstrong 627e9e27c64SNeil Armstrong internal_mdio: mdio@e40908ff { 628e9e27c64SNeil Armstrong reg = <0xe40908ff>; 629e9e27c64SNeil Armstrong #address-cells = <1>; 630e9e27c64SNeil Armstrong #size-cells = <0>; 631e9e27c64SNeil Armstrong 632e9e27c64SNeil Armstrong internal_phy: ethernet-phy@8 { 633e9e27c64SNeil Armstrong compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; 634e9e27c64SNeil Armstrong reg = <8>; 635e9e27c64SNeil Armstrong max-speed = <100>; 636e9e27c64SNeil Armstrong }; 637e9e27c64SNeil Armstrong }; 638e9e27c64SNeil Armstrong 639e9e27c64SNeil Armstrong external_mdio: mdio@2009087f { 640e9e27c64SNeil Armstrong reg = <0x2009087f>; 641e9e27c64SNeil Armstrong #address-cells = <1>; 642e9e27c64SNeil Armstrong #size-cells = <0>; 643e9e27c64SNeil Armstrong }; 644e9e27c64SNeil Armstrong }; 645fb0fe922SNeil Armstrong}; 646973fbd55SNeil Armstrong 647bd80ef5eSMartin Blumenstingl&saradc { 648bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 649bd80ef5eSMartin Blumenstingl clocks = <&xtal>, 650bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC>, 651bd80ef5eSMartin Blumenstingl <&clkc CLKID_SANA>, 652bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_CLK>, 653bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_SEL>; 654bd80ef5eSMartin Blumenstingl clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; 655bd80ef5eSMartin Blumenstingl}; 656bd80ef5eSMartin Blumenstingl 6576d489dc8SNeil Armstrong&sd_emmc_a { 6586d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_A>, 65950662499SJerome Brunet <&clkc CLKID_SD_EMMC_A_CLK0>, 6606d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6616d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6626d489dc8SNeil Armstrong}; 6636d489dc8SNeil Armstrong 6646d489dc8SNeil Armstrong&sd_emmc_b { 6656d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_B>, 66650662499SJerome Brunet <&clkc CLKID_SD_EMMC_B_CLK0>, 6676d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6686d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6696d489dc8SNeil Armstrong}; 6706d489dc8SNeil Armstrong 6716d489dc8SNeil Armstrong&sd_emmc_c { 6726d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_C>, 67350662499SJerome Brunet <&clkc CLKID_SD_EMMC_C_CLK0>, 6746d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6756d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6766d489dc8SNeil Armstrong}; 677fafdbdf7SNeil Armstrong 678fa808631SNeil Armstrong&spicc { 679fa808631SNeil Armstrong clocks = <&clkc CLKID_SPICC>; 680fa808631SNeil Armstrong clock-names = "core"; 681fa808631SNeil Armstrong resets = <&reset RESET_PERIPHS_SPICC>; 682fa808631SNeil Armstrong num-cs = <1>; 683fa808631SNeil Armstrong}; 684fa808631SNeil Armstrong 68504b36df4SNeil Armstrong&spifc { 68604b36df4SNeil Armstrong clocks = <&clkc CLKID_SPI>; 68704b36df4SNeil Armstrong}; 68804b36df4SNeil Armstrong 689f72d6f60SHelmut Klein&uart_A { 690f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 691*39005e56SNeil Armstrong clock-names = "xtal", "pclk", "baud"; 692f72d6f60SHelmut Klein}; 693f72d6f60SHelmut Klein 694f72d6f60SHelmut Klein&uart_AO { 695f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 696f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 697f72d6f60SHelmut Klein}; 698f72d6f60SHelmut Klein 699f72d6f60SHelmut Klein&uart_AO_B { 700f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 701f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 702f72d6f60SHelmut Klein}; 703f72d6f60SHelmut Klein 704f72d6f60SHelmut Klein&uart_B { 705f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 706*39005e56SNeil Armstrong clock-names = "xtal", "pclk", "baud"; 707f72d6f60SHelmut Klein}; 708f72d6f60SHelmut Klein 709f72d6f60SHelmut Klein&uart_C { 710f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 711*39005e56SNeil Armstrong clock-names = "xtal", "pclk", "baud"; 712f72d6f60SHelmut Klein}; 713f72d6f60SHelmut Klein 714fafdbdf7SNeil Armstrong&vpu { 715fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 716fafdbdf7SNeil Armstrong}; 717