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"; 52*4ee8e51bSNeil Armstrong 53*4ee8e51bSNeil Armstrong reserved-memory { 54*4ee8e51bSNeil Armstrong /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ 55*4ee8e51bSNeil Armstrong secmon_reserved_alt: secmon@05000000 { 56*4ee8e51bSNeil Armstrong reg = <0x0 0x05000000 0x0 0x300000>; 57*4ee8e51bSNeil Armstrong no-map; 58*4ee8e51bSNeil Armstrong }; 59*4ee8e51bSNeil 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 2286a573c4eSAndreas Färber&hdmi_tx { 2296a573c4eSAndreas Färber compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 2306a573c4eSAndreas Färber resets = <&reset RESET_HDMITX_CAPB3>, 2316a573c4eSAndreas Färber <&reset RESET_HDMI_SYSTEM_RESET>, 2326a573c4eSAndreas Färber <&reset RESET_HDMI_TX>; 2336a573c4eSAndreas Färber reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; 2346a573c4eSAndreas Färber clocks = <&clkc CLKID_HDMI_PCLK>, 2356a573c4eSAndreas Färber <&clkc CLKID_CLK81>, 2366a573c4eSAndreas Färber <&clkc CLKID_GCLK_VENCI_INT0>; 2376a573c4eSAndreas Färber clock-names = "isfr", "iahb", "venci"; 2386a573c4eSAndreas Färber}; 2396a573c4eSAndreas Färber 2406a573c4eSAndreas Färber&hiubus { 2416a573c4eSAndreas Färber clkc: clock-controller@0 { 2426a573c4eSAndreas Färber compatible = "amlogic,gxl-clkc", "amlogic,gxbb-clkc"; 2436a573c4eSAndreas Färber #clock-cells = <1>; 2446a573c4eSAndreas Färber reg = <0x0 0x0 0x0 0x3db>; 2456a573c4eSAndreas Färber }; 2466a573c4eSAndreas Färber}; 2476a573c4eSAndreas Färber 2486a573c4eSAndreas Färber&i2c_A { 2496a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2506a573c4eSAndreas Färber}; 2516a573c4eSAndreas Färber 2526a573c4eSAndreas Färber&i2c_AO { 2536a573c4eSAndreas Färber clocks = <&clkc CLKID_AO_I2C>; 2546a573c4eSAndreas Färber}; 2556a573c4eSAndreas Färber 2566a573c4eSAndreas Färber&i2c_B { 2576a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2586a573c4eSAndreas Färber}; 2596a573c4eSAndreas Färber 2606a573c4eSAndreas Färber&i2c_C { 2616a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2626a573c4eSAndreas Färber}; 2636a573c4eSAndreas Färber 264fb0fe922SNeil Armstrong&periphs { 265fb0fe922SNeil Armstrong pinctrl_periphs: pinctrl@4b0 { 266fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-periphs-pinctrl"; 267fb0fe922SNeil Armstrong #address-cells = <2>; 268fb0fe922SNeil Armstrong #size-cells = <2>; 269fb0fe922SNeil Armstrong ranges; 270fb0fe922SNeil Armstrong 271fb0fe922SNeil Armstrong gpio: bank@4b0 { 272fb0fe922SNeil Armstrong reg = <0x0 0x004b0 0x0 0x28>, 273fb0fe922SNeil Armstrong <0x0 0x004e8 0x0 0x14>, 274f4c406d5SNeil Armstrong <0x0 0x00520 0x0 0x14>, 275fb0fe922SNeil Armstrong <0x0 0x00430 0x0 0x40>; 276fb0fe922SNeil Armstrong reg-names = "mux", "pull", "pull-enable", "gpio"; 277fb0fe922SNeil Armstrong gpio-controller; 278fb0fe922SNeil Armstrong #gpio-cells = <2>; 2797dbe78e5SJerome Brunet gpio-ranges = <&pinctrl_periphs 0 0 100>; 280fb0fe922SNeil Armstrong }; 281fb0fe922SNeil Armstrong 282fb0fe922SNeil Armstrong emmc_pins: emmc { 283fb0fe922SNeil Armstrong mux { 284fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 285fb0fe922SNeil Armstrong "emmc_cmd", 286ab36be66SNeil Armstrong "emmc_clk"; 287ab36be66SNeil Armstrong function = "emmc"; 288ab36be66SNeil Armstrong }; 289ab36be66SNeil Armstrong }; 290ab36be66SNeil Armstrong 291ab36be66SNeil Armstrong emmc_ds_pins: emmc-ds { 292ab36be66SNeil Armstrong mux { 293ab36be66SNeil Armstrong groups = "emmc_ds"; 294fb0fe922SNeil Armstrong function = "emmc"; 295fb0fe922SNeil Armstrong }; 296fb0fe922SNeil Armstrong }; 297fb0fe922SNeil Armstrong 29867e7607fSJerome Brunet emmc_clk_gate_pins: emmc_clk_gate { 29967e7607fSJerome Brunet mux { 30067e7607fSJerome Brunet groups = "BOOT_8"; 30167e7607fSJerome Brunet function = "gpio_periphs"; 30267e7607fSJerome Brunet }; 30367e7607fSJerome Brunet cfg-pull-down { 30467e7607fSJerome Brunet pins = "BOOT_8"; 30567e7607fSJerome Brunet bias-pull-down; 30667e7607fSJerome Brunet }; 30767e7607fSJerome Brunet }; 30867e7607fSJerome Brunet 309ca02e3f9SNeil Armstrong nor_pins: nor { 310ca02e3f9SNeil Armstrong mux { 311ca02e3f9SNeil Armstrong groups = "nor_d", 312ca02e3f9SNeil Armstrong "nor_q", 313ca02e3f9SNeil Armstrong "nor_c", 314ca02e3f9SNeil Armstrong "nor_cs"; 315ca02e3f9SNeil Armstrong function = "nor"; 316ca02e3f9SNeil Armstrong }; 317ca02e3f9SNeil Armstrong }; 318ca02e3f9SNeil Armstrong 31985b2e743SNeil Armstrong spi_pins: spi { 32085b2e743SNeil Armstrong mux { 32185b2e743SNeil Armstrong groups = "spi_miso", 32285b2e743SNeil Armstrong "spi_mosi", 32385b2e743SNeil Armstrong "spi_sclk"; 32485b2e743SNeil Armstrong function = "spi"; 32585b2e743SNeil Armstrong }; 32685b2e743SNeil Armstrong }; 32785b2e743SNeil Armstrong 32885b2e743SNeil Armstrong spi_ss0_pins: spi-ss0 { 32985b2e743SNeil Armstrong mux { 33085b2e743SNeil Armstrong groups = "spi_ss0"; 33185b2e743SNeil Armstrong function = "spi"; 33285b2e743SNeil Armstrong }; 33385b2e743SNeil Armstrong }; 33485b2e743SNeil Armstrong 335fb0fe922SNeil Armstrong sdcard_pins: sdcard { 336fb0fe922SNeil Armstrong mux { 337fb0fe922SNeil Armstrong groups = "sdcard_d0", 338fb0fe922SNeil Armstrong "sdcard_d1", 339fb0fe922SNeil Armstrong "sdcard_d2", 340fb0fe922SNeil Armstrong "sdcard_d3", 341fb0fe922SNeil Armstrong "sdcard_cmd", 342fb0fe922SNeil Armstrong "sdcard_clk"; 343fb0fe922SNeil Armstrong function = "sdcard"; 344fb0fe922SNeil Armstrong }; 345fb0fe922SNeil Armstrong }; 346fb0fe922SNeil Armstrong 34767e7607fSJerome Brunet sdcard_clk_gate_pins: sdcard_clk_gate { 34867e7607fSJerome Brunet mux { 34967e7607fSJerome Brunet groups = "CARD_2"; 35067e7607fSJerome Brunet function = "gpio_periphs"; 35167e7607fSJerome Brunet }; 35267e7607fSJerome Brunet cfg-pull-down { 35367e7607fSJerome Brunet pins = "CARD_2"; 35467e7607fSJerome Brunet bias-pull-down; 35567e7607fSJerome Brunet }; 35667e7607fSJerome Brunet }; 35767e7607fSJerome Brunet 358fb0fe922SNeil Armstrong sdio_pins: sdio { 359fb0fe922SNeil Armstrong mux { 360fb0fe922SNeil Armstrong groups = "sdio_d0", 361fb0fe922SNeil Armstrong "sdio_d1", 362fb0fe922SNeil Armstrong "sdio_d2", 363fb0fe922SNeil Armstrong "sdio_d3", 364fb0fe922SNeil Armstrong "sdio_cmd", 365fb0fe922SNeil Armstrong "sdio_clk"; 366fb0fe922SNeil Armstrong function = "sdio"; 367fb0fe922SNeil Armstrong }; 368fb0fe922SNeil Armstrong }; 369fb0fe922SNeil Armstrong 37067e7607fSJerome Brunet sdio_clk_gate_pins: sdio_clk_gate { 37167e7607fSJerome Brunet mux { 37267e7607fSJerome Brunet groups = "GPIOX_4"; 37367e7607fSJerome Brunet function = "gpio_periphs"; 37467e7607fSJerome Brunet }; 37567e7607fSJerome Brunet cfg-pull-down { 37667e7607fSJerome Brunet pins = "GPIOX_4"; 37767e7607fSJerome Brunet bias-pull-down; 37867e7607fSJerome Brunet }; 37967e7607fSJerome Brunet }; 38067e7607fSJerome Brunet 381fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 382fb0fe922SNeil Armstrong mux { 383fb0fe922SNeil Armstrong groups = "sdio_irq"; 384fb0fe922SNeil Armstrong function = "sdio"; 385fb0fe922SNeil Armstrong }; 386fb0fe922SNeil Armstrong }; 387fb0fe922SNeil Armstrong 388fb0fe922SNeil Armstrong uart_a_pins: uart_a { 389fb0fe922SNeil Armstrong mux { 390fb0fe922SNeil Armstrong groups = "uart_tx_a", 391fb0fe922SNeil Armstrong "uart_rx_a"; 392fb0fe922SNeil Armstrong function = "uart_a"; 393fb0fe922SNeil Armstrong }; 394fb0fe922SNeil Armstrong }; 395fb0fe922SNeil Armstrong 396261e1d5cSMartin Blumenstingl uart_a_cts_rts_pins: uart_a_cts_rts { 397261e1d5cSMartin Blumenstingl mux { 398261e1d5cSMartin Blumenstingl groups = "uart_cts_a", 399261e1d5cSMartin Blumenstingl "uart_rts_a"; 400261e1d5cSMartin Blumenstingl function = "uart_a"; 401261e1d5cSMartin Blumenstingl }; 402261e1d5cSMartin Blumenstingl }; 403261e1d5cSMartin Blumenstingl 404fb0fe922SNeil Armstrong uart_b_pins: uart_b { 405fb0fe922SNeil Armstrong mux { 406fb0fe922SNeil Armstrong groups = "uart_tx_b", 407fb0fe922SNeil Armstrong "uart_rx_b"; 408fb0fe922SNeil Armstrong function = "uart_b"; 409fb0fe922SNeil Armstrong }; 410fb0fe922SNeil Armstrong }; 411fb0fe922SNeil Armstrong 412261e1d5cSMartin Blumenstingl uart_b_cts_rts_pins: uart_b_cts_rts { 413261e1d5cSMartin Blumenstingl mux { 414261e1d5cSMartin Blumenstingl groups = "uart_cts_b", 415261e1d5cSMartin Blumenstingl "uart_rts_b"; 416261e1d5cSMartin Blumenstingl function = "uart_b"; 417261e1d5cSMartin Blumenstingl }; 418261e1d5cSMartin Blumenstingl }; 419261e1d5cSMartin Blumenstingl 420fb0fe922SNeil Armstrong uart_c_pins: uart_c { 421fb0fe922SNeil Armstrong mux { 422fb0fe922SNeil Armstrong groups = "uart_tx_c", 423fb0fe922SNeil Armstrong "uart_rx_c"; 424fb0fe922SNeil Armstrong function = "uart_c"; 425fb0fe922SNeil Armstrong }; 426fb0fe922SNeil Armstrong }; 427fb0fe922SNeil Armstrong 428261e1d5cSMartin Blumenstingl uart_c_cts_rts_pins: uart_c_cts_rts { 429261e1d5cSMartin Blumenstingl mux { 430261e1d5cSMartin Blumenstingl groups = "uart_cts_c", 431261e1d5cSMartin Blumenstingl "uart_rts_c"; 432261e1d5cSMartin Blumenstingl function = "uart_c"; 433261e1d5cSMartin Blumenstingl }; 434261e1d5cSMartin Blumenstingl }; 435261e1d5cSMartin Blumenstingl 436fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 437fb0fe922SNeil Armstrong mux { 438fb0fe922SNeil Armstrong groups = "i2c_sck_a", 439fb0fe922SNeil Armstrong "i2c_sda_a"; 440fb0fe922SNeil Armstrong function = "i2c_a"; 441fb0fe922SNeil Armstrong }; 442fb0fe922SNeil Armstrong }; 443fb0fe922SNeil Armstrong 444fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 445fb0fe922SNeil Armstrong mux { 446fb0fe922SNeil Armstrong groups = "i2c_sck_b", 447fb0fe922SNeil Armstrong "i2c_sda_b"; 448fb0fe922SNeil Armstrong function = "i2c_b"; 449fb0fe922SNeil Armstrong }; 450fb0fe922SNeil Armstrong }; 451fb0fe922SNeil Armstrong 452fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 453fb0fe922SNeil Armstrong mux { 454fb0fe922SNeil Armstrong groups = "i2c_sck_c", 455fb0fe922SNeil Armstrong "i2c_sda_c"; 456fb0fe922SNeil Armstrong function = "i2c_c"; 457fb0fe922SNeil Armstrong }; 458fb0fe922SNeil Armstrong }; 459fb0fe922SNeil Armstrong 460fb0fe922SNeil Armstrong eth_pins: eth_c { 461fb0fe922SNeil Armstrong mux { 462fb0fe922SNeil Armstrong groups = "eth_mdio", 463fb0fe922SNeil Armstrong "eth_mdc", 464fb0fe922SNeil Armstrong "eth_clk_rx_clk", 465fb0fe922SNeil Armstrong "eth_rx_dv", 466fb0fe922SNeil Armstrong "eth_rxd0", 467fb0fe922SNeil Armstrong "eth_rxd1", 468fb0fe922SNeil Armstrong "eth_rxd2", 469fb0fe922SNeil Armstrong "eth_rxd3", 470fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 471fb0fe922SNeil Armstrong "eth_tx_en", 472fb0fe922SNeil Armstrong "eth_txd0", 473fb0fe922SNeil Armstrong "eth_txd1", 474fb0fe922SNeil Armstrong "eth_txd2", 475fb0fe922SNeil Armstrong "eth_txd3"; 476fb0fe922SNeil Armstrong function = "eth"; 477fb0fe922SNeil Armstrong }; 478fb0fe922SNeil Armstrong }; 479fb0fe922SNeil Armstrong 48044ddadc3SNeil Armstrong eth_link_led_pins: eth_link_led { 48144ddadc3SNeil Armstrong mux { 48244ddadc3SNeil Armstrong groups = "eth_link_led"; 48344ddadc3SNeil Armstrong function = "eth_led"; 48444ddadc3SNeil Armstrong }; 48544ddadc3SNeil Armstrong }; 48644ddadc3SNeil Armstrong 48744ddadc3SNeil Armstrong eth_act_led_pins: eth_act_led { 48844ddadc3SNeil Armstrong mux { 48944ddadc3SNeil Armstrong groups = "eth_act_led"; 49044ddadc3SNeil Armstrong function = "eth_led"; 49144ddadc3SNeil Armstrong }; 49244ddadc3SNeil Armstrong }; 49344ddadc3SNeil Armstrong 494e98fd134SMartin Blumenstingl pwm_a_pins: pwm_a { 495e98fd134SMartin Blumenstingl mux { 496e98fd134SMartin Blumenstingl groups = "pwm_a"; 497e98fd134SMartin Blumenstingl function = "pwm_a"; 498e98fd134SMartin Blumenstingl }; 499e98fd134SMartin Blumenstingl }; 500e98fd134SMartin Blumenstingl 501e98fd134SMartin Blumenstingl pwm_b_pins: pwm_b { 502e98fd134SMartin Blumenstingl mux { 503e98fd134SMartin Blumenstingl groups = "pwm_b"; 504e98fd134SMartin Blumenstingl function = "pwm_b"; 505e98fd134SMartin Blumenstingl }; 506e98fd134SMartin Blumenstingl }; 507e98fd134SMartin Blumenstingl 508e98fd134SMartin Blumenstingl pwm_c_pins: pwm_c { 509e98fd134SMartin Blumenstingl mux { 510e98fd134SMartin Blumenstingl groups = "pwm_c"; 511e98fd134SMartin Blumenstingl function = "pwm_c"; 512e98fd134SMartin Blumenstingl }; 513e98fd134SMartin Blumenstingl }; 514e98fd134SMartin Blumenstingl 515e98fd134SMartin Blumenstingl pwm_d_pins: pwm_d { 516e98fd134SMartin Blumenstingl mux { 517e98fd134SMartin Blumenstingl groups = "pwm_d"; 518e98fd134SMartin Blumenstingl function = "pwm_d"; 519e98fd134SMartin Blumenstingl }; 520e98fd134SMartin Blumenstingl }; 521e98fd134SMartin Blumenstingl 522fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 523fb0fe922SNeil Armstrong mux { 524fb0fe922SNeil Armstrong groups = "pwm_e"; 525fb0fe922SNeil Armstrong function = "pwm_e"; 526fb0fe922SNeil Armstrong }; 527fb0fe922SNeil Armstrong }; 528b949165cSNeil Armstrong 529e98fd134SMartin Blumenstingl pwm_f_clk_pins: pwm_f_clk { 530e98fd134SMartin Blumenstingl mux { 531e98fd134SMartin Blumenstingl groups = "pwm_f_clk"; 532e98fd134SMartin Blumenstingl function = "pwm_f"; 533e98fd134SMartin Blumenstingl }; 534e98fd134SMartin Blumenstingl }; 535e98fd134SMartin Blumenstingl 536e98fd134SMartin Blumenstingl pwm_f_x_pins: pwm_f_x { 537e98fd134SMartin Blumenstingl mux { 538e98fd134SMartin Blumenstingl groups = "pwm_f_x"; 539e98fd134SMartin Blumenstingl function = "pwm_f"; 540e98fd134SMartin Blumenstingl }; 541e98fd134SMartin Blumenstingl }; 542e98fd134SMartin Blumenstingl 543b949165cSNeil Armstrong hdmi_hpd_pins: hdmi_hpd { 544b949165cSNeil Armstrong mux { 545b949165cSNeil Armstrong groups = "hdmi_hpd"; 546b949165cSNeil Armstrong function = "hdmi_hpd"; 547b949165cSNeil Armstrong }; 548b949165cSNeil Armstrong }; 549b949165cSNeil Armstrong 550b949165cSNeil Armstrong hdmi_i2c_pins: hdmi_i2c { 551b949165cSNeil Armstrong mux { 552b949165cSNeil Armstrong groups = "hdmi_sda", "hdmi_scl"; 553b949165cSNeil Armstrong function = "hdmi_i2c"; 554b949165cSNeil Armstrong }; 555b949165cSNeil Armstrong }; 556c16fe9a1Sjbrunet 557c16fe9a1Sjbrunet i2s_am_clk_pins: i2s_am_clk { 558c16fe9a1Sjbrunet mux { 559c16fe9a1Sjbrunet groups = "i2s_am_clk"; 560c16fe9a1Sjbrunet function = "i2s_out"; 561c16fe9a1Sjbrunet }; 562c16fe9a1Sjbrunet }; 563c16fe9a1Sjbrunet 564c16fe9a1Sjbrunet i2s_out_ao_clk_pins: i2s_out_ao_clk { 565c16fe9a1Sjbrunet mux { 566c16fe9a1Sjbrunet groups = "i2s_out_ao_clk"; 567c16fe9a1Sjbrunet function = "i2s_out"; 568c16fe9a1Sjbrunet }; 569c16fe9a1Sjbrunet }; 570c16fe9a1Sjbrunet 571c16fe9a1Sjbrunet i2s_out_lr_clk_pins: i2s_out_lr_clk { 572c16fe9a1Sjbrunet mux { 573c16fe9a1Sjbrunet groups = "i2s_out_lr_clk"; 574c16fe9a1Sjbrunet function = "i2s_out"; 575c16fe9a1Sjbrunet }; 576c16fe9a1Sjbrunet }; 577c16fe9a1Sjbrunet 578c16fe9a1Sjbrunet i2s_out_ch01_pins: i2s_out_ch01 { 579c16fe9a1Sjbrunet mux { 580c16fe9a1Sjbrunet groups = "i2s_out_ch01"; 581c16fe9a1Sjbrunet function = "i2s_out"; 582c16fe9a1Sjbrunet }; 583c16fe9a1Sjbrunet }; 584c16fe9a1Sjbrunet i2sout_ch23_z_pins: i2sout_ch23_z { 585c16fe9a1Sjbrunet mux { 586c16fe9a1Sjbrunet groups = "i2sout_ch23_z"; 587c16fe9a1Sjbrunet function = "i2s_out"; 588c16fe9a1Sjbrunet }; 589c16fe9a1Sjbrunet }; 590c16fe9a1Sjbrunet 591c16fe9a1Sjbrunet i2sout_ch45_z_pins: i2sout_ch45_z { 592c16fe9a1Sjbrunet mux { 593c16fe9a1Sjbrunet groups = "i2sout_ch45_z"; 594c16fe9a1Sjbrunet function = "i2s_out"; 595c16fe9a1Sjbrunet }; 596c16fe9a1Sjbrunet }; 597c16fe9a1Sjbrunet 598c16fe9a1Sjbrunet i2sout_ch67_z_pins: i2sout_ch67_z { 599c16fe9a1Sjbrunet mux { 600c16fe9a1Sjbrunet groups = "i2sout_ch67_z"; 601c16fe9a1Sjbrunet function = "i2s_out"; 602c16fe9a1Sjbrunet }; 603c16fe9a1Sjbrunet }; 6049503062dSjbrunet 6059503062dSjbrunet spdif_out_h_pins: spdif_out_ao_h { 6069503062dSjbrunet mux { 6079503062dSjbrunet groups = "spdif_out_h"; 6089503062dSjbrunet function = "spdif_out"; 6099503062dSjbrunet }; 6109503062dSjbrunet }; 611fb0fe922SNeil Armstrong }; 612e9e27c64SNeil Armstrong 613e9e27c64SNeil Armstrong eth-phy-mux { 614e9e27c64SNeil Armstrong compatible = "mdio-mux-mmioreg", "mdio-mux"; 615e9e27c64SNeil Armstrong #address-cells = <1>; 616e9e27c64SNeil Armstrong #size-cells = <0>; 617e9e27c64SNeil Armstrong reg = <0x0 0x55c 0x0 0x4>; 618e9e27c64SNeil Armstrong mux-mask = <0xffffffff>; 619e9e27c64SNeil Armstrong mdio-parent-bus = <&mdio0>; 620e9e27c64SNeil Armstrong 621e9e27c64SNeil Armstrong internal_mdio: mdio@e40908ff { 622e9e27c64SNeil Armstrong reg = <0xe40908ff>; 623e9e27c64SNeil Armstrong #address-cells = <1>; 624e9e27c64SNeil Armstrong #size-cells = <0>; 625e9e27c64SNeil Armstrong 626e9e27c64SNeil Armstrong internal_phy: ethernet-phy@8 { 627e9e27c64SNeil Armstrong compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; 628e9e27c64SNeil Armstrong reg = <8>; 629e9e27c64SNeil Armstrong max-speed = <100>; 630e9e27c64SNeil Armstrong }; 631e9e27c64SNeil Armstrong }; 632e9e27c64SNeil Armstrong 633e9e27c64SNeil Armstrong external_mdio: mdio@2009087f { 634e9e27c64SNeil Armstrong reg = <0x2009087f>; 635e9e27c64SNeil Armstrong #address-cells = <1>; 636e9e27c64SNeil Armstrong #size-cells = <0>; 637e9e27c64SNeil Armstrong }; 638e9e27c64SNeil Armstrong }; 639fb0fe922SNeil Armstrong}; 640973fbd55SNeil Armstrong 641bd80ef5eSMartin Blumenstingl&saradc { 642bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 643bd80ef5eSMartin Blumenstingl clocks = <&xtal>, 644bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC>, 645bd80ef5eSMartin Blumenstingl <&clkc CLKID_SANA>, 646bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_CLK>, 647bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_SEL>; 648bd80ef5eSMartin Blumenstingl clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; 649bd80ef5eSMartin Blumenstingl}; 650bd80ef5eSMartin Blumenstingl 6516d489dc8SNeil Armstrong&sd_emmc_a { 6526d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_A>, 65350662499SJerome Brunet <&clkc CLKID_SD_EMMC_A_CLK0>, 6546d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6556d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6566d489dc8SNeil Armstrong}; 6576d489dc8SNeil Armstrong 6586d489dc8SNeil Armstrong&sd_emmc_b { 6596d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_B>, 66050662499SJerome Brunet <&clkc CLKID_SD_EMMC_B_CLK0>, 6616d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6626d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6636d489dc8SNeil Armstrong}; 6646d489dc8SNeil Armstrong 6656d489dc8SNeil Armstrong&sd_emmc_c { 6666d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_C>, 66750662499SJerome Brunet <&clkc CLKID_SD_EMMC_C_CLK0>, 6686d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6696d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6706d489dc8SNeil Armstrong}; 671fafdbdf7SNeil Armstrong 672fa808631SNeil Armstrong&spicc { 673fa808631SNeil Armstrong clocks = <&clkc CLKID_SPICC>; 674fa808631SNeil Armstrong clock-names = "core"; 675fa808631SNeil Armstrong resets = <&reset RESET_PERIPHS_SPICC>; 676fa808631SNeil Armstrong num-cs = <1>; 677fa808631SNeil Armstrong}; 678fa808631SNeil Armstrong 67904b36df4SNeil Armstrong&spifc { 68004b36df4SNeil Armstrong clocks = <&clkc CLKID_SPI>; 68104b36df4SNeil Armstrong}; 68204b36df4SNeil Armstrong 683f72d6f60SHelmut Klein&uart_A { 684f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 685f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 686f72d6f60SHelmut Klein}; 687f72d6f60SHelmut Klein 688f72d6f60SHelmut Klein&uart_AO { 689f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 690f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 691f72d6f60SHelmut Klein}; 692f72d6f60SHelmut Klein 693f72d6f60SHelmut Klein&uart_AO_B { 694f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 695f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 696f72d6f60SHelmut Klein}; 697f72d6f60SHelmut Klein 698f72d6f60SHelmut Klein&uart_B { 699f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 700f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 701f72d6f60SHelmut Klein}; 702f72d6f60SHelmut Klein 703f72d6f60SHelmut Klein&uart_C { 704f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 705f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 706f72d6f60SHelmut Klein}; 707f72d6f60SHelmut Klein 708fafdbdf7SNeil Armstrong&vpu { 709fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 710fafdbdf7SNeil Armstrong}; 711