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>; 2717dbe78e5SJerome Brunet gpio-ranges = <&pinctrl_periphs 0 0 100>; 272fb0fe922SNeil Armstrong }; 273fb0fe922SNeil Armstrong 274fb0fe922SNeil Armstrong emmc_pins: emmc { 275fb0fe922SNeil Armstrong mux { 276fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 277fb0fe922SNeil Armstrong "emmc_cmd", 278*ab36be66SNeil Armstrong "emmc_clk"; 279*ab36be66SNeil Armstrong function = "emmc"; 280*ab36be66SNeil Armstrong }; 281*ab36be66SNeil Armstrong }; 282*ab36be66SNeil Armstrong 283*ab36be66SNeil Armstrong emmc_ds_pins: emmc-ds { 284*ab36be66SNeil Armstrong mux { 285*ab36be66SNeil Armstrong groups = "emmc_ds"; 286fb0fe922SNeil Armstrong function = "emmc"; 287fb0fe922SNeil Armstrong }; 288fb0fe922SNeil Armstrong }; 289fb0fe922SNeil Armstrong 29067e7607fSJerome Brunet emmc_clk_gate_pins: emmc_clk_gate { 29167e7607fSJerome Brunet mux { 29267e7607fSJerome Brunet groups = "BOOT_8"; 29367e7607fSJerome Brunet function = "gpio_periphs"; 29467e7607fSJerome Brunet }; 29567e7607fSJerome Brunet cfg-pull-down { 29667e7607fSJerome Brunet pins = "BOOT_8"; 29767e7607fSJerome Brunet bias-pull-down; 29867e7607fSJerome Brunet }; 29967e7607fSJerome Brunet }; 30067e7607fSJerome Brunet 301ca02e3f9SNeil Armstrong nor_pins: nor { 302ca02e3f9SNeil Armstrong mux { 303ca02e3f9SNeil Armstrong groups = "nor_d", 304ca02e3f9SNeil Armstrong "nor_q", 305ca02e3f9SNeil Armstrong "nor_c", 306ca02e3f9SNeil Armstrong "nor_cs"; 307ca02e3f9SNeil Armstrong function = "nor"; 308ca02e3f9SNeil Armstrong }; 309ca02e3f9SNeil Armstrong }; 310ca02e3f9SNeil Armstrong 31185b2e743SNeil Armstrong spi_pins: spi { 31285b2e743SNeil Armstrong mux { 31385b2e743SNeil Armstrong groups = "spi_miso", 31485b2e743SNeil Armstrong "spi_mosi", 31585b2e743SNeil Armstrong "spi_sclk"; 31685b2e743SNeil Armstrong function = "spi"; 31785b2e743SNeil Armstrong }; 31885b2e743SNeil Armstrong }; 31985b2e743SNeil Armstrong 32085b2e743SNeil Armstrong spi_ss0_pins: spi-ss0 { 32185b2e743SNeil Armstrong mux { 32285b2e743SNeil Armstrong groups = "spi_ss0"; 32385b2e743SNeil Armstrong function = "spi"; 32485b2e743SNeil Armstrong }; 32585b2e743SNeil Armstrong }; 32685b2e743SNeil Armstrong 327fb0fe922SNeil Armstrong sdcard_pins: sdcard { 328fb0fe922SNeil Armstrong mux { 329fb0fe922SNeil Armstrong groups = "sdcard_d0", 330fb0fe922SNeil Armstrong "sdcard_d1", 331fb0fe922SNeil Armstrong "sdcard_d2", 332fb0fe922SNeil Armstrong "sdcard_d3", 333fb0fe922SNeil Armstrong "sdcard_cmd", 334fb0fe922SNeil Armstrong "sdcard_clk"; 335fb0fe922SNeil Armstrong function = "sdcard"; 336fb0fe922SNeil Armstrong }; 337fb0fe922SNeil Armstrong }; 338fb0fe922SNeil Armstrong 33967e7607fSJerome Brunet sdcard_clk_gate_pins: sdcard_clk_gate { 34067e7607fSJerome Brunet mux { 34167e7607fSJerome Brunet groups = "CARD_2"; 34267e7607fSJerome Brunet function = "gpio_periphs"; 34367e7607fSJerome Brunet }; 34467e7607fSJerome Brunet cfg-pull-down { 34567e7607fSJerome Brunet pins = "CARD_2"; 34667e7607fSJerome Brunet bias-pull-down; 34767e7607fSJerome Brunet }; 34867e7607fSJerome Brunet }; 34967e7607fSJerome Brunet 350fb0fe922SNeil Armstrong sdio_pins: sdio { 351fb0fe922SNeil Armstrong mux { 352fb0fe922SNeil Armstrong groups = "sdio_d0", 353fb0fe922SNeil Armstrong "sdio_d1", 354fb0fe922SNeil Armstrong "sdio_d2", 355fb0fe922SNeil Armstrong "sdio_d3", 356fb0fe922SNeil Armstrong "sdio_cmd", 357fb0fe922SNeil Armstrong "sdio_clk"; 358fb0fe922SNeil Armstrong function = "sdio"; 359fb0fe922SNeil Armstrong }; 360fb0fe922SNeil Armstrong }; 361fb0fe922SNeil Armstrong 36267e7607fSJerome Brunet sdio_clk_gate_pins: sdio_clk_gate { 36367e7607fSJerome Brunet mux { 36467e7607fSJerome Brunet groups = "GPIOX_4"; 36567e7607fSJerome Brunet function = "gpio_periphs"; 36667e7607fSJerome Brunet }; 36767e7607fSJerome Brunet cfg-pull-down { 36867e7607fSJerome Brunet pins = "GPIOX_4"; 36967e7607fSJerome Brunet bias-pull-down; 37067e7607fSJerome Brunet }; 37167e7607fSJerome Brunet }; 37267e7607fSJerome Brunet 373fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 374fb0fe922SNeil Armstrong mux { 375fb0fe922SNeil Armstrong groups = "sdio_irq"; 376fb0fe922SNeil Armstrong function = "sdio"; 377fb0fe922SNeil Armstrong }; 378fb0fe922SNeil Armstrong }; 379fb0fe922SNeil Armstrong 380fb0fe922SNeil Armstrong uart_a_pins: uart_a { 381fb0fe922SNeil Armstrong mux { 382fb0fe922SNeil Armstrong groups = "uart_tx_a", 383fb0fe922SNeil Armstrong "uart_rx_a"; 384fb0fe922SNeil Armstrong function = "uart_a"; 385fb0fe922SNeil Armstrong }; 386fb0fe922SNeil Armstrong }; 387fb0fe922SNeil Armstrong 388261e1d5cSMartin Blumenstingl uart_a_cts_rts_pins: uart_a_cts_rts { 389261e1d5cSMartin Blumenstingl mux { 390261e1d5cSMartin Blumenstingl groups = "uart_cts_a", 391261e1d5cSMartin Blumenstingl "uart_rts_a"; 392261e1d5cSMartin Blumenstingl function = "uart_a"; 393261e1d5cSMartin Blumenstingl }; 394261e1d5cSMartin Blumenstingl }; 395261e1d5cSMartin Blumenstingl 396fb0fe922SNeil Armstrong uart_b_pins: uart_b { 397fb0fe922SNeil Armstrong mux { 398fb0fe922SNeil Armstrong groups = "uart_tx_b", 399fb0fe922SNeil Armstrong "uart_rx_b"; 400fb0fe922SNeil Armstrong function = "uart_b"; 401fb0fe922SNeil Armstrong }; 402fb0fe922SNeil Armstrong }; 403fb0fe922SNeil Armstrong 404261e1d5cSMartin Blumenstingl uart_b_cts_rts_pins: uart_b_cts_rts { 405261e1d5cSMartin Blumenstingl mux { 406261e1d5cSMartin Blumenstingl groups = "uart_cts_b", 407261e1d5cSMartin Blumenstingl "uart_rts_b"; 408261e1d5cSMartin Blumenstingl function = "uart_b"; 409261e1d5cSMartin Blumenstingl }; 410261e1d5cSMartin Blumenstingl }; 411261e1d5cSMartin Blumenstingl 412fb0fe922SNeil Armstrong uart_c_pins: uart_c { 413fb0fe922SNeil Armstrong mux { 414fb0fe922SNeil Armstrong groups = "uart_tx_c", 415fb0fe922SNeil Armstrong "uart_rx_c"; 416fb0fe922SNeil Armstrong function = "uart_c"; 417fb0fe922SNeil Armstrong }; 418fb0fe922SNeil Armstrong }; 419fb0fe922SNeil Armstrong 420261e1d5cSMartin Blumenstingl uart_c_cts_rts_pins: uart_c_cts_rts { 421261e1d5cSMartin Blumenstingl mux { 422261e1d5cSMartin Blumenstingl groups = "uart_cts_c", 423261e1d5cSMartin Blumenstingl "uart_rts_c"; 424261e1d5cSMartin Blumenstingl function = "uart_c"; 425261e1d5cSMartin Blumenstingl }; 426261e1d5cSMartin Blumenstingl }; 427261e1d5cSMartin Blumenstingl 428fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 429fb0fe922SNeil Armstrong mux { 430fb0fe922SNeil Armstrong groups = "i2c_sck_a", 431fb0fe922SNeil Armstrong "i2c_sda_a"; 432fb0fe922SNeil Armstrong function = "i2c_a"; 433fb0fe922SNeil Armstrong }; 434fb0fe922SNeil Armstrong }; 435fb0fe922SNeil Armstrong 436fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 437fb0fe922SNeil Armstrong mux { 438fb0fe922SNeil Armstrong groups = "i2c_sck_b", 439fb0fe922SNeil Armstrong "i2c_sda_b"; 440fb0fe922SNeil Armstrong function = "i2c_b"; 441fb0fe922SNeil Armstrong }; 442fb0fe922SNeil Armstrong }; 443fb0fe922SNeil Armstrong 444fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 445fb0fe922SNeil Armstrong mux { 446fb0fe922SNeil Armstrong groups = "i2c_sck_c", 447fb0fe922SNeil Armstrong "i2c_sda_c"; 448fb0fe922SNeil Armstrong function = "i2c_c"; 449fb0fe922SNeil Armstrong }; 450fb0fe922SNeil Armstrong }; 451fb0fe922SNeil Armstrong 452fb0fe922SNeil Armstrong eth_pins: eth_c { 453fb0fe922SNeil Armstrong mux { 454fb0fe922SNeil Armstrong groups = "eth_mdio", 455fb0fe922SNeil Armstrong "eth_mdc", 456fb0fe922SNeil Armstrong "eth_clk_rx_clk", 457fb0fe922SNeil Armstrong "eth_rx_dv", 458fb0fe922SNeil Armstrong "eth_rxd0", 459fb0fe922SNeil Armstrong "eth_rxd1", 460fb0fe922SNeil Armstrong "eth_rxd2", 461fb0fe922SNeil Armstrong "eth_rxd3", 462fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 463fb0fe922SNeil Armstrong "eth_tx_en", 464fb0fe922SNeil Armstrong "eth_txd0", 465fb0fe922SNeil Armstrong "eth_txd1", 466fb0fe922SNeil Armstrong "eth_txd2", 467fb0fe922SNeil Armstrong "eth_txd3"; 468fb0fe922SNeil Armstrong function = "eth"; 469fb0fe922SNeil Armstrong }; 470fb0fe922SNeil Armstrong }; 471fb0fe922SNeil Armstrong 47244ddadc3SNeil Armstrong eth_link_led_pins: eth_link_led { 47344ddadc3SNeil Armstrong mux { 47444ddadc3SNeil Armstrong groups = "eth_link_led"; 47544ddadc3SNeil Armstrong function = "eth_led"; 47644ddadc3SNeil Armstrong }; 47744ddadc3SNeil Armstrong }; 47844ddadc3SNeil Armstrong 47944ddadc3SNeil Armstrong eth_act_led_pins: eth_act_led { 48044ddadc3SNeil Armstrong mux { 48144ddadc3SNeil Armstrong groups = "eth_act_led"; 48244ddadc3SNeil Armstrong function = "eth_led"; 48344ddadc3SNeil Armstrong }; 48444ddadc3SNeil Armstrong }; 48544ddadc3SNeil Armstrong 486e98fd134SMartin Blumenstingl pwm_a_pins: pwm_a { 487e98fd134SMartin Blumenstingl mux { 488e98fd134SMartin Blumenstingl groups = "pwm_a"; 489e98fd134SMartin Blumenstingl function = "pwm_a"; 490e98fd134SMartin Blumenstingl }; 491e98fd134SMartin Blumenstingl }; 492e98fd134SMartin Blumenstingl 493e98fd134SMartin Blumenstingl pwm_b_pins: pwm_b { 494e98fd134SMartin Blumenstingl mux { 495e98fd134SMartin Blumenstingl groups = "pwm_b"; 496e98fd134SMartin Blumenstingl function = "pwm_b"; 497e98fd134SMartin Blumenstingl }; 498e98fd134SMartin Blumenstingl }; 499e98fd134SMartin Blumenstingl 500e98fd134SMartin Blumenstingl pwm_c_pins: pwm_c { 501e98fd134SMartin Blumenstingl mux { 502e98fd134SMartin Blumenstingl groups = "pwm_c"; 503e98fd134SMartin Blumenstingl function = "pwm_c"; 504e98fd134SMartin Blumenstingl }; 505e98fd134SMartin Blumenstingl }; 506e98fd134SMartin Blumenstingl 507e98fd134SMartin Blumenstingl pwm_d_pins: pwm_d { 508e98fd134SMartin Blumenstingl mux { 509e98fd134SMartin Blumenstingl groups = "pwm_d"; 510e98fd134SMartin Blumenstingl function = "pwm_d"; 511e98fd134SMartin Blumenstingl }; 512e98fd134SMartin Blumenstingl }; 513e98fd134SMartin Blumenstingl 514fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 515fb0fe922SNeil Armstrong mux { 516fb0fe922SNeil Armstrong groups = "pwm_e"; 517fb0fe922SNeil Armstrong function = "pwm_e"; 518fb0fe922SNeil Armstrong }; 519fb0fe922SNeil Armstrong }; 520b949165cSNeil Armstrong 521e98fd134SMartin Blumenstingl pwm_f_clk_pins: pwm_f_clk { 522e98fd134SMartin Blumenstingl mux { 523e98fd134SMartin Blumenstingl groups = "pwm_f_clk"; 524e98fd134SMartin Blumenstingl function = "pwm_f"; 525e98fd134SMartin Blumenstingl }; 526e98fd134SMartin Blumenstingl }; 527e98fd134SMartin Blumenstingl 528e98fd134SMartin Blumenstingl pwm_f_x_pins: pwm_f_x { 529e98fd134SMartin Blumenstingl mux { 530e98fd134SMartin Blumenstingl groups = "pwm_f_x"; 531e98fd134SMartin Blumenstingl function = "pwm_f"; 532e98fd134SMartin Blumenstingl }; 533e98fd134SMartin Blumenstingl }; 534e98fd134SMartin Blumenstingl 535b949165cSNeil Armstrong hdmi_hpd_pins: hdmi_hpd { 536b949165cSNeil Armstrong mux { 537b949165cSNeil Armstrong groups = "hdmi_hpd"; 538b949165cSNeil Armstrong function = "hdmi_hpd"; 539b949165cSNeil Armstrong }; 540b949165cSNeil Armstrong }; 541b949165cSNeil Armstrong 542b949165cSNeil Armstrong hdmi_i2c_pins: hdmi_i2c { 543b949165cSNeil Armstrong mux { 544b949165cSNeil Armstrong groups = "hdmi_sda", "hdmi_scl"; 545b949165cSNeil Armstrong function = "hdmi_i2c"; 546b949165cSNeil Armstrong }; 547b949165cSNeil Armstrong }; 548c16fe9a1Sjbrunet 549c16fe9a1Sjbrunet i2s_am_clk_pins: i2s_am_clk { 550c16fe9a1Sjbrunet mux { 551c16fe9a1Sjbrunet groups = "i2s_am_clk"; 552c16fe9a1Sjbrunet function = "i2s_out"; 553c16fe9a1Sjbrunet }; 554c16fe9a1Sjbrunet }; 555c16fe9a1Sjbrunet 556c16fe9a1Sjbrunet i2s_out_ao_clk_pins: i2s_out_ao_clk { 557c16fe9a1Sjbrunet mux { 558c16fe9a1Sjbrunet groups = "i2s_out_ao_clk"; 559c16fe9a1Sjbrunet function = "i2s_out"; 560c16fe9a1Sjbrunet }; 561c16fe9a1Sjbrunet }; 562c16fe9a1Sjbrunet 563c16fe9a1Sjbrunet i2s_out_lr_clk_pins: i2s_out_lr_clk { 564c16fe9a1Sjbrunet mux { 565c16fe9a1Sjbrunet groups = "i2s_out_lr_clk"; 566c16fe9a1Sjbrunet function = "i2s_out"; 567c16fe9a1Sjbrunet }; 568c16fe9a1Sjbrunet }; 569c16fe9a1Sjbrunet 570c16fe9a1Sjbrunet i2s_out_ch01_pins: i2s_out_ch01 { 571c16fe9a1Sjbrunet mux { 572c16fe9a1Sjbrunet groups = "i2s_out_ch01"; 573c16fe9a1Sjbrunet function = "i2s_out"; 574c16fe9a1Sjbrunet }; 575c16fe9a1Sjbrunet }; 576c16fe9a1Sjbrunet i2sout_ch23_z_pins: i2sout_ch23_z { 577c16fe9a1Sjbrunet mux { 578c16fe9a1Sjbrunet groups = "i2sout_ch23_z"; 579c16fe9a1Sjbrunet function = "i2s_out"; 580c16fe9a1Sjbrunet }; 581c16fe9a1Sjbrunet }; 582c16fe9a1Sjbrunet 583c16fe9a1Sjbrunet i2sout_ch45_z_pins: i2sout_ch45_z { 584c16fe9a1Sjbrunet mux { 585c16fe9a1Sjbrunet groups = "i2sout_ch45_z"; 586c16fe9a1Sjbrunet function = "i2s_out"; 587c16fe9a1Sjbrunet }; 588c16fe9a1Sjbrunet }; 589c16fe9a1Sjbrunet 590c16fe9a1Sjbrunet i2sout_ch67_z_pins: i2sout_ch67_z { 591c16fe9a1Sjbrunet mux { 592c16fe9a1Sjbrunet groups = "i2sout_ch67_z"; 593c16fe9a1Sjbrunet function = "i2s_out"; 594c16fe9a1Sjbrunet }; 595c16fe9a1Sjbrunet }; 5969503062dSjbrunet 5979503062dSjbrunet spdif_out_h_pins: spdif_out_ao_h { 5989503062dSjbrunet mux { 5999503062dSjbrunet groups = "spdif_out_h"; 6009503062dSjbrunet function = "spdif_out"; 6019503062dSjbrunet }; 6029503062dSjbrunet }; 603fb0fe922SNeil Armstrong }; 604e9e27c64SNeil Armstrong 605e9e27c64SNeil Armstrong eth-phy-mux { 606e9e27c64SNeil Armstrong compatible = "mdio-mux-mmioreg", "mdio-mux"; 607e9e27c64SNeil Armstrong #address-cells = <1>; 608e9e27c64SNeil Armstrong #size-cells = <0>; 609e9e27c64SNeil Armstrong reg = <0x0 0x55c 0x0 0x4>; 610e9e27c64SNeil Armstrong mux-mask = <0xffffffff>; 611e9e27c64SNeil Armstrong mdio-parent-bus = <&mdio0>; 612e9e27c64SNeil Armstrong 613e9e27c64SNeil Armstrong internal_mdio: mdio@e40908ff { 614e9e27c64SNeil Armstrong reg = <0xe40908ff>; 615e9e27c64SNeil Armstrong #address-cells = <1>; 616e9e27c64SNeil Armstrong #size-cells = <0>; 617e9e27c64SNeil Armstrong 618e9e27c64SNeil Armstrong internal_phy: ethernet-phy@8 { 619e9e27c64SNeil Armstrong compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; 620e9e27c64SNeil Armstrong reg = <8>; 621e9e27c64SNeil Armstrong max-speed = <100>; 622e9e27c64SNeil Armstrong }; 623e9e27c64SNeil Armstrong }; 624e9e27c64SNeil Armstrong 625e9e27c64SNeil Armstrong external_mdio: mdio@2009087f { 626e9e27c64SNeil Armstrong reg = <0x2009087f>; 627e9e27c64SNeil Armstrong #address-cells = <1>; 628e9e27c64SNeil Armstrong #size-cells = <0>; 629e9e27c64SNeil Armstrong }; 630e9e27c64SNeil Armstrong }; 631fb0fe922SNeil Armstrong}; 632973fbd55SNeil Armstrong 633bd80ef5eSMartin Blumenstingl&saradc { 634bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 635bd80ef5eSMartin Blumenstingl clocks = <&xtal>, 636bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC>, 637bd80ef5eSMartin Blumenstingl <&clkc CLKID_SANA>, 638bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_CLK>, 639bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_SEL>; 640bd80ef5eSMartin Blumenstingl clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel"; 641bd80ef5eSMartin Blumenstingl}; 642bd80ef5eSMartin Blumenstingl 6436d489dc8SNeil Armstrong&sd_emmc_a { 6446d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_A>, 64550662499SJerome Brunet <&clkc CLKID_SD_EMMC_A_CLK0>, 6466d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6476d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6486d489dc8SNeil Armstrong}; 6496d489dc8SNeil Armstrong 6506d489dc8SNeil Armstrong&sd_emmc_b { 6516d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_B>, 65250662499SJerome Brunet <&clkc CLKID_SD_EMMC_B_CLK0>, 6536d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6546d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6556d489dc8SNeil Armstrong}; 6566d489dc8SNeil Armstrong 6576d489dc8SNeil Armstrong&sd_emmc_c { 6586d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_C>, 65950662499SJerome Brunet <&clkc CLKID_SD_EMMC_C_CLK0>, 6606d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6616d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6626d489dc8SNeil Armstrong}; 663fafdbdf7SNeil Armstrong 664fa808631SNeil Armstrong&spicc { 665fa808631SNeil Armstrong clocks = <&clkc CLKID_SPICC>; 666fa808631SNeil Armstrong clock-names = "core"; 667fa808631SNeil Armstrong resets = <&reset RESET_PERIPHS_SPICC>; 668fa808631SNeil Armstrong num-cs = <1>; 669fa808631SNeil Armstrong}; 670fa808631SNeil Armstrong 67104b36df4SNeil Armstrong&spifc { 67204b36df4SNeil Armstrong clocks = <&clkc CLKID_SPI>; 67304b36df4SNeil Armstrong}; 67404b36df4SNeil Armstrong 675f72d6f60SHelmut Klein&uart_A { 676f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 677f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 678f72d6f60SHelmut Klein}; 679f72d6f60SHelmut Klein 680f72d6f60SHelmut Klein&uart_AO { 681f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 682f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 683f72d6f60SHelmut Klein}; 684f72d6f60SHelmut Klein 685f72d6f60SHelmut Klein&uart_AO_B { 686f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 687f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 688f72d6f60SHelmut Klein}; 689f72d6f60SHelmut Klein 690f72d6f60SHelmut Klein&uart_B { 691f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 692f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 693f72d6f60SHelmut Klein}; 694f72d6f60SHelmut Klein 695f72d6f60SHelmut Klein&uart_C { 696f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 697f72d6f60SHelmut Klein clock-names = "xtal", "core", "baud"; 698f72d6f60SHelmut Klein}; 699f72d6f60SHelmut Klein 700fafdbdf7SNeil Armstrong&vpu { 701fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 702fafdbdf7SNeil Armstrong}; 703