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> 461cf3df8aSKevin Hilman#include <dt-bindings/gpio/meson-gxl-gpio.h> 476939db7eSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 4815abee8aSCarlo Caione 4915abee8aSCarlo Caione/ { 5015abee8aSCarlo Caione compatible = "amlogic,meson-gxl"; 5115abee8aSCarlo Caione}; 52fb0fe922SNeil Armstrong 53e9e27c64SNeil Armstrongðmac { 54e9e27c64SNeil Armstrong reg = <0x0 0xc9410000 0x0 0x10000 55e9e27c64SNeil Armstrong 0x0 0xc8834540 0x0 0x4>; 56e9e27c64SNeil Armstrong 57e9e27c64SNeil Armstrong clocks = <&clkc CLKID_ETH>, 58e9e27c64SNeil Armstrong <&clkc CLKID_FCLK_DIV2>, 59e9e27c64SNeil Armstrong <&clkc CLKID_MPLL2>; 60e9e27c64SNeil Armstrong clock-names = "stmmaceth", "clkin0", "clkin1"; 61e9e27c64SNeil Armstrong 62e9e27c64SNeil Armstrong mdio0: mdio { 63e9e27c64SNeil Armstrong #address-cells = <1>; 64e9e27c64SNeil Armstrong #size-cells = <0>; 65e9e27c64SNeil Armstrong compatible = "snps,dwmac-mdio"; 66e9e27c64SNeil Armstrong }; 67e9e27c64SNeil Armstrong}; 68e9e27c64SNeil Armstrong 69fb0fe922SNeil Armstrong&aobus { 70fb0fe922SNeil Armstrong pinctrl_aobus: pinctrl@14 { 71fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-aobus-pinctrl"; 72fb0fe922SNeil Armstrong #address-cells = <2>; 73fb0fe922SNeil Armstrong #size-cells = <2>; 74fb0fe922SNeil Armstrong ranges; 75fb0fe922SNeil Armstrong 76fb0fe922SNeil Armstrong gpio_ao: bank@14 { 77fb0fe922SNeil Armstrong reg = <0x0 0x00014 0x0 0x8>, 78fb0fe922SNeil Armstrong <0x0 0x0002c 0x0 0x4>, 79fb0fe922SNeil Armstrong <0x0 0x00024 0x0 0x8>; 80fb0fe922SNeil Armstrong reg-names = "mux", "pull", "gpio"; 81fb0fe922SNeil Armstrong gpio-controller; 82fb0fe922SNeil Armstrong #gpio-cells = <2>; 8384412e4eSNeil Armstrong gpio-ranges = <&pinctrl_aobus 0 0 14>; 84fb0fe922SNeil Armstrong }; 85fb0fe922SNeil Armstrong 86fb0fe922SNeil Armstrong uart_ao_a_pins: uart_ao_a { 87fb0fe922SNeil Armstrong mux { 88fb0fe922SNeil Armstrong groups = "uart_tx_ao_a", "uart_rx_ao_a"; 89fb0fe922SNeil Armstrong function = "uart_ao"; 90fb0fe922SNeil Armstrong }; 91fb0fe922SNeil Armstrong }; 92fb0fe922SNeil Armstrong 93261e1d5cSMartin Blumenstingl uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts { 94261e1d5cSMartin Blumenstingl mux { 95261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_a", 96261e1d5cSMartin Blumenstingl "uart_rts_ao_a"; 97261e1d5cSMartin Blumenstingl function = "uart_ao"; 98261e1d5cSMartin Blumenstingl }; 99261e1d5cSMartin Blumenstingl }; 100261e1d5cSMartin Blumenstingl 101890a96a2SMartin Blumenstingl uart_ao_b_pins: uart_ao_b { 102890a96a2SMartin Blumenstingl mux { 103890a96a2SMartin Blumenstingl groups = "uart_tx_ao_b", "uart_rx_ao_b"; 104890a96a2SMartin Blumenstingl function = "uart_ao_b"; 105890a96a2SMartin Blumenstingl }; 106890a96a2SMartin Blumenstingl }; 107890a96a2SMartin Blumenstingl 108ca02e3f9SNeil Armstrong uart_ao_b_0_1_pins: uart_ao_b_0_1 { 109ca02e3f9SNeil Armstrong mux { 110ca02e3f9SNeil Armstrong groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1"; 111ca02e3f9SNeil Armstrong function = "uart_ao_b"; 112ca02e3f9SNeil Armstrong }; 113ca02e3f9SNeil Armstrong }; 114ca02e3f9SNeil Armstrong 115261e1d5cSMartin Blumenstingl uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts { 116261e1d5cSMartin Blumenstingl mux { 117261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_b", 118261e1d5cSMartin Blumenstingl "uart_rts_ao_b"; 119261e1d5cSMartin Blumenstingl function = "uart_ao_b"; 120261e1d5cSMartin Blumenstingl }; 121261e1d5cSMartin Blumenstingl }; 122261e1d5cSMartin Blumenstingl 123fb0fe922SNeil Armstrong remote_input_ao_pins: remote_input_ao { 124fb0fe922SNeil Armstrong mux { 125fb0fe922SNeil Armstrong groups = "remote_input_ao"; 126fb0fe922SNeil Armstrong function = "remote_input_ao"; 127fb0fe922SNeil Armstrong }; 128fb0fe922SNeil Armstrong }; 129249a2243SMartin Blumenstingl 130ca02e3f9SNeil Armstrong i2c_ao_pins: i2c_ao { 131ca02e3f9SNeil Armstrong mux { 132ca02e3f9SNeil Armstrong groups = "i2c_sck_ao", 133ca02e3f9SNeil Armstrong "i2c_sda_ao"; 134ca02e3f9SNeil Armstrong function = "i2c_ao"; 135ca02e3f9SNeil Armstrong }; 136ca02e3f9SNeil Armstrong }; 137ca02e3f9SNeil Armstrong 138e98fd134SMartin Blumenstingl pwm_ao_a_3_pins: pwm_ao_a_3 { 139e98fd134SMartin Blumenstingl mux { 140e98fd134SMartin Blumenstingl groups = "pwm_ao_a_3"; 141e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 142e98fd134SMartin Blumenstingl }; 143e98fd134SMartin Blumenstingl }; 144e98fd134SMartin Blumenstingl 145e98fd134SMartin Blumenstingl pwm_ao_a_8_pins: pwm_ao_a_8 { 146e98fd134SMartin Blumenstingl mux { 147e98fd134SMartin Blumenstingl groups = "pwm_ao_a_8"; 148e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 149e98fd134SMartin Blumenstingl }; 150e98fd134SMartin Blumenstingl }; 151e98fd134SMartin Blumenstingl 152249a2243SMartin Blumenstingl pwm_ao_b_pins: pwm_ao_b { 153249a2243SMartin Blumenstingl mux { 154249a2243SMartin Blumenstingl groups = "pwm_ao_b"; 155249a2243SMartin Blumenstingl function = "pwm_ao_b"; 156249a2243SMartin Blumenstingl }; 157249a2243SMartin Blumenstingl }; 158ca02e3f9SNeil Armstrong 159ca02e3f9SNeil Armstrong pwm_ao_b_6_pins: pwm_ao_b_6 { 160ca02e3f9SNeil Armstrong mux { 161ca02e3f9SNeil Armstrong groups = "pwm_ao_b_6"; 162ca02e3f9SNeil Armstrong function = "pwm_ao_b"; 163ca02e3f9SNeil Armstrong }; 164ca02e3f9SNeil Armstrong }; 165c16fe9a1Sjbrunet 166c16fe9a1Sjbrunet i2s_out_ch23_ao_pins: i2s_out_ch23_ao { 167c16fe9a1Sjbrunet mux { 168c16fe9a1Sjbrunet groups = "i2s_out_ch23_ao"; 169c16fe9a1Sjbrunet function = "i2s_out_ao"; 170c16fe9a1Sjbrunet }; 171c16fe9a1Sjbrunet }; 172c16fe9a1Sjbrunet 173c16fe9a1Sjbrunet i2s_out_ch45_ao_pins: i2s_out_ch45_ao { 174c16fe9a1Sjbrunet mux { 175c16fe9a1Sjbrunet groups = "i2s_out_ch45_ao"; 176c16fe9a1Sjbrunet function = "i2s_out_ao"; 177c16fe9a1Sjbrunet }; 178c16fe9a1Sjbrunet }; 1799503062dSjbrunet 1809503062dSjbrunet spdif_out_ao_6_pins: spdif_out_ao_6 { 1819503062dSjbrunet mux { 1829503062dSjbrunet groups = "spdif_out_ao_6"; 1839503062dSjbrunet function = "spdif_out_ao"; 1849503062dSjbrunet }; 1859503062dSjbrunet }; 1869503062dSjbrunet 1879503062dSjbrunet spdif_out_ao_9_pins: spdif_out_ao_9 { 1889503062dSjbrunet mux { 1899503062dSjbrunet groups = "spdif_out_ao_9"; 1909503062dSjbrunet function = "spdif_out_ao"; 1919503062dSjbrunet }; 1929503062dSjbrunet }; 1936d717619SNeil Armstrong 1946d717619SNeil Armstrong ao_cec_pins: ao_cec { 1956d717619SNeil Armstrong mux { 1966d717619SNeil Armstrong groups = "ao_cec"; 1976d717619SNeil Armstrong function = "cec_ao"; 1986d717619SNeil Armstrong }; 1996d717619SNeil Armstrong }; 2006d717619SNeil Armstrong 2016d717619SNeil Armstrong ee_cec_pins: ee_cec { 2026d717619SNeil Armstrong mux { 2036d717619SNeil Armstrong groups = "ee_cec"; 2046d717619SNeil Armstrong function = "cec_ao"; 2056d717619SNeil Armstrong }; 2066d717619SNeil Armstrong }; 207fb0fe922SNeil Armstrong }; 208fb0fe922SNeil Armstrong}; 209fb0fe922SNeil Armstrong 210*7fd2c355SNeil Armstrong&clkc_AO { 211*7fd2c355SNeil Armstrong compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc"; 212*7fd2c355SNeil Armstrong}; 213*7fd2c355SNeil Armstrong 2146a573c4eSAndreas Färber&hdmi_tx { 2156a573c4eSAndreas Färber compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 2166a573c4eSAndreas Färber resets = <&reset RESET_HDMITX_CAPB3>, 2176a573c4eSAndreas Färber <&reset RESET_HDMI_SYSTEM_RESET>, 2186a573c4eSAndreas Färber <&reset RESET_HDMI_TX>; 2196a573c4eSAndreas Färber reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; 2206a573c4eSAndreas Färber clocks = <&clkc CLKID_HDMI_PCLK>, 2216a573c4eSAndreas Färber <&clkc CLKID_CLK81>, 2226a573c4eSAndreas Färber <&clkc CLKID_GCLK_VENCI_INT0>; 2236a573c4eSAndreas Färber clock-names = "isfr", "iahb", "venci"; 2246a573c4eSAndreas Färber}; 2256a573c4eSAndreas Färber 2266a573c4eSAndreas Färber&hiubus { 2276a573c4eSAndreas Färber clkc: clock-controller@0 { 2286a573c4eSAndreas Färber compatible = "amlogic,gxl-clkc", "amlogic,gxbb-clkc"; 2296a573c4eSAndreas Färber #clock-cells = <1>; 2306a573c4eSAndreas Färber reg = <0x0 0x0 0x0 0x3db>; 2316a573c4eSAndreas Färber }; 2326a573c4eSAndreas Färber}; 2336a573c4eSAndreas Färber 2346a573c4eSAndreas Färber&i2c_A { 2356a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2366a573c4eSAndreas Färber}; 2376a573c4eSAndreas Färber 2386a573c4eSAndreas Färber&i2c_AO { 2396a573c4eSAndreas Färber clocks = <&clkc CLKID_AO_I2C>; 2406a573c4eSAndreas Färber}; 2416a573c4eSAndreas Färber 2426a573c4eSAndreas Färber&i2c_B { 2436a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2446a573c4eSAndreas Färber}; 2456a573c4eSAndreas Färber 2466a573c4eSAndreas Färber&i2c_C { 2476a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2486a573c4eSAndreas Färber}; 2496a573c4eSAndreas Färber 250fb0fe922SNeil Armstrong&periphs { 251fb0fe922SNeil Armstrong pinctrl_periphs: pinctrl@4b0 { 252fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-periphs-pinctrl"; 253fb0fe922SNeil Armstrong #address-cells = <2>; 254fb0fe922SNeil Armstrong #size-cells = <2>; 255fb0fe922SNeil Armstrong ranges; 256fb0fe922SNeil Armstrong 257fb0fe922SNeil Armstrong gpio: bank@4b0 { 258fb0fe922SNeil Armstrong reg = <0x0 0x004b0 0x0 0x28>, 259fb0fe922SNeil Armstrong <0x0 0x004e8 0x0 0x14>, 260f4c406d5SNeil Armstrong <0x0 0x00520 0x0 0x14>, 261fb0fe922SNeil Armstrong <0x0 0x00430 0x0 0x40>; 262fb0fe922SNeil Armstrong reg-names = "mux", "pull", "pull-enable", "gpio"; 263fb0fe922SNeil Armstrong gpio-controller; 264fb0fe922SNeil Armstrong #gpio-cells = <2>; 265d79a079cSNeil Armstrong gpio-ranges = <&pinctrl_periphs 0 10 101>; 266fb0fe922SNeil Armstrong }; 267fb0fe922SNeil Armstrong 268fb0fe922SNeil Armstrong emmc_pins: emmc { 269fb0fe922SNeil Armstrong mux { 270fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 271fb0fe922SNeil Armstrong "emmc_cmd", 272fb0fe922SNeil Armstrong "emmc_clk", 273fb0fe922SNeil Armstrong "emmc_ds"; 274fb0fe922SNeil Armstrong function = "emmc"; 275fb0fe922SNeil Armstrong }; 276fb0fe922SNeil Armstrong }; 277fb0fe922SNeil Armstrong 278ca02e3f9SNeil Armstrong nor_pins: nor { 279ca02e3f9SNeil Armstrong mux { 280ca02e3f9SNeil Armstrong groups = "nor_d", 281ca02e3f9SNeil Armstrong "nor_q", 282ca02e3f9SNeil Armstrong "nor_c", 283ca02e3f9SNeil Armstrong "nor_cs"; 284ca02e3f9SNeil Armstrong function = "nor"; 285ca02e3f9SNeil Armstrong }; 286ca02e3f9SNeil Armstrong }; 287ca02e3f9SNeil Armstrong 28885b2e743SNeil Armstrong spi_pins: spi { 28985b2e743SNeil Armstrong mux { 29085b2e743SNeil Armstrong groups = "spi_miso", 29185b2e743SNeil Armstrong "spi_mosi", 29285b2e743SNeil Armstrong "spi_sclk"; 29385b2e743SNeil Armstrong function = "spi"; 29485b2e743SNeil Armstrong }; 29585b2e743SNeil Armstrong }; 29685b2e743SNeil Armstrong 29785b2e743SNeil Armstrong spi_ss0_pins: spi-ss0 { 29885b2e743SNeil Armstrong mux { 29985b2e743SNeil Armstrong groups = "spi_ss0"; 30085b2e743SNeil Armstrong function = "spi"; 30185b2e743SNeil Armstrong }; 30285b2e743SNeil Armstrong }; 30385b2e743SNeil Armstrong 304fb0fe922SNeil Armstrong sdcard_pins: sdcard { 305fb0fe922SNeil Armstrong mux { 306fb0fe922SNeil Armstrong groups = "sdcard_d0", 307fb0fe922SNeil Armstrong "sdcard_d1", 308fb0fe922SNeil Armstrong "sdcard_d2", 309fb0fe922SNeil Armstrong "sdcard_d3", 310fb0fe922SNeil Armstrong "sdcard_cmd", 311fb0fe922SNeil Armstrong "sdcard_clk"; 312fb0fe922SNeil Armstrong function = "sdcard"; 313fb0fe922SNeil Armstrong }; 314fb0fe922SNeil Armstrong }; 315fb0fe922SNeil Armstrong 316fb0fe922SNeil Armstrong sdio_pins: sdio { 317fb0fe922SNeil Armstrong mux { 318fb0fe922SNeil Armstrong groups = "sdio_d0", 319fb0fe922SNeil Armstrong "sdio_d1", 320fb0fe922SNeil Armstrong "sdio_d2", 321fb0fe922SNeil Armstrong "sdio_d3", 322fb0fe922SNeil Armstrong "sdio_cmd", 323fb0fe922SNeil Armstrong "sdio_clk"; 324fb0fe922SNeil Armstrong function = "sdio"; 325fb0fe922SNeil Armstrong }; 326fb0fe922SNeil Armstrong }; 327fb0fe922SNeil Armstrong 328fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 329fb0fe922SNeil Armstrong mux { 330fb0fe922SNeil Armstrong groups = "sdio_irq"; 331fb0fe922SNeil Armstrong function = "sdio"; 332fb0fe922SNeil Armstrong }; 333fb0fe922SNeil Armstrong }; 334fb0fe922SNeil Armstrong 335fb0fe922SNeil Armstrong uart_a_pins: uart_a { 336fb0fe922SNeil Armstrong mux { 337fb0fe922SNeil Armstrong groups = "uart_tx_a", 338fb0fe922SNeil Armstrong "uart_rx_a"; 339fb0fe922SNeil Armstrong function = "uart_a"; 340fb0fe922SNeil Armstrong }; 341fb0fe922SNeil Armstrong }; 342fb0fe922SNeil Armstrong 343261e1d5cSMartin Blumenstingl uart_a_cts_rts_pins: uart_a_cts_rts { 344261e1d5cSMartin Blumenstingl mux { 345261e1d5cSMartin Blumenstingl groups = "uart_cts_a", 346261e1d5cSMartin Blumenstingl "uart_rts_a"; 347261e1d5cSMartin Blumenstingl function = "uart_a"; 348261e1d5cSMartin Blumenstingl }; 349261e1d5cSMartin Blumenstingl }; 350261e1d5cSMartin Blumenstingl 351fb0fe922SNeil Armstrong uart_b_pins: uart_b { 352fb0fe922SNeil Armstrong mux { 353fb0fe922SNeil Armstrong groups = "uart_tx_b", 354fb0fe922SNeil Armstrong "uart_rx_b"; 355fb0fe922SNeil Armstrong function = "uart_b"; 356fb0fe922SNeil Armstrong }; 357fb0fe922SNeil Armstrong }; 358fb0fe922SNeil Armstrong 359261e1d5cSMartin Blumenstingl uart_b_cts_rts_pins: uart_b_cts_rts { 360261e1d5cSMartin Blumenstingl mux { 361261e1d5cSMartin Blumenstingl groups = "uart_cts_b", 362261e1d5cSMartin Blumenstingl "uart_rts_b"; 363261e1d5cSMartin Blumenstingl function = "uart_b"; 364261e1d5cSMartin Blumenstingl }; 365261e1d5cSMartin Blumenstingl }; 366261e1d5cSMartin Blumenstingl 367fb0fe922SNeil Armstrong uart_c_pins: uart_c { 368fb0fe922SNeil Armstrong mux { 369fb0fe922SNeil Armstrong groups = "uart_tx_c", 370fb0fe922SNeil Armstrong "uart_rx_c"; 371fb0fe922SNeil Armstrong function = "uart_c"; 372fb0fe922SNeil Armstrong }; 373fb0fe922SNeil Armstrong }; 374fb0fe922SNeil Armstrong 375261e1d5cSMartin Blumenstingl uart_c_cts_rts_pins: uart_c_cts_rts { 376261e1d5cSMartin Blumenstingl mux { 377261e1d5cSMartin Blumenstingl groups = "uart_cts_c", 378261e1d5cSMartin Blumenstingl "uart_rts_c"; 379261e1d5cSMartin Blumenstingl function = "uart_c"; 380261e1d5cSMartin Blumenstingl }; 381261e1d5cSMartin Blumenstingl }; 382261e1d5cSMartin Blumenstingl 383fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 384fb0fe922SNeil Armstrong mux { 385fb0fe922SNeil Armstrong groups = "i2c_sck_a", 386fb0fe922SNeil Armstrong "i2c_sda_a"; 387fb0fe922SNeil Armstrong function = "i2c_a"; 388fb0fe922SNeil Armstrong }; 389fb0fe922SNeil Armstrong }; 390fb0fe922SNeil Armstrong 391fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 392fb0fe922SNeil Armstrong mux { 393fb0fe922SNeil Armstrong groups = "i2c_sck_b", 394fb0fe922SNeil Armstrong "i2c_sda_b"; 395fb0fe922SNeil Armstrong function = "i2c_b"; 396fb0fe922SNeil Armstrong }; 397fb0fe922SNeil Armstrong }; 398fb0fe922SNeil Armstrong 399fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 400fb0fe922SNeil Armstrong mux { 401fb0fe922SNeil Armstrong groups = "i2c_sck_c", 402fb0fe922SNeil Armstrong "i2c_sda_c"; 403fb0fe922SNeil Armstrong function = "i2c_c"; 404fb0fe922SNeil Armstrong }; 405fb0fe922SNeil Armstrong }; 406fb0fe922SNeil Armstrong 407fb0fe922SNeil Armstrong eth_pins: eth_c { 408fb0fe922SNeil Armstrong mux { 409fb0fe922SNeil Armstrong groups = "eth_mdio", 410fb0fe922SNeil Armstrong "eth_mdc", 411fb0fe922SNeil Armstrong "eth_clk_rx_clk", 412fb0fe922SNeil Armstrong "eth_rx_dv", 413fb0fe922SNeil Armstrong "eth_rxd0", 414fb0fe922SNeil Armstrong "eth_rxd1", 415fb0fe922SNeil Armstrong "eth_rxd2", 416fb0fe922SNeil Armstrong "eth_rxd3", 417fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 418fb0fe922SNeil Armstrong "eth_tx_en", 419fb0fe922SNeil Armstrong "eth_txd0", 420fb0fe922SNeil Armstrong "eth_txd1", 421fb0fe922SNeil Armstrong "eth_txd2", 422fb0fe922SNeil Armstrong "eth_txd3"; 423fb0fe922SNeil Armstrong function = "eth"; 424fb0fe922SNeil Armstrong }; 425fb0fe922SNeil Armstrong }; 426fb0fe922SNeil Armstrong 42744ddadc3SNeil Armstrong eth_link_led_pins: eth_link_led { 42844ddadc3SNeil Armstrong mux { 42944ddadc3SNeil Armstrong groups = "eth_link_led"; 43044ddadc3SNeil Armstrong function = "eth_led"; 43144ddadc3SNeil Armstrong }; 43244ddadc3SNeil Armstrong }; 43344ddadc3SNeil Armstrong 43444ddadc3SNeil Armstrong eth_act_led_pins: eth_act_led { 43544ddadc3SNeil Armstrong mux { 43644ddadc3SNeil Armstrong groups = "eth_act_led"; 43744ddadc3SNeil Armstrong function = "eth_led"; 43844ddadc3SNeil Armstrong }; 43944ddadc3SNeil Armstrong }; 44044ddadc3SNeil Armstrong 441e98fd134SMartin Blumenstingl pwm_a_pins: pwm_a { 442e98fd134SMartin Blumenstingl mux { 443e98fd134SMartin Blumenstingl groups = "pwm_a"; 444e98fd134SMartin Blumenstingl function = "pwm_a"; 445e98fd134SMartin Blumenstingl }; 446e98fd134SMartin Blumenstingl }; 447e98fd134SMartin Blumenstingl 448e98fd134SMartin Blumenstingl pwm_b_pins: pwm_b { 449e98fd134SMartin Blumenstingl mux { 450e98fd134SMartin Blumenstingl groups = "pwm_b"; 451e98fd134SMartin Blumenstingl function = "pwm_b"; 452e98fd134SMartin Blumenstingl }; 453e98fd134SMartin Blumenstingl }; 454e98fd134SMartin Blumenstingl 455e98fd134SMartin Blumenstingl pwm_c_pins: pwm_c { 456e98fd134SMartin Blumenstingl mux { 457e98fd134SMartin Blumenstingl groups = "pwm_c"; 458e98fd134SMartin Blumenstingl function = "pwm_c"; 459e98fd134SMartin Blumenstingl }; 460e98fd134SMartin Blumenstingl }; 461e98fd134SMartin Blumenstingl 462e98fd134SMartin Blumenstingl pwm_d_pins: pwm_d { 463e98fd134SMartin Blumenstingl mux { 464e98fd134SMartin Blumenstingl groups = "pwm_d"; 465e98fd134SMartin Blumenstingl function = "pwm_d"; 466e98fd134SMartin Blumenstingl }; 467e98fd134SMartin Blumenstingl }; 468e98fd134SMartin Blumenstingl 469fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 470fb0fe922SNeil Armstrong mux { 471fb0fe922SNeil Armstrong groups = "pwm_e"; 472fb0fe922SNeil Armstrong function = "pwm_e"; 473fb0fe922SNeil Armstrong }; 474fb0fe922SNeil Armstrong }; 475b949165cSNeil Armstrong 476e98fd134SMartin Blumenstingl pwm_f_clk_pins: pwm_f_clk { 477e98fd134SMartin Blumenstingl mux { 478e98fd134SMartin Blumenstingl groups = "pwm_f_clk"; 479e98fd134SMartin Blumenstingl function = "pwm_f"; 480e98fd134SMartin Blumenstingl }; 481e98fd134SMartin Blumenstingl }; 482e98fd134SMartin Blumenstingl 483e98fd134SMartin Blumenstingl pwm_f_x_pins: pwm_f_x { 484e98fd134SMartin Blumenstingl mux { 485e98fd134SMartin Blumenstingl groups = "pwm_f_x"; 486e98fd134SMartin Blumenstingl function = "pwm_f"; 487e98fd134SMartin Blumenstingl }; 488e98fd134SMartin Blumenstingl }; 489e98fd134SMartin Blumenstingl 490b949165cSNeil Armstrong hdmi_hpd_pins: hdmi_hpd { 491b949165cSNeil Armstrong mux { 492b949165cSNeil Armstrong groups = "hdmi_hpd"; 493b949165cSNeil Armstrong function = "hdmi_hpd"; 494b949165cSNeil Armstrong }; 495b949165cSNeil Armstrong }; 496b949165cSNeil Armstrong 497b949165cSNeil Armstrong hdmi_i2c_pins: hdmi_i2c { 498b949165cSNeil Armstrong mux { 499b949165cSNeil Armstrong groups = "hdmi_sda", "hdmi_scl"; 500b949165cSNeil Armstrong function = "hdmi_i2c"; 501b949165cSNeil Armstrong }; 502b949165cSNeil Armstrong }; 503c16fe9a1Sjbrunet 504c16fe9a1Sjbrunet i2s_am_clk_pins: i2s_am_clk { 505c16fe9a1Sjbrunet mux { 506c16fe9a1Sjbrunet groups = "i2s_am_clk"; 507c16fe9a1Sjbrunet function = "i2s_out"; 508c16fe9a1Sjbrunet }; 509c16fe9a1Sjbrunet }; 510c16fe9a1Sjbrunet 511c16fe9a1Sjbrunet i2s_out_ao_clk_pins: i2s_out_ao_clk { 512c16fe9a1Sjbrunet mux { 513c16fe9a1Sjbrunet groups = "i2s_out_ao_clk"; 514c16fe9a1Sjbrunet function = "i2s_out"; 515c16fe9a1Sjbrunet }; 516c16fe9a1Sjbrunet }; 517c16fe9a1Sjbrunet 518c16fe9a1Sjbrunet i2s_out_lr_clk_pins: i2s_out_lr_clk { 519c16fe9a1Sjbrunet mux { 520c16fe9a1Sjbrunet groups = "i2s_out_lr_clk"; 521c16fe9a1Sjbrunet function = "i2s_out"; 522c16fe9a1Sjbrunet }; 523c16fe9a1Sjbrunet }; 524c16fe9a1Sjbrunet 525c16fe9a1Sjbrunet i2s_out_ch01_pins: i2s_out_ch01 { 526c16fe9a1Sjbrunet mux { 527c16fe9a1Sjbrunet groups = "i2s_out_ch01"; 528c16fe9a1Sjbrunet function = "i2s_out"; 529c16fe9a1Sjbrunet }; 530c16fe9a1Sjbrunet }; 531c16fe9a1Sjbrunet i2sout_ch23_z_pins: i2sout_ch23_z { 532c16fe9a1Sjbrunet mux { 533c16fe9a1Sjbrunet groups = "i2sout_ch23_z"; 534c16fe9a1Sjbrunet function = "i2s_out"; 535c16fe9a1Sjbrunet }; 536c16fe9a1Sjbrunet }; 537c16fe9a1Sjbrunet 538c16fe9a1Sjbrunet i2sout_ch45_z_pins: i2sout_ch45_z { 539c16fe9a1Sjbrunet mux { 540c16fe9a1Sjbrunet groups = "i2sout_ch45_z"; 541c16fe9a1Sjbrunet function = "i2s_out"; 542c16fe9a1Sjbrunet }; 543c16fe9a1Sjbrunet }; 544c16fe9a1Sjbrunet 545c16fe9a1Sjbrunet i2sout_ch67_z_pins: i2sout_ch67_z { 546c16fe9a1Sjbrunet mux { 547c16fe9a1Sjbrunet groups = "i2sout_ch67_z"; 548c16fe9a1Sjbrunet function = "i2s_out"; 549c16fe9a1Sjbrunet }; 550c16fe9a1Sjbrunet }; 5519503062dSjbrunet 5529503062dSjbrunet spdif_out_h_pins: spdif_out_ao_h { 5539503062dSjbrunet mux { 5549503062dSjbrunet groups = "spdif_out_h"; 5559503062dSjbrunet function = "spdif_out"; 5569503062dSjbrunet }; 5579503062dSjbrunet }; 558fb0fe922SNeil Armstrong }; 559e9e27c64SNeil Armstrong 560e9e27c64SNeil Armstrong eth-phy-mux { 561e9e27c64SNeil Armstrong compatible = "mdio-mux-mmioreg", "mdio-mux"; 562e9e27c64SNeil Armstrong #address-cells = <1>; 563e9e27c64SNeil Armstrong #size-cells = <0>; 564e9e27c64SNeil Armstrong reg = <0x0 0x55c 0x0 0x4>; 565e9e27c64SNeil Armstrong mux-mask = <0xffffffff>; 566e9e27c64SNeil Armstrong mdio-parent-bus = <&mdio0>; 567e9e27c64SNeil Armstrong 568e9e27c64SNeil Armstrong internal_mdio: mdio@e40908ff { 569e9e27c64SNeil Armstrong reg = <0xe40908ff>; 570e9e27c64SNeil Armstrong #address-cells = <1>; 571e9e27c64SNeil Armstrong #size-cells = <0>; 572e9e27c64SNeil Armstrong 573e9e27c64SNeil Armstrong internal_phy: ethernet-phy@8 { 574e9e27c64SNeil Armstrong compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; 575e9e27c64SNeil Armstrong reg = <8>; 576e9e27c64SNeil Armstrong max-speed = <100>; 577e9e27c64SNeil Armstrong }; 578e9e27c64SNeil Armstrong }; 579e9e27c64SNeil Armstrong 580e9e27c64SNeil Armstrong external_mdio: mdio@2009087f { 581e9e27c64SNeil Armstrong reg = <0x2009087f>; 582e9e27c64SNeil Armstrong #address-cells = <1>; 583e9e27c64SNeil Armstrong #size-cells = <0>; 584e9e27c64SNeil Armstrong }; 585e9e27c64SNeil Armstrong }; 586fb0fe922SNeil Armstrong}; 587973fbd55SNeil Armstrong 588bd80ef5eSMartin Blumenstingl&saradc { 589bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 590bd80ef5eSMartin Blumenstingl clocks = <&xtal>, 591bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC>, 592bd80ef5eSMartin Blumenstingl <&clkc CLKID_SANA>, 593bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_CLK>, 594bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_SEL>; 595bd80ef5eSMartin Blumenstingl clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; 596bd80ef5eSMartin Blumenstingl}; 597bd80ef5eSMartin Blumenstingl 5986d489dc8SNeil Armstrong&sd_emmc_a { 5996d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_A>, 6006d489dc8SNeil Armstrong <&xtal>, 6016d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6026d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6036d489dc8SNeil Armstrong}; 6046d489dc8SNeil Armstrong 6056d489dc8SNeil Armstrong&sd_emmc_b { 6066d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_B>, 6076d489dc8SNeil Armstrong <&xtal>, 6086d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6096d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6106d489dc8SNeil Armstrong}; 6116d489dc8SNeil Armstrong 6126d489dc8SNeil Armstrong&sd_emmc_c { 6136d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_C>, 6146d489dc8SNeil Armstrong <&xtal>, 6156d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6166d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6176d489dc8SNeil Armstrong}; 618fafdbdf7SNeil Armstrong 619fa808631SNeil Armstrong&spicc { 620fa808631SNeil Armstrong clocks = <&clkc CLKID_SPICC>; 621fa808631SNeil Armstrong clock-names = "core"; 622fa808631SNeil Armstrong resets = <&reset RESET_PERIPHS_SPICC>; 623fa808631SNeil Armstrong num-cs = <1>; 624fa808631SNeil Armstrong}; 625fa808631SNeil Armstrong 62604b36df4SNeil Armstrong&spifc { 62704b36df4SNeil Armstrong clocks = <&clkc CLKID_SPI>; 62804b36df4SNeil Armstrong}; 62904b36df4SNeil Armstrong 630f72d6f60SHelmut Klein&uart_A { 631f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 632f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 633f72d6f60SHelmut Klein}; 634f72d6f60SHelmut Klein 635f72d6f60SHelmut Klein&uart_AO { 636f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 637f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 638f72d6f60SHelmut Klein}; 639f72d6f60SHelmut Klein 640f72d6f60SHelmut Klein&uart_AO_B { 641f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 642f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 643f72d6f60SHelmut Klein}; 644f72d6f60SHelmut Klein 645f72d6f60SHelmut Klein&uart_B { 646f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 647f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 648f72d6f60SHelmut Klein}; 649f72d6f60SHelmut Klein 650f72d6f60SHelmut Klein&uart_C { 651f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 652f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 653f72d6f60SHelmut Klein}; 654f72d6f60SHelmut Klein 655fafdbdf7SNeil Armstrong&vpu { 656fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 657fafdbdf7SNeil Armstrong}; 658