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"; 5215abee8aSCarlo Caione}; 53fb0fe922SNeil Armstrong 54e9e27c64SNeil Armstrongðmac { 55e9e27c64SNeil Armstrong reg = <0x0 0xc9410000 0x0 0x10000 56e9e27c64SNeil Armstrong 0x0 0xc8834540 0x0 0x4>; 57e9e27c64SNeil Armstrong 58e9e27c64SNeil Armstrong clocks = <&clkc CLKID_ETH>, 59e9e27c64SNeil Armstrong <&clkc CLKID_FCLK_DIV2>, 60e9e27c64SNeil Armstrong <&clkc CLKID_MPLL2>; 61e9e27c64SNeil Armstrong clock-names = "stmmaceth", "clkin0", "clkin1"; 62e9e27c64SNeil Armstrong 63e9e27c64SNeil Armstrong mdio0: mdio { 64e9e27c64SNeil Armstrong #address-cells = <1>; 65e9e27c64SNeil Armstrong #size-cells = <0>; 66e9e27c64SNeil Armstrong compatible = "snps,dwmac-mdio"; 67e9e27c64SNeil Armstrong }; 68e9e27c64SNeil Armstrong}; 69e9e27c64SNeil Armstrong 70fb0fe922SNeil Armstrong&aobus { 71fb0fe922SNeil Armstrong pinctrl_aobus: pinctrl@14 { 72fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-aobus-pinctrl"; 73fb0fe922SNeil Armstrong #address-cells = <2>; 74fb0fe922SNeil Armstrong #size-cells = <2>; 75fb0fe922SNeil Armstrong ranges; 76fb0fe922SNeil Armstrong 77fb0fe922SNeil Armstrong gpio_ao: bank@14 { 78fb0fe922SNeil Armstrong reg = <0x0 0x00014 0x0 0x8>, 79fb0fe922SNeil Armstrong <0x0 0x0002c 0x0 0x4>, 80fb0fe922SNeil Armstrong <0x0 0x00024 0x0 0x8>; 81fb0fe922SNeil Armstrong reg-names = "mux", "pull", "gpio"; 82fb0fe922SNeil Armstrong gpio-controller; 83fb0fe922SNeil Armstrong #gpio-cells = <2>; 8484412e4eSNeil Armstrong gpio-ranges = <&pinctrl_aobus 0 0 14>; 85fb0fe922SNeil Armstrong }; 86fb0fe922SNeil Armstrong 87fb0fe922SNeil Armstrong uart_ao_a_pins: uart_ao_a { 88fb0fe922SNeil Armstrong mux { 89fb0fe922SNeil Armstrong groups = "uart_tx_ao_a", "uart_rx_ao_a"; 90fb0fe922SNeil Armstrong function = "uart_ao"; 91fb0fe922SNeil Armstrong }; 92fb0fe922SNeil Armstrong }; 93fb0fe922SNeil Armstrong 94261e1d5cSMartin Blumenstingl uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts { 95261e1d5cSMartin Blumenstingl mux { 96261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_a", 97261e1d5cSMartin Blumenstingl "uart_rts_ao_a"; 98261e1d5cSMartin Blumenstingl function = "uart_ao"; 99261e1d5cSMartin Blumenstingl }; 100261e1d5cSMartin Blumenstingl }; 101261e1d5cSMartin Blumenstingl 102890a96a2SMartin Blumenstingl uart_ao_b_pins: uart_ao_b { 103890a96a2SMartin Blumenstingl mux { 104890a96a2SMartin Blumenstingl groups = "uart_tx_ao_b", "uart_rx_ao_b"; 105890a96a2SMartin Blumenstingl function = "uart_ao_b"; 106890a96a2SMartin Blumenstingl }; 107890a96a2SMartin Blumenstingl }; 108890a96a2SMartin Blumenstingl 109ca02e3f9SNeil Armstrong uart_ao_b_0_1_pins: uart_ao_b_0_1 { 110ca02e3f9SNeil Armstrong mux { 111ca02e3f9SNeil Armstrong groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1"; 112ca02e3f9SNeil Armstrong function = "uart_ao_b"; 113ca02e3f9SNeil Armstrong }; 114ca02e3f9SNeil Armstrong }; 115ca02e3f9SNeil Armstrong 116261e1d5cSMartin Blumenstingl uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts { 117261e1d5cSMartin Blumenstingl mux { 118261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_b", 119261e1d5cSMartin Blumenstingl "uart_rts_ao_b"; 120261e1d5cSMartin Blumenstingl function = "uart_ao_b"; 121261e1d5cSMartin Blumenstingl }; 122261e1d5cSMartin Blumenstingl }; 123261e1d5cSMartin Blumenstingl 124fb0fe922SNeil Armstrong remote_input_ao_pins: remote_input_ao { 125fb0fe922SNeil Armstrong mux { 126fb0fe922SNeil Armstrong groups = "remote_input_ao"; 127fb0fe922SNeil Armstrong function = "remote_input_ao"; 128fb0fe922SNeil Armstrong }; 129fb0fe922SNeil Armstrong }; 130249a2243SMartin Blumenstingl 131ca02e3f9SNeil Armstrong i2c_ao_pins: i2c_ao { 132ca02e3f9SNeil Armstrong mux { 133ca02e3f9SNeil Armstrong groups = "i2c_sck_ao", 134ca02e3f9SNeil Armstrong "i2c_sda_ao"; 135ca02e3f9SNeil Armstrong function = "i2c_ao"; 136ca02e3f9SNeil Armstrong }; 137ca02e3f9SNeil Armstrong }; 138ca02e3f9SNeil Armstrong 139e98fd134SMartin Blumenstingl pwm_ao_a_3_pins: pwm_ao_a_3 { 140e98fd134SMartin Blumenstingl mux { 141e98fd134SMartin Blumenstingl groups = "pwm_ao_a_3"; 142e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 143e98fd134SMartin Blumenstingl }; 144e98fd134SMartin Blumenstingl }; 145e98fd134SMartin Blumenstingl 146e98fd134SMartin Blumenstingl pwm_ao_a_8_pins: pwm_ao_a_8 { 147e98fd134SMartin Blumenstingl mux { 148e98fd134SMartin Blumenstingl groups = "pwm_ao_a_8"; 149e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 150e98fd134SMartin Blumenstingl }; 151e98fd134SMartin Blumenstingl }; 152e98fd134SMartin Blumenstingl 153249a2243SMartin Blumenstingl pwm_ao_b_pins: pwm_ao_b { 154249a2243SMartin Blumenstingl mux { 155249a2243SMartin Blumenstingl groups = "pwm_ao_b"; 156249a2243SMartin Blumenstingl function = "pwm_ao_b"; 157249a2243SMartin Blumenstingl }; 158249a2243SMartin Blumenstingl }; 159ca02e3f9SNeil Armstrong 160ca02e3f9SNeil Armstrong pwm_ao_b_6_pins: pwm_ao_b_6 { 161ca02e3f9SNeil Armstrong mux { 162ca02e3f9SNeil Armstrong groups = "pwm_ao_b_6"; 163ca02e3f9SNeil Armstrong function = "pwm_ao_b"; 164ca02e3f9SNeil Armstrong }; 165ca02e3f9SNeil Armstrong }; 166c16fe9a1Sjbrunet 167c16fe9a1Sjbrunet i2s_out_ch23_ao_pins: i2s_out_ch23_ao { 168c16fe9a1Sjbrunet mux { 169c16fe9a1Sjbrunet groups = "i2s_out_ch23_ao"; 170c16fe9a1Sjbrunet function = "i2s_out_ao"; 171c16fe9a1Sjbrunet }; 172c16fe9a1Sjbrunet }; 173c16fe9a1Sjbrunet 174c16fe9a1Sjbrunet i2s_out_ch45_ao_pins: i2s_out_ch45_ao { 175c16fe9a1Sjbrunet mux { 176c16fe9a1Sjbrunet groups = "i2s_out_ch45_ao"; 177c16fe9a1Sjbrunet function = "i2s_out_ao"; 178c16fe9a1Sjbrunet }; 179c16fe9a1Sjbrunet }; 1809503062dSjbrunet 1819503062dSjbrunet spdif_out_ao_6_pins: spdif_out_ao_6 { 1829503062dSjbrunet mux { 1839503062dSjbrunet groups = "spdif_out_ao_6"; 1849503062dSjbrunet function = "spdif_out_ao"; 1859503062dSjbrunet }; 1869503062dSjbrunet }; 1879503062dSjbrunet 1889503062dSjbrunet spdif_out_ao_9_pins: spdif_out_ao_9 { 1899503062dSjbrunet mux { 1909503062dSjbrunet groups = "spdif_out_ao_9"; 1919503062dSjbrunet function = "spdif_out_ao"; 1929503062dSjbrunet }; 1939503062dSjbrunet }; 1946d717619SNeil Armstrong 1956d717619SNeil Armstrong ao_cec_pins: ao_cec { 1966d717619SNeil Armstrong mux { 1976d717619SNeil Armstrong groups = "ao_cec"; 1986d717619SNeil Armstrong function = "cec_ao"; 1996d717619SNeil Armstrong }; 2006d717619SNeil Armstrong }; 2016d717619SNeil Armstrong 2026d717619SNeil Armstrong ee_cec_pins: ee_cec { 2036d717619SNeil Armstrong mux { 2046d717619SNeil Armstrong groups = "ee_cec"; 2056d717619SNeil Armstrong function = "cec_ao"; 2066d717619SNeil Armstrong }; 2076d717619SNeil Armstrong }; 208fb0fe922SNeil Armstrong }; 209fb0fe922SNeil Armstrong}; 210fb0fe922SNeil Armstrong 211b16c71c9SNeil Armstrong&cec_AO { 212b16c71c9SNeil Armstrong clocks = <&clkc_AO CLKID_AO_CEC_32K>; 213b16c71c9SNeil Armstrong clock-names = "core"; 214b16c71c9SNeil Armstrong}; 215b16c71c9SNeil Armstrong 2167fd2c355SNeil Armstrong&clkc_AO { 2177fd2c355SNeil Armstrong compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc"; 2187fd2c355SNeil Armstrong}; 2197fd2c355SNeil Armstrong 2206a573c4eSAndreas Färber&hdmi_tx { 2216a573c4eSAndreas Färber compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 2226a573c4eSAndreas Färber resets = <&reset RESET_HDMITX_CAPB3>, 2236a573c4eSAndreas Färber <&reset RESET_HDMI_SYSTEM_RESET>, 2246a573c4eSAndreas Färber <&reset RESET_HDMI_TX>; 2256a573c4eSAndreas Färber reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; 2266a573c4eSAndreas Färber clocks = <&clkc CLKID_HDMI_PCLK>, 2276a573c4eSAndreas Färber <&clkc CLKID_CLK81>, 2286a573c4eSAndreas Färber <&clkc CLKID_GCLK_VENCI_INT0>; 2296a573c4eSAndreas Färber clock-names = "isfr", "iahb", "venci"; 2306a573c4eSAndreas Färber}; 2316a573c4eSAndreas Färber 2326a573c4eSAndreas Färber&hiubus { 2336a573c4eSAndreas Färber clkc: clock-controller@0 { 2346a573c4eSAndreas Färber compatible = "amlogic,gxl-clkc", "amlogic,gxbb-clkc"; 2356a573c4eSAndreas Färber #clock-cells = <1>; 2366a573c4eSAndreas Färber reg = <0x0 0x0 0x0 0x3db>; 2376a573c4eSAndreas Färber }; 2386a573c4eSAndreas Färber}; 2396a573c4eSAndreas Färber 2406a573c4eSAndreas Färber&i2c_A { 2416a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2426a573c4eSAndreas Färber}; 2436a573c4eSAndreas Färber 2446a573c4eSAndreas Färber&i2c_AO { 2456a573c4eSAndreas Färber clocks = <&clkc CLKID_AO_I2C>; 2466a573c4eSAndreas Färber}; 2476a573c4eSAndreas Färber 2486a573c4eSAndreas Färber&i2c_B { 2496a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2506a573c4eSAndreas Färber}; 2516a573c4eSAndreas Färber 2526a573c4eSAndreas Färber&i2c_C { 2536a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2546a573c4eSAndreas Färber}; 2556a573c4eSAndreas Färber 256fb0fe922SNeil Armstrong&periphs { 257fb0fe922SNeil Armstrong pinctrl_periphs: pinctrl@4b0 { 258fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-periphs-pinctrl"; 259fb0fe922SNeil Armstrong #address-cells = <2>; 260fb0fe922SNeil Armstrong #size-cells = <2>; 261fb0fe922SNeil Armstrong ranges; 262fb0fe922SNeil Armstrong 263fb0fe922SNeil Armstrong gpio: bank@4b0 { 264fb0fe922SNeil Armstrong reg = <0x0 0x004b0 0x0 0x28>, 265fb0fe922SNeil Armstrong <0x0 0x004e8 0x0 0x14>, 266f4c406d5SNeil Armstrong <0x0 0x00520 0x0 0x14>, 267fb0fe922SNeil Armstrong <0x0 0x00430 0x0 0x40>; 268fb0fe922SNeil Armstrong reg-names = "mux", "pull", "pull-enable", "gpio"; 269fb0fe922SNeil Armstrong gpio-controller; 270fb0fe922SNeil Armstrong #gpio-cells = <2>; 271d79a079cSNeil Armstrong gpio-ranges = <&pinctrl_periphs 0 10 101>; 272fb0fe922SNeil Armstrong }; 273fb0fe922SNeil Armstrong 274fb0fe922SNeil Armstrong emmc_pins: emmc { 275fb0fe922SNeil Armstrong mux { 276fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 277fb0fe922SNeil Armstrong "emmc_cmd", 278fb0fe922SNeil Armstrong "emmc_clk", 279fb0fe922SNeil Armstrong "emmc_ds"; 280fb0fe922SNeil Armstrong function = "emmc"; 281fb0fe922SNeil Armstrong }; 282fb0fe922SNeil Armstrong }; 283fb0fe922SNeil Armstrong 284*67e7607fSJerome Brunet emmc_clk_gate_pins: emmc_clk_gate { 285*67e7607fSJerome Brunet mux { 286*67e7607fSJerome Brunet groups = "BOOT_8"; 287*67e7607fSJerome Brunet function = "gpio_periphs"; 288*67e7607fSJerome Brunet }; 289*67e7607fSJerome Brunet cfg-pull-down { 290*67e7607fSJerome Brunet pins = "BOOT_8"; 291*67e7607fSJerome Brunet bias-pull-down; 292*67e7607fSJerome Brunet }; 293*67e7607fSJerome Brunet }; 294*67e7607fSJerome Brunet 295ca02e3f9SNeil Armstrong nor_pins: nor { 296ca02e3f9SNeil Armstrong mux { 297ca02e3f9SNeil Armstrong groups = "nor_d", 298ca02e3f9SNeil Armstrong "nor_q", 299ca02e3f9SNeil Armstrong "nor_c", 300ca02e3f9SNeil Armstrong "nor_cs"; 301ca02e3f9SNeil Armstrong function = "nor"; 302ca02e3f9SNeil Armstrong }; 303ca02e3f9SNeil Armstrong }; 304ca02e3f9SNeil Armstrong 30585b2e743SNeil Armstrong spi_pins: spi { 30685b2e743SNeil Armstrong mux { 30785b2e743SNeil Armstrong groups = "spi_miso", 30885b2e743SNeil Armstrong "spi_mosi", 30985b2e743SNeil Armstrong "spi_sclk"; 31085b2e743SNeil Armstrong function = "spi"; 31185b2e743SNeil Armstrong }; 31285b2e743SNeil Armstrong }; 31385b2e743SNeil Armstrong 31485b2e743SNeil Armstrong spi_ss0_pins: spi-ss0 { 31585b2e743SNeil Armstrong mux { 31685b2e743SNeil Armstrong groups = "spi_ss0"; 31785b2e743SNeil Armstrong function = "spi"; 31885b2e743SNeil Armstrong }; 31985b2e743SNeil Armstrong }; 32085b2e743SNeil Armstrong 321fb0fe922SNeil Armstrong sdcard_pins: sdcard { 322fb0fe922SNeil Armstrong mux { 323fb0fe922SNeil Armstrong groups = "sdcard_d0", 324fb0fe922SNeil Armstrong "sdcard_d1", 325fb0fe922SNeil Armstrong "sdcard_d2", 326fb0fe922SNeil Armstrong "sdcard_d3", 327fb0fe922SNeil Armstrong "sdcard_cmd", 328fb0fe922SNeil Armstrong "sdcard_clk"; 329fb0fe922SNeil Armstrong function = "sdcard"; 330fb0fe922SNeil Armstrong }; 331fb0fe922SNeil Armstrong }; 332fb0fe922SNeil Armstrong 333*67e7607fSJerome Brunet sdcard_clk_gate_pins: sdcard_clk_gate { 334*67e7607fSJerome Brunet mux { 335*67e7607fSJerome Brunet groups = "CARD_2"; 336*67e7607fSJerome Brunet function = "gpio_periphs"; 337*67e7607fSJerome Brunet }; 338*67e7607fSJerome Brunet cfg-pull-down { 339*67e7607fSJerome Brunet pins = "CARD_2"; 340*67e7607fSJerome Brunet bias-pull-down; 341*67e7607fSJerome Brunet }; 342*67e7607fSJerome Brunet }; 343*67e7607fSJerome Brunet 344fb0fe922SNeil Armstrong sdio_pins: sdio { 345fb0fe922SNeil Armstrong mux { 346fb0fe922SNeil Armstrong groups = "sdio_d0", 347fb0fe922SNeil Armstrong "sdio_d1", 348fb0fe922SNeil Armstrong "sdio_d2", 349fb0fe922SNeil Armstrong "sdio_d3", 350fb0fe922SNeil Armstrong "sdio_cmd", 351fb0fe922SNeil Armstrong "sdio_clk"; 352fb0fe922SNeil Armstrong function = "sdio"; 353fb0fe922SNeil Armstrong }; 354fb0fe922SNeil Armstrong }; 355fb0fe922SNeil Armstrong 356*67e7607fSJerome Brunet sdio_clk_gate_pins: sdio_clk_gate { 357*67e7607fSJerome Brunet mux { 358*67e7607fSJerome Brunet groups = "GPIOX_4"; 359*67e7607fSJerome Brunet function = "gpio_periphs"; 360*67e7607fSJerome Brunet }; 361*67e7607fSJerome Brunet cfg-pull-down { 362*67e7607fSJerome Brunet pins = "GPIOX_4"; 363*67e7607fSJerome Brunet bias-pull-down; 364*67e7607fSJerome Brunet }; 365*67e7607fSJerome Brunet }; 366*67e7607fSJerome Brunet 367fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 368fb0fe922SNeil Armstrong mux { 369fb0fe922SNeil Armstrong groups = "sdio_irq"; 370fb0fe922SNeil Armstrong function = "sdio"; 371fb0fe922SNeil Armstrong }; 372fb0fe922SNeil Armstrong }; 373fb0fe922SNeil Armstrong 374fb0fe922SNeil Armstrong uart_a_pins: uart_a { 375fb0fe922SNeil Armstrong mux { 376fb0fe922SNeil Armstrong groups = "uart_tx_a", 377fb0fe922SNeil Armstrong "uart_rx_a"; 378fb0fe922SNeil Armstrong function = "uart_a"; 379fb0fe922SNeil Armstrong }; 380fb0fe922SNeil Armstrong }; 381fb0fe922SNeil Armstrong 382261e1d5cSMartin Blumenstingl uart_a_cts_rts_pins: uart_a_cts_rts { 383261e1d5cSMartin Blumenstingl mux { 384261e1d5cSMartin Blumenstingl groups = "uart_cts_a", 385261e1d5cSMartin Blumenstingl "uart_rts_a"; 386261e1d5cSMartin Blumenstingl function = "uart_a"; 387261e1d5cSMartin Blumenstingl }; 388261e1d5cSMartin Blumenstingl }; 389261e1d5cSMartin Blumenstingl 390fb0fe922SNeil Armstrong uart_b_pins: uart_b { 391fb0fe922SNeil Armstrong mux { 392fb0fe922SNeil Armstrong groups = "uart_tx_b", 393fb0fe922SNeil Armstrong "uart_rx_b"; 394fb0fe922SNeil Armstrong function = "uart_b"; 395fb0fe922SNeil Armstrong }; 396fb0fe922SNeil Armstrong }; 397fb0fe922SNeil Armstrong 398261e1d5cSMartin Blumenstingl uart_b_cts_rts_pins: uart_b_cts_rts { 399261e1d5cSMartin Blumenstingl mux { 400261e1d5cSMartin Blumenstingl groups = "uart_cts_b", 401261e1d5cSMartin Blumenstingl "uart_rts_b"; 402261e1d5cSMartin Blumenstingl function = "uart_b"; 403261e1d5cSMartin Blumenstingl }; 404261e1d5cSMartin Blumenstingl }; 405261e1d5cSMartin Blumenstingl 406fb0fe922SNeil Armstrong uart_c_pins: uart_c { 407fb0fe922SNeil Armstrong mux { 408fb0fe922SNeil Armstrong groups = "uart_tx_c", 409fb0fe922SNeil Armstrong "uart_rx_c"; 410fb0fe922SNeil Armstrong function = "uart_c"; 411fb0fe922SNeil Armstrong }; 412fb0fe922SNeil Armstrong }; 413fb0fe922SNeil Armstrong 414261e1d5cSMartin Blumenstingl uart_c_cts_rts_pins: uart_c_cts_rts { 415261e1d5cSMartin Blumenstingl mux { 416261e1d5cSMartin Blumenstingl groups = "uart_cts_c", 417261e1d5cSMartin Blumenstingl "uart_rts_c"; 418261e1d5cSMartin Blumenstingl function = "uart_c"; 419261e1d5cSMartin Blumenstingl }; 420261e1d5cSMartin Blumenstingl }; 421261e1d5cSMartin Blumenstingl 422fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 423fb0fe922SNeil Armstrong mux { 424fb0fe922SNeil Armstrong groups = "i2c_sck_a", 425fb0fe922SNeil Armstrong "i2c_sda_a"; 426fb0fe922SNeil Armstrong function = "i2c_a"; 427fb0fe922SNeil Armstrong }; 428fb0fe922SNeil Armstrong }; 429fb0fe922SNeil Armstrong 430fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 431fb0fe922SNeil Armstrong mux { 432fb0fe922SNeil Armstrong groups = "i2c_sck_b", 433fb0fe922SNeil Armstrong "i2c_sda_b"; 434fb0fe922SNeil Armstrong function = "i2c_b"; 435fb0fe922SNeil Armstrong }; 436fb0fe922SNeil Armstrong }; 437fb0fe922SNeil Armstrong 438fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 439fb0fe922SNeil Armstrong mux { 440fb0fe922SNeil Armstrong groups = "i2c_sck_c", 441fb0fe922SNeil Armstrong "i2c_sda_c"; 442fb0fe922SNeil Armstrong function = "i2c_c"; 443fb0fe922SNeil Armstrong }; 444fb0fe922SNeil Armstrong }; 445fb0fe922SNeil Armstrong 446fb0fe922SNeil Armstrong eth_pins: eth_c { 447fb0fe922SNeil Armstrong mux { 448fb0fe922SNeil Armstrong groups = "eth_mdio", 449fb0fe922SNeil Armstrong "eth_mdc", 450fb0fe922SNeil Armstrong "eth_clk_rx_clk", 451fb0fe922SNeil Armstrong "eth_rx_dv", 452fb0fe922SNeil Armstrong "eth_rxd0", 453fb0fe922SNeil Armstrong "eth_rxd1", 454fb0fe922SNeil Armstrong "eth_rxd2", 455fb0fe922SNeil Armstrong "eth_rxd3", 456fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 457fb0fe922SNeil Armstrong "eth_tx_en", 458fb0fe922SNeil Armstrong "eth_txd0", 459fb0fe922SNeil Armstrong "eth_txd1", 460fb0fe922SNeil Armstrong "eth_txd2", 461fb0fe922SNeil Armstrong "eth_txd3"; 462fb0fe922SNeil Armstrong function = "eth"; 463fb0fe922SNeil Armstrong }; 464fb0fe922SNeil Armstrong }; 465fb0fe922SNeil Armstrong 46644ddadc3SNeil Armstrong eth_link_led_pins: eth_link_led { 46744ddadc3SNeil Armstrong mux { 46844ddadc3SNeil Armstrong groups = "eth_link_led"; 46944ddadc3SNeil Armstrong function = "eth_led"; 47044ddadc3SNeil Armstrong }; 47144ddadc3SNeil Armstrong }; 47244ddadc3SNeil Armstrong 47344ddadc3SNeil Armstrong eth_act_led_pins: eth_act_led { 47444ddadc3SNeil Armstrong mux { 47544ddadc3SNeil Armstrong groups = "eth_act_led"; 47644ddadc3SNeil Armstrong function = "eth_led"; 47744ddadc3SNeil Armstrong }; 47844ddadc3SNeil Armstrong }; 47944ddadc3SNeil Armstrong 480e98fd134SMartin Blumenstingl pwm_a_pins: pwm_a { 481e98fd134SMartin Blumenstingl mux { 482e98fd134SMartin Blumenstingl groups = "pwm_a"; 483e98fd134SMartin Blumenstingl function = "pwm_a"; 484e98fd134SMartin Blumenstingl }; 485e98fd134SMartin Blumenstingl }; 486e98fd134SMartin Blumenstingl 487e98fd134SMartin Blumenstingl pwm_b_pins: pwm_b { 488e98fd134SMartin Blumenstingl mux { 489e98fd134SMartin Blumenstingl groups = "pwm_b"; 490e98fd134SMartin Blumenstingl function = "pwm_b"; 491e98fd134SMartin Blumenstingl }; 492e98fd134SMartin Blumenstingl }; 493e98fd134SMartin Blumenstingl 494e98fd134SMartin Blumenstingl pwm_c_pins: pwm_c { 495e98fd134SMartin Blumenstingl mux { 496e98fd134SMartin Blumenstingl groups = "pwm_c"; 497e98fd134SMartin Blumenstingl function = "pwm_c"; 498e98fd134SMartin Blumenstingl }; 499e98fd134SMartin Blumenstingl }; 500e98fd134SMartin Blumenstingl 501e98fd134SMartin Blumenstingl pwm_d_pins: pwm_d { 502e98fd134SMartin Blumenstingl mux { 503e98fd134SMartin Blumenstingl groups = "pwm_d"; 504e98fd134SMartin Blumenstingl function = "pwm_d"; 505e98fd134SMartin Blumenstingl }; 506e98fd134SMartin Blumenstingl }; 507e98fd134SMartin Blumenstingl 508fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 509fb0fe922SNeil Armstrong mux { 510fb0fe922SNeil Armstrong groups = "pwm_e"; 511fb0fe922SNeil Armstrong function = "pwm_e"; 512fb0fe922SNeil Armstrong }; 513fb0fe922SNeil Armstrong }; 514b949165cSNeil Armstrong 515e98fd134SMartin Blumenstingl pwm_f_clk_pins: pwm_f_clk { 516e98fd134SMartin Blumenstingl mux { 517e98fd134SMartin Blumenstingl groups = "pwm_f_clk"; 518e98fd134SMartin Blumenstingl function = "pwm_f"; 519e98fd134SMartin Blumenstingl }; 520e98fd134SMartin Blumenstingl }; 521e98fd134SMartin Blumenstingl 522e98fd134SMartin Blumenstingl pwm_f_x_pins: pwm_f_x { 523e98fd134SMartin Blumenstingl mux { 524e98fd134SMartin Blumenstingl groups = "pwm_f_x"; 525e98fd134SMartin Blumenstingl function = "pwm_f"; 526e98fd134SMartin Blumenstingl }; 527e98fd134SMartin Blumenstingl }; 528e98fd134SMartin Blumenstingl 529b949165cSNeil Armstrong hdmi_hpd_pins: hdmi_hpd { 530b949165cSNeil Armstrong mux { 531b949165cSNeil Armstrong groups = "hdmi_hpd"; 532b949165cSNeil Armstrong function = "hdmi_hpd"; 533b949165cSNeil Armstrong }; 534b949165cSNeil Armstrong }; 535b949165cSNeil Armstrong 536b949165cSNeil Armstrong hdmi_i2c_pins: hdmi_i2c { 537b949165cSNeil Armstrong mux { 538b949165cSNeil Armstrong groups = "hdmi_sda", "hdmi_scl"; 539b949165cSNeil Armstrong function = "hdmi_i2c"; 540b949165cSNeil Armstrong }; 541b949165cSNeil Armstrong }; 542c16fe9a1Sjbrunet 543c16fe9a1Sjbrunet i2s_am_clk_pins: i2s_am_clk { 544c16fe9a1Sjbrunet mux { 545c16fe9a1Sjbrunet groups = "i2s_am_clk"; 546c16fe9a1Sjbrunet function = "i2s_out"; 547c16fe9a1Sjbrunet }; 548c16fe9a1Sjbrunet }; 549c16fe9a1Sjbrunet 550c16fe9a1Sjbrunet i2s_out_ao_clk_pins: i2s_out_ao_clk { 551c16fe9a1Sjbrunet mux { 552c16fe9a1Sjbrunet groups = "i2s_out_ao_clk"; 553c16fe9a1Sjbrunet function = "i2s_out"; 554c16fe9a1Sjbrunet }; 555c16fe9a1Sjbrunet }; 556c16fe9a1Sjbrunet 557c16fe9a1Sjbrunet i2s_out_lr_clk_pins: i2s_out_lr_clk { 558c16fe9a1Sjbrunet mux { 559c16fe9a1Sjbrunet groups = "i2s_out_lr_clk"; 560c16fe9a1Sjbrunet function = "i2s_out"; 561c16fe9a1Sjbrunet }; 562c16fe9a1Sjbrunet }; 563c16fe9a1Sjbrunet 564c16fe9a1Sjbrunet i2s_out_ch01_pins: i2s_out_ch01 { 565c16fe9a1Sjbrunet mux { 566c16fe9a1Sjbrunet groups = "i2s_out_ch01"; 567c16fe9a1Sjbrunet function = "i2s_out"; 568c16fe9a1Sjbrunet }; 569c16fe9a1Sjbrunet }; 570c16fe9a1Sjbrunet i2sout_ch23_z_pins: i2sout_ch23_z { 571c16fe9a1Sjbrunet mux { 572c16fe9a1Sjbrunet groups = "i2sout_ch23_z"; 573c16fe9a1Sjbrunet function = "i2s_out"; 574c16fe9a1Sjbrunet }; 575c16fe9a1Sjbrunet }; 576c16fe9a1Sjbrunet 577c16fe9a1Sjbrunet i2sout_ch45_z_pins: i2sout_ch45_z { 578c16fe9a1Sjbrunet mux { 579c16fe9a1Sjbrunet groups = "i2sout_ch45_z"; 580c16fe9a1Sjbrunet function = "i2s_out"; 581c16fe9a1Sjbrunet }; 582c16fe9a1Sjbrunet }; 583c16fe9a1Sjbrunet 584c16fe9a1Sjbrunet i2sout_ch67_z_pins: i2sout_ch67_z { 585c16fe9a1Sjbrunet mux { 586c16fe9a1Sjbrunet groups = "i2sout_ch67_z"; 587c16fe9a1Sjbrunet function = "i2s_out"; 588c16fe9a1Sjbrunet }; 589c16fe9a1Sjbrunet }; 5909503062dSjbrunet 5919503062dSjbrunet spdif_out_h_pins: spdif_out_ao_h { 5929503062dSjbrunet mux { 5939503062dSjbrunet groups = "spdif_out_h"; 5949503062dSjbrunet function = "spdif_out"; 5959503062dSjbrunet }; 5969503062dSjbrunet }; 597fb0fe922SNeil Armstrong }; 598e9e27c64SNeil Armstrong 599e9e27c64SNeil Armstrong eth-phy-mux { 600e9e27c64SNeil Armstrong compatible = "mdio-mux-mmioreg", "mdio-mux"; 601e9e27c64SNeil Armstrong #address-cells = <1>; 602e9e27c64SNeil Armstrong #size-cells = <0>; 603e9e27c64SNeil Armstrong reg = <0x0 0x55c 0x0 0x4>; 604e9e27c64SNeil Armstrong mux-mask = <0xffffffff>; 605e9e27c64SNeil Armstrong mdio-parent-bus = <&mdio0>; 606e9e27c64SNeil Armstrong 607e9e27c64SNeil Armstrong internal_mdio: mdio@e40908ff { 608e9e27c64SNeil Armstrong reg = <0xe40908ff>; 609e9e27c64SNeil Armstrong #address-cells = <1>; 610e9e27c64SNeil Armstrong #size-cells = <0>; 611e9e27c64SNeil Armstrong 612e9e27c64SNeil Armstrong internal_phy: ethernet-phy@8 { 613e9e27c64SNeil Armstrong compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; 614e9e27c64SNeil Armstrong reg = <8>; 615e9e27c64SNeil Armstrong max-speed = <100>; 616e9e27c64SNeil Armstrong }; 617e9e27c64SNeil Armstrong }; 618e9e27c64SNeil Armstrong 619e9e27c64SNeil Armstrong external_mdio: mdio@2009087f { 620e9e27c64SNeil Armstrong reg = <0x2009087f>; 621e9e27c64SNeil Armstrong #address-cells = <1>; 622e9e27c64SNeil Armstrong #size-cells = <0>; 623e9e27c64SNeil Armstrong }; 624e9e27c64SNeil Armstrong }; 625fb0fe922SNeil Armstrong}; 626973fbd55SNeil Armstrong 627bd80ef5eSMartin Blumenstingl&saradc { 628bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 629bd80ef5eSMartin Blumenstingl clocks = <&xtal>, 630bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC>, 631bd80ef5eSMartin Blumenstingl <&clkc CLKID_SANA>, 632bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_CLK>, 633bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_SEL>; 634bd80ef5eSMartin Blumenstingl clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; 635bd80ef5eSMartin Blumenstingl}; 636bd80ef5eSMartin Blumenstingl 6376d489dc8SNeil Armstrong&sd_emmc_a { 6386d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_A>, 63950662499SJerome Brunet <&clkc CLKID_SD_EMMC_A_CLK0>, 6406d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6416d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6426d489dc8SNeil Armstrong}; 6436d489dc8SNeil Armstrong 6446d489dc8SNeil Armstrong&sd_emmc_b { 6456d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_B>, 64650662499SJerome Brunet <&clkc CLKID_SD_EMMC_B_CLK0>, 6476d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6486d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6496d489dc8SNeil Armstrong}; 6506d489dc8SNeil Armstrong 6516d489dc8SNeil Armstrong&sd_emmc_c { 6526d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_C>, 65350662499SJerome Brunet <&clkc CLKID_SD_EMMC_C_CLK0>, 6546d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6556d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6566d489dc8SNeil Armstrong}; 657fafdbdf7SNeil Armstrong 658fa808631SNeil Armstrong&spicc { 659fa808631SNeil Armstrong clocks = <&clkc CLKID_SPICC>; 660fa808631SNeil Armstrong clock-names = "core"; 661fa808631SNeil Armstrong resets = <&reset RESET_PERIPHS_SPICC>; 662fa808631SNeil Armstrong num-cs = <1>; 663fa808631SNeil Armstrong}; 664fa808631SNeil Armstrong 66504b36df4SNeil Armstrong&spifc { 66604b36df4SNeil Armstrong clocks = <&clkc CLKID_SPI>; 66704b36df4SNeil Armstrong}; 66804b36df4SNeil Armstrong 669f72d6f60SHelmut Klein&uart_A { 670f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 671f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 672f72d6f60SHelmut Klein}; 673f72d6f60SHelmut Klein 674f72d6f60SHelmut Klein&uart_AO { 675f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 676f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 677f72d6f60SHelmut Klein}; 678f72d6f60SHelmut Klein 679f72d6f60SHelmut Klein&uart_AO_B { 680f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 681f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 682f72d6f60SHelmut Klein}; 683f72d6f60SHelmut Klein 684f72d6f60SHelmut Klein&uart_B { 685f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 686f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 687f72d6f60SHelmut Klein}; 688f72d6f60SHelmut Klein 689f72d6f60SHelmut Klein&uart_C { 690f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 691f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 692f72d6f60SHelmut Klein}; 693f72d6f60SHelmut Klein 694fafdbdf7SNeil Armstrong&vpu { 695fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 696fafdbdf7SNeil Armstrong}; 697