1*114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 215abee8aSCarlo Caione/* 315abee8aSCarlo Caione * Copyright (c) 2016 Endless Computers, Inc. 415abee8aSCarlo Caione * Author: Carlo Caione <carlo@endlessm.com> 515abee8aSCarlo Caione */ 615abee8aSCarlo Caione 715abee8aSCarlo Caione#include "meson-gx.dtsi" 8973fbd55SNeil Armstrong#include <dt-bindings/clock/gxbb-clkc.h> 9b16c71c9SNeil Armstrong#include <dt-bindings/clock/gxbb-aoclkc.h> 101cf3df8aSKevin Hilman#include <dt-bindings/gpio/meson-gxl-gpio.h> 116939db7eSNeil Armstrong#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 1215abee8aSCarlo Caione 1315abee8aSCarlo Caione/ { 1415abee8aSCarlo Caione compatible = "amlogic,meson-gxl"; 154ee8e51bSNeil Armstrong 164ee8e51bSNeil Armstrong reserved-memory { 174ee8e51bSNeil Armstrong /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ 18a5494aedSArnd Bergmann secmon_reserved_alt: secmon@5000000 { 194ee8e51bSNeil Armstrong reg = <0x0 0x05000000 0x0 0x300000>; 204ee8e51bSNeil Armstrong no-map; 214ee8e51bSNeil Armstrong }; 224ee8e51bSNeil Armstrong }; 2315abee8aSCarlo Caione}; 24fb0fe922SNeil Armstrong 25e9e27c64SNeil Armstrongðmac { 26e9e27c64SNeil Armstrong reg = <0x0 0xc9410000 0x0 0x10000 27e9e27c64SNeil Armstrong 0x0 0xc8834540 0x0 0x4>; 28e9e27c64SNeil Armstrong 29e9e27c64SNeil Armstrong clocks = <&clkc CLKID_ETH>, 30e9e27c64SNeil Armstrong <&clkc CLKID_FCLK_DIV2>, 31e9e27c64SNeil Armstrong <&clkc CLKID_MPLL2>; 32e9e27c64SNeil Armstrong clock-names = "stmmaceth", "clkin0", "clkin1"; 33e9e27c64SNeil Armstrong 34e9e27c64SNeil Armstrong mdio0: mdio { 35e9e27c64SNeil Armstrong #address-cells = <1>; 36e9e27c64SNeil Armstrong #size-cells = <0>; 37e9e27c64SNeil Armstrong compatible = "snps,dwmac-mdio"; 38e9e27c64SNeil Armstrong }; 39e9e27c64SNeil Armstrong}; 40e9e27c64SNeil Armstrong 41fb0fe922SNeil Armstrong&aobus { 42fb0fe922SNeil Armstrong pinctrl_aobus: pinctrl@14 { 43fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-aobus-pinctrl"; 44fb0fe922SNeil Armstrong #address-cells = <2>; 45fb0fe922SNeil Armstrong #size-cells = <2>; 46fb0fe922SNeil Armstrong ranges; 47fb0fe922SNeil Armstrong 48fb0fe922SNeil Armstrong gpio_ao: bank@14 { 49fb0fe922SNeil Armstrong reg = <0x0 0x00014 0x0 0x8>, 50fb0fe922SNeil Armstrong <0x0 0x0002c 0x0 0x4>, 51fb0fe922SNeil Armstrong <0x0 0x00024 0x0 0x8>; 52fb0fe922SNeil Armstrong reg-names = "mux", "pull", "gpio"; 53fb0fe922SNeil Armstrong gpio-controller; 54fb0fe922SNeil Armstrong #gpio-cells = <2>; 5584412e4eSNeil Armstrong gpio-ranges = <&pinctrl_aobus 0 0 14>; 56fb0fe922SNeil Armstrong }; 57fb0fe922SNeil Armstrong 58fb0fe922SNeil Armstrong uart_ao_a_pins: uart_ao_a { 59fb0fe922SNeil Armstrong mux { 60fb0fe922SNeil Armstrong groups = "uart_tx_ao_a", "uart_rx_ao_a"; 61fb0fe922SNeil Armstrong function = "uart_ao"; 62fb0fe922SNeil Armstrong }; 63fb0fe922SNeil Armstrong }; 64fb0fe922SNeil Armstrong 65261e1d5cSMartin Blumenstingl uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts { 66261e1d5cSMartin Blumenstingl mux { 67261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_a", 68261e1d5cSMartin Blumenstingl "uart_rts_ao_a"; 69261e1d5cSMartin Blumenstingl function = "uart_ao"; 70261e1d5cSMartin Blumenstingl }; 71261e1d5cSMartin Blumenstingl }; 72261e1d5cSMartin Blumenstingl 73890a96a2SMartin Blumenstingl uart_ao_b_pins: uart_ao_b { 74890a96a2SMartin Blumenstingl mux { 75890a96a2SMartin Blumenstingl groups = "uart_tx_ao_b", "uart_rx_ao_b"; 76890a96a2SMartin Blumenstingl function = "uart_ao_b"; 77890a96a2SMartin Blumenstingl }; 78890a96a2SMartin Blumenstingl }; 79890a96a2SMartin Blumenstingl 80ca02e3f9SNeil Armstrong uart_ao_b_0_1_pins: uart_ao_b_0_1 { 81ca02e3f9SNeil Armstrong mux { 82ca02e3f9SNeil Armstrong groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1"; 83ca02e3f9SNeil Armstrong function = "uart_ao_b"; 84ca02e3f9SNeil Armstrong }; 85ca02e3f9SNeil Armstrong }; 86ca02e3f9SNeil Armstrong 87261e1d5cSMartin Blumenstingl uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts { 88261e1d5cSMartin Blumenstingl mux { 89261e1d5cSMartin Blumenstingl groups = "uart_cts_ao_b", 90261e1d5cSMartin Blumenstingl "uart_rts_ao_b"; 91261e1d5cSMartin Blumenstingl function = "uart_ao_b"; 92261e1d5cSMartin Blumenstingl }; 93261e1d5cSMartin Blumenstingl }; 94261e1d5cSMartin Blumenstingl 95fb0fe922SNeil Armstrong remote_input_ao_pins: remote_input_ao { 96fb0fe922SNeil Armstrong mux { 97fb0fe922SNeil Armstrong groups = "remote_input_ao"; 98fb0fe922SNeil Armstrong function = "remote_input_ao"; 99fb0fe922SNeil Armstrong }; 100fb0fe922SNeil Armstrong }; 101249a2243SMartin Blumenstingl 102ca02e3f9SNeil Armstrong i2c_ao_pins: i2c_ao { 103ca02e3f9SNeil Armstrong mux { 104ca02e3f9SNeil Armstrong groups = "i2c_sck_ao", 105ca02e3f9SNeil Armstrong "i2c_sda_ao"; 106ca02e3f9SNeil Armstrong function = "i2c_ao"; 107ca02e3f9SNeil Armstrong }; 108ca02e3f9SNeil Armstrong }; 109ca02e3f9SNeil Armstrong 110e98fd134SMartin Blumenstingl pwm_ao_a_3_pins: pwm_ao_a_3 { 111e98fd134SMartin Blumenstingl mux { 112e98fd134SMartin Blumenstingl groups = "pwm_ao_a_3"; 113e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 114e98fd134SMartin Blumenstingl }; 115e98fd134SMartin Blumenstingl }; 116e98fd134SMartin Blumenstingl 117e98fd134SMartin Blumenstingl pwm_ao_a_8_pins: pwm_ao_a_8 { 118e98fd134SMartin Blumenstingl mux { 119e98fd134SMartin Blumenstingl groups = "pwm_ao_a_8"; 120e98fd134SMartin Blumenstingl function = "pwm_ao_a"; 121e98fd134SMartin Blumenstingl }; 122e98fd134SMartin Blumenstingl }; 123e98fd134SMartin Blumenstingl 124249a2243SMartin Blumenstingl pwm_ao_b_pins: pwm_ao_b { 125249a2243SMartin Blumenstingl mux { 126249a2243SMartin Blumenstingl groups = "pwm_ao_b"; 127249a2243SMartin Blumenstingl function = "pwm_ao_b"; 128249a2243SMartin Blumenstingl }; 129249a2243SMartin Blumenstingl }; 130ca02e3f9SNeil Armstrong 131ca02e3f9SNeil Armstrong pwm_ao_b_6_pins: pwm_ao_b_6 { 132ca02e3f9SNeil Armstrong mux { 133ca02e3f9SNeil Armstrong groups = "pwm_ao_b_6"; 134ca02e3f9SNeil Armstrong function = "pwm_ao_b"; 135ca02e3f9SNeil Armstrong }; 136ca02e3f9SNeil Armstrong }; 137c16fe9a1Sjbrunet 138c16fe9a1Sjbrunet i2s_out_ch23_ao_pins: i2s_out_ch23_ao { 139c16fe9a1Sjbrunet mux { 140c16fe9a1Sjbrunet groups = "i2s_out_ch23_ao"; 141c16fe9a1Sjbrunet function = "i2s_out_ao"; 142c16fe9a1Sjbrunet }; 143c16fe9a1Sjbrunet }; 144c16fe9a1Sjbrunet 145c16fe9a1Sjbrunet i2s_out_ch45_ao_pins: i2s_out_ch45_ao { 146c16fe9a1Sjbrunet mux { 147c16fe9a1Sjbrunet groups = "i2s_out_ch45_ao"; 148c16fe9a1Sjbrunet function = "i2s_out_ao"; 149c16fe9a1Sjbrunet }; 150c16fe9a1Sjbrunet }; 1519503062dSjbrunet 1529503062dSjbrunet spdif_out_ao_6_pins: spdif_out_ao_6 { 1539503062dSjbrunet mux { 1549503062dSjbrunet groups = "spdif_out_ao_6"; 1559503062dSjbrunet function = "spdif_out_ao"; 1569503062dSjbrunet }; 1579503062dSjbrunet }; 1589503062dSjbrunet 1599503062dSjbrunet spdif_out_ao_9_pins: spdif_out_ao_9 { 1609503062dSjbrunet mux { 1619503062dSjbrunet groups = "spdif_out_ao_9"; 1629503062dSjbrunet function = "spdif_out_ao"; 1639503062dSjbrunet }; 1649503062dSjbrunet }; 1656d717619SNeil Armstrong 1666d717619SNeil Armstrong ao_cec_pins: ao_cec { 1676d717619SNeil Armstrong mux { 1686d717619SNeil Armstrong groups = "ao_cec"; 1696d717619SNeil Armstrong function = "cec_ao"; 1706d717619SNeil Armstrong }; 1716d717619SNeil Armstrong }; 1726d717619SNeil Armstrong 1736d717619SNeil Armstrong ee_cec_pins: ee_cec { 1746d717619SNeil Armstrong mux { 1756d717619SNeil Armstrong groups = "ee_cec"; 1766d717619SNeil Armstrong function = "cec_ao"; 1776d717619SNeil Armstrong }; 1786d717619SNeil Armstrong }; 179fb0fe922SNeil Armstrong }; 180fb0fe922SNeil Armstrong}; 181fb0fe922SNeil Armstrong 182b16c71c9SNeil Armstrong&cec_AO { 183b16c71c9SNeil Armstrong clocks = <&clkc_AO CLKID_AO_CEC_32K>; 184b16c71c9SNeil Armstrong clock-names = "core"; 185b16c71c9SNeil Armstrong}; 186b16c71c9SNeil Armstrong 1877fd2c355SNeil Armstrong&clkc_AO { 1887fd2c355SNeil Armstrong compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc"; 1897fd2c355SNeil Armstrong}; 1907fd2c355SNeil Armstrong 1919dbb56eaSJerome Brunet&gpio_intc { 1929dbb56eaSJerome Brunet compatible = "amlogic,meson-gpio-intc", 1939dbb56eaSJerome Brunet "amlogic,meson-gxl-gpio-intc"; 1949dbb56eaSJerome Brunet status = "okay"; 1959dbb56eaSJerome Brunet}; 1969dbb56eaSJerome Brunet 1976a573c4eSAndreas Färber&hdmi_tx { 1986a573c4eSAndreas Färber compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 1996a573c4eSAndreas Färber resets = <&reset RESET_HDMITX_CAPB3>, 2006a573c4eSAndreas Färber <&reset RESET_HDMI_SYSTEM_RESET>, 2016a573c4eSAndreas Färber <&reset RESET_HDMI_TX>; 2026a573c4eSAndreas Färber reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; 2036a573c4eSAndreas Färber clocks = <&clkc CLKID_HDMI_PCLK>, 2046a573c4eSAndreas Färber <&clkc CLKID_CLK81>, 2056a573c4eSAndreas Färber <&clkc CLKID_GCLK_VENCI_INT0>; 2066a573c4eSAndreas Färber clock-names = "isfr", "iahb", "venci"; 2076a573c4eSAndreas Färber}; 2086a573c4eSAndreas Färber 2096a573c4eSAndreas Färber&hiubus { 2106a573c4eSAndreas Färber clkc: clock-controller@0 { 2116a573c4eSAndreas Färber compatible = "amlogic,gxl-clkc", "amlogic,gxbb-clkc"; 2126a573c4eSAndreas Färber #clock-cells = <1>; 2136a573c4eSAndreas Färber reg = <0x0 0x0 0x0 0x3db>; 2146a573c4eSAndreas Färber }; 2156a573c4eSAndreas Färber}; 2166a573c4eSAndreas Färber 2176a573c4eSAndreas Färber&i2c_A { 2186a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2196a573c4eSAndreas Färber}; 2206a573c4eSAndreas Färber 2216a573c4eSAndreas Färber&i2c_AO { 2226a573c4eSAndreas Färber clocks = <&clkc CLKID_AO_I2C>; 2236a573c4eSAndreas Färber}; 2246a573c4eSAndreas Färber 2256a573c4eSAndreas Färber&i2c_B { 2266a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2276a573c4eSAndreas Färber}; 2286a573c4eSAndreas Färber 2296a573c4eSAndreas Färber&i2c_C { 2306a573c4eSAndreas Färber clocks = <&clkc CLKID_I2C>; 2316a573c4eSAndreas Färber}; 2326a573c4eSAndreas Färber 233fb0fe922SNeil Armstrong&periphs { 234fb0fe922SNeil Armstrong pinctrl_periphs: pinctrl@4b0 { 235fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-periphs-pinctrl"; 236fb0fe922SNeil Armstrong #address-cells = <2>; 237fb0fe922SNeil Armstrong #size-cells = <2>; 238fb0fe922SNeil Armstrong ranges; 239fb0fe922SNeil Armstrong 240fb0fe922SNeil Armstrong gpio: bank@4b0 { 241fb0fe922SNeil Armstrong reg = <0x0 0x004b0 0x0 0x28>, 242fb0fe922SNeil Armstrong <0x0 0x004e8 0x0 0x14>, 243f4c406d5SNeil Armstrong <0x0 0x00520 0x0 0x14>, 244fb0fe922SNeil Armstrong <0x0 0x00430 0x0 0x40>; 245fb0fe922SNeil Armstrong reg-names = "mux", "pull", "pull-enable", "gpio"; 246fb0fe922SNeil Armstrong gpio-controller; 247fb0fe922SNeil Armstrong #gpio-cells = <2>; 2487dbe78e5SJerome Brunet gpio-ranges = <&pinctrl_periphs 0 0 100>; 249fb0fe922SNeil Armstrong }; 250fb0fe922SNeil Armstrong 251fb0fe922SNeil Armstrong emmc_pins: emmc { 252fb0fe922SNeil Armstrong mux { 253fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 254fb0fe922SNeil Armstrong "emmc_cmd", 255ab36be66SNeil Armstrong "emmc_clk"; 256ab36be66SNeil Armstrong function = "emmc"; 257ab36be66SNeil Armstrong }; 258ab36be66SNeil Armstrong }; 259ab36be66SNeil Armstrong 260ab36be66SNeil Armstrong emmc_ds_pins: emmc-ds { 261ab36be66SNeil Armstrong mux { 262ab36be66SNeil Armstrong groups = "emmc_ds"; 263fb0fe922SNeil Armstrong function = "emmc"; 264fb0fe922SNeil Armstrong }; 265fb0fe922SNeil Armstrong }; 266fb0fe922SNeil Armstrong 26767e7607fSJerome Brunet emmc_clk_gate_pins: emmc_clk_gate { 26867e7607fSJerome Brunet mux { 26967e7607fSJerome Brunet groups = "BOOT_8"; 27067e7607fSJerome Brunet function = "gpio_periphs"; 27167e7607fSJerome Brunet }; 27267e7607fSJerome Brunet cfg-pull-down { 27367e7607fSJerome Brunet pins = "BOOT_8"; 27467e7607fSJerome Brunet bias-pull-down; 27567e7607fSJerome Brunet }; 27667e7607fSJerome Brunet }; 27767e7607fSJerome Brunet 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 31667e7607fSJerome Brunet sdcard_clk_gate_pins: sdcard_clk_gate { 31767e7607fSJerome Brunet mux { 31867e7607fSJerome Brunet groups = "CARD_2"; 31967e7607fSJerome Brunet function = "gpio_periphs"; 32067e7607fSJerome Brunet }; 32167e7607fSJerome Brunet cfg-pull-down { 32267e7607fSJerome Brunet pins = "CARD_2"; 32367e7607fSJerome Brunet bias-pull-down; 32467e7607fSJerome Brunet }; 32567e7607fSJerome Brunet }; 32667e7607fSJerome Brunet 327fb0fe922SNeil Armstrong sdio_pins: sdio { 328fb0fe922SNeil Armstrong mux { 329fb0fe922SNeil Armstrong groups = "sdio_d0", 330fb0fe922SNeil Armstrong "sdio_d1", 331fb0fe922SNeil Armstrong "sdio_d2", 332fb0fe922SNeil Armstrong "sdio_d3", 333fb0fe922SNeil Armstrong "sdio_cmd", 334fb0fe922SNeil Armstrong "sdio_clk"; 335fb0fe922SNeil Armstrong function = "sdio"; 336fb0fe922SNeil Armstrong }; 337fb0fe922SNeil Armstrong }; 338fb0fe922SNeil Armstrong 33967e7607fSJerome Brunet sdio_clk_gate_pins: sdio_clk_gate { 34067e7607fSJerome Brunet mux { 34167e7607fSJerome Brunet groups = "GPIOX_4"; 34267e7607fSJerome Brunet function = "gpio_periphs"; 34367e7607fSJerome Brunet }; 34467e7607fSJerome Brunet cfg-pull-down { 34567e7607fSJerome Brunet pins = "GPIOX_4"; 34667e7607fSJerome Brunet bias-pull-down; 34767e7607fSJerome Brunet }; 34867e7607fSJerome Brunet }; 34967e7607fSJerome Brunet 350fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 351fb0fe922SNeil Armstrong mux { 352fb0fe922SNeil Armstrong groups = "sdio_irq"; 353fb0fe922SNeil Armstrong function = "sdio"; 354fb0fe922SNeil Armstrong }; 355fb0fe922SNeil Armstrong }; 356fb0fe922SNeil Armstrong 357fb0fe922SNeil Armstrong uart_a_pins: uart_a { 358fb0fe922SNeil Armstrong mux { 359fb0fe922SNeil Armstrong groups = "uart_tx_a", 360fb0fe922SNeil Armstrong "uart_rx_a"; 361fb0fe922SNeil Armstrong function = "uart_a"; 362fb0fe922SNeil Armstrong }; 363fb0fe922SNeil Armstrong }; 364fb0fe922SNeil Armstrong 365261e1d5cSMartin Blumenstingl uart_a_cts_rts_pins: uart_a_cts_rts { 366261e1d5cSMartin Blumenstingl mux { 367261e1d5cSMartin Blumenstingl groups = "uart_cts_a", 368261e1d5cSMartin Blumenstingl "uart_rts_a"; 369261e1d5cSMartin Blumenstingl function = "uart_a"; 370261e1d5cSMartin Blumenstingl }; 371261e1d5cSMartin Blumenstingl }; 372261e1d5cSMartin Blumenstingl 373fb0fe922SNeil Armstrong uart_b_pins: uart_b { 374fb0fe922SNeil Armstrong mux { 375fb0fe922SNeil Armstrong groups = "uart_tx_b", 376fb0fe922SNeil Armstrong "uart_rx_b"; 377fb0fe922SNeil Armstrong function = "uart_b"; 378fb0fe922SNeil Armstrong }; 379fb0fe922SNeil Armstrong }; 380fb0fe922SNeil Armstrong 381261e1d5cSMartin Blumenstingl uart_b_cts_rts_pins: uart_b_cts_rts { 382261e1d5cSMartin Blumenstingl mux { 383261e1d5cSMartin Blumenstingl groups = "uart_cts_b", 384261e1d5cSMartin Blumenstingl "uart_rts_b"; 385261e1d5cSMartin Blumenstingl function = "uart_b"; 386261e1d5cSMartin Blumenstingl }; 387261e1d5cSMartin Blumenstingl }; 388261e1d5cSMartin Blumenstingl 389fb0fe922SNeil Armstrong uart_c_pins: uart_c { 390fb0fe922SNeil Armstrong mux { 391fb0fe922SNeil Armstrong groups = "uart_tx_c", 392fb0fe922SNeil Armstrong "uart_rx_c"; 393fb0fe922SNeil Armstrong function = "uart_c"; 394fb0fe922SNeil Armstrong }; 395fb0fe922SNeil Armstrong }; 396fb0fe922SNeil Armstrong 397261e1d5cSMartin Blumenstingl uart_c_cts_rts_pins: uart_c_cts_rts { 398261e1d5cSMartin Blumenstingl mux { 399261e1d5cSMartin Blumenstingl groups = "uart_cts_c", 400261e1d5cSMartin Blumenstingl "uart_rts_c"; 401261e1d5cSMartin Blumenstingl function = "uart_c"; 402261e1d5cSMartin Blumenstingl }; 403261e1d5cSMartin Blumenstingl }; 404261e1d5cSMartin Blumenstingl 405fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 406fb0fe922SNeil Armstrong mux { 407fb0fe922SNeil Armstrong groups = "i2c_sck_a", 408fb0fe922SNeil Armstrong "i2c_sda_a"; 409fb0fe922SNeil Armstrong function = "i2c_a"; 410fb0fe922SNeil Armstrong }; 411fb0fe922SNeil Armstrong }; 412fb0fe922SNeil Armstrong 413fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 414fb0fe922SNeil Armstrong mux { 415fb0fe922SNeil Armstrong groups = "i2c_sck_b", 416fb0fe922SNeil Armstrong "i2c_sda_b"; 417fb0fe922SNeil Armstrong function = "i2c_b"; 418fb0fe922SNeil Armstrong }; 419fb0fe922SNeil Armstrong }; 420fb0fe922SNeil Armstrong 421fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 422fb0fe922SNeil Armstrong mux { 423fb0fe922SNeil Armstrong groups = "i2c_sck_c", 424fb0fe922SNeil Armstrong "i2c_sda_c"; 425fb0fe922SNeil Armstrong function = "i2c_c"; 426fb0fe922SNeil Armstrong }; 427fb0fe922SNeil Armstrong }; 428fb0fe922SNeil Armstrong 429fb0fe922SNeil Armstrong eth_pins: eth_c { 430fb0fe922SNeil Armstrong mux { 431fb0fe922SNeil Armstrong groups = "eth_mdio", 432fb0fe922SNeil Armstrong "eth_mdc", 433fb0fe922SNeil Armstrong "eth_clk_rx_clk", 434fb0fe922SNeil Armstrong "eth_rx_dv", 435fb0fe922SNeil Armstrong "eth_rxd0", 436fb0fe922SNeil Armstrong "eth_rxd1", 437fb0fe922SNeil Armstrong "eth_rxd2", 438fb0fe922SNeil Armstrong "eth_rxd3", 439fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 440fb0fe922SNeil Armstrong "eth_tx_en", 441fb0fe922SNeil Armstrong "eth_txd0", 442fb0fe922SNeil Armstrong "eth_txd1", 443fb0fe922SNeil Armstrong "eth_txd2", 444fb0fe922SNeil Armstrong "eth_txd3"; 445fb0fe922SNeil Armstrong function = "eth"; 446fb0fe922SNeil Armstrong }; 447fb0fe922SNeil Armstrong }; 448fb0fe922SNeil Armstrong 44944ddadc3SNeil Armstrong eth_link_led_pins: eth_link_led { 45044ddadc3SNeil Armstrong mux { 45144ddadc3SNeil Armstrong groups = "eth_link_led"; 45244ddadc3SNeil Armstrong function = "eth_led"; 45344ddadc3SNeil Armstrong }; 45444ddadc3SNeil Armstrong }; 45544ddadc3SNeil Armstrong 45644ddadc3SNeil Armstrong eth_act_led_pins: eth_act_led { 45744ddadc3SNeil Armstrong mux { 45844ddadc3SNeil Armstrong groups = "eth_act_led"; 45944ddadc3SNeil Armstrong function = "eth_led"; 46044ddadc3SNeil Armstrong }; 46144ddadc3SNeil Armstrong }; 46244ddadc3SNeil Armstrong 463e98fd134SMartin Blumenstingl pwm_a_pins: pwm_a { 464e98fd134SMartin Blumenstingl mux { 465e98fd134SMartin Blumenstingl groups = "pwm_a"; 466e98fd134SMartin Blumenstingl function = "pwm_a"; 467e98fd134SMartin Blumenstingl }; 468e98fd134SMartin Blumenstingl }; 469e98fd134SMartin Blumenstingl 470e98fd134SMartin Blumenstingl pwm_b_pins: pwm_b { 471e98fd134SMartin Blumenstingl mux { 472e98fd134SMartin Blumenstingl groups = "pwm_b"; 473e98fd134SMartin Blumenstingl function = "pwm_b"; 474e98fd134SMartin Blumenstingl }; 475e98fd134SMartin Blumenstingl }; 476e98fd134SMartin Blumenstingl 477e98fd134SMartin Blumenstingl pwm_c_pins: pwm_c { 478e98fd134SMartin Blumenstingl mux { 479e98fd134SMartin Blumenstingl groups = "pwm_c"; 480e98fd134SMartin Blumenstingl function = "pwm_c"; 481e98fd134SMartin Blumenstingl }; 482e98fd134SMartin Blumenstingl }; 483e98fd134SMartin Blumenstingl 484e98fd134SMartin Blumenstingl pwm_d_pins: pwm_d { 485e98fd134SMartin Blumenstingl mux { 486e98fd134SMartin Blumenstingl groups = "pwm_d"; 487e98fd134SMartin Blumenstingl function = "pwm_d"; 488e98fd134SMartin Blumenstingl }; 489e98fd134SMartin Blumenstingl }; 490e98fd134SMartin Blumenstingl 491fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 492fb0fe922SNeil Armstrong mux { 493fb0fe922SNeil Armstrong groups = "pwm_e"; 494fb0fe922SNeil Armstrong function = "pwm_e"; 495fb0fe922SNeil Armstrong }; 496fb0fe922SNeil Armstrong }; 497b949165cSNeil Armstrong 498e98fd134SMartin Blumenstingl pwm_f_clk_pins: pwm_f_clk { 499e98fd134SMartin Blumenstingl mux { 500e98fd134SMartin Blumenstingl groups = "pwm_f_clk"; 501e98fd134SMartin Blumenstingl function = "pwm_f"; 502e98fd134SMartin Blumenstingl }; 503e98fd134SMartin Blumenstingl }; 504e98fd134SMartin Blumenstingl 505e98fd134SMartin Blumenstingl pwm_f_x_pins: pwm_f_x { 506e98fd134SMartin Blumenstingl mux { 507e98fd134SMartin Blumenstingl groups = "pwm_f_x"; 508e98fd134SMartin Blumenstingl function = "pwm_f"; 509e98fd134SMartin Blumenstingl }; 510e98fd134SMartin Blumenstingl }; 511e98fd134SMartin Blumenstingl 512b949165cSNeil Armstrong hdmi_hpd_pins: hdmi_hpd { 513b949165cSNeil Armstrong mux { 514b949165cSNeil Armstrong groups = "hdmi_hpd"; 515b949165cSNeil Armstrong function = "hdmi_hpd"; 516b949165cSNeil Armstrong }; 517b949165cSNeil Armstrong }; 518b949165cSNeil Armstrong 519b949165cSNeil Armstrong hdmi_i2c_pins: hdmi_i2c { 520b949165cSNeil Armstrong mux { 521b949165cSNeil Armstrong groups = "hdmi_sda", "hdmi_scl"; 522b949165cSNeil Armstrong function = "hdmi_i2c"; 523b949165cSNeil Armstrong }; 524b949165cSNeil Armstrong }; 525c16fe9a1Sjbrunet 526c16fe9a1Sjbrunet i2s_am_clk_pins: i2s_am_clk { 527c16fe9a1Sjbrunet mux { 528c16fe9a1Sjbrunet groups = "i2s_am_clk"; 529c16fe9a1Sjbrunet function = "i2s_out"; 530c16fe9a1Sjbrunet }; 531c16fe9a1Sjbrunet }; 532c16fe9a1Sjbrunet 533c16fe9a1Sjbrunet i2s_out_ao_clk_pins: i2s_out_ao_clk { 534c16fe9a1Sjbrunet mux { 535c16fe9a1Sjbrunet groups = "i2s_out_ao_clk"; 536c16fe9a1Sjbrunet function = "i2s_out"; 537c16fe9a1Sjbrunet }; 538c16fe9a1Sjbrunet }; 539c16fe9a1Sjbrunet 540c16fe9a1Sjbrunet i2s_out_lr_clk_pins: i2s_out_lr_clk { 541c16fe9a1Sjbrunet mux { 542c16fe9a1Sjbrunet groups = "i2s_out_lr_clk"; 543c16fe9a1Sjbrunet function = "i2s_out"; 544c16fe9a1Sjbrunet }; 545c16fe9a1Sjbrunet }; 546c16fe9a1Sjbrunet 547c16fe9a1Sjbrunet i2s_out_ch01_pins: i2s_out_ch01 { 548c16fe9a1Sjbrunet mux { 549c16fe9a1Sjbrunet groups = "i2s_out_ch01"; 550c16fe9a1Sjbrunet function = "i2s_out"; 551c16fe9a1Sjbrunet }; 552c16fe9a1Sjbrunet }; 553c16fe9a1Sjbrunet i2sout_ch23_z_pins: i2sout_ch23_z { 554c16fe9a1Sjbrunet mux { 555c16fe9a1Sjbrunet groups = "i2sout_ch23_z"; 556c16fe9a1Sjbrunet function = "i2s_out"; 557c16fe9a1Sjbrunet }; 558c16fe9a1Sjbrunet }; 559c16fe9a1Sjbrunet 560c16fe9a1Sjbrunet i2sout_ch45_z_pins: i2sout_ch45_z { 561c16fe9a1Sjbrunet mux { 562c16fe9a1Sjbrunet groups = "i2sout_ch45_z"; 563c16fe9a1Sjbrunet function = "i2s_out"; 564c16fe9a1Sjbrunet }; 565c16fe9a1Sjbrunet }; 566c16fe9a1Sjbrunet 567c16fe9a1Sjbrunet i2sout_ch67_z_pins: i2sout_ch67_z { 568c16fe9a1Sjbrunet mux { 569c16fe9a1Sjbrunet groups = "i2sout_ch67_z"; 570c16fe9a1Sjbrunet function = "i2s_out"; 571c16fe9a1Sjbrunet }; 572c16fe9a1Sjbrunet }; 5739503062dSjbrunet 5749503062dSjbrunet spdif_out_h_pins: spdif_out_ao_h { 5759503062dSjbrunet mux { 5769503062dSjbrunet groups = "spdif_out_h"; 5779503062dSjbrunet function = "spdif_out"; 5789503062dSjbrunet }; 5799503062dSjbrunet }; 580fb0fe922SNeil Armstrong }; 581e9e27c64SNeil Armstrong 582e9e27c64SNeil Armstrong eth-phy-mux { 583e9e27c64SNeil Armstrong compatible = "mdio-mux-mmioreg", "mdio-mux"; 584e9e27c64SNeil Armstrong #address-cells = <1>; 585e9e27c64SNeil Armstrong #size-cells = <0>; 586e9e27c64SNeil Armstrong reg = <0x0 0x55c 0x0 0x4>; 587e9e27c64SNeil Armstrong mux-mask = <0xffffffff>; 588e9e27c64SNeil Armstrong mdio-parent-bus = <&mdio0>; 589e9e27c64SNeil Armstrong 590e9e27c64SNeil Armstrong internal_mdio: mdio@e40908ff { 591e9e27c64SNeil Armstrong reg = <0xe40908ff>; 592e9e27c64SNeil Armstrong #address-cells = <1>; 593e9e27c64SNeil Armstrong #size-cells = <0>; 594e9e27c64SNeil Armstrong 595e9e27c64SNeil Armstrong internal_phy: ethernet-phy@8 { 596e9e27c64SNeil Armstrong compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22"; 5972363ec93SJerome Brunet interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 598e9e27c64SNeil Armstrong reg = <8>; 599e9e27c64SNeil Armstrong max-speed = <100>; 600e9e27c64SNeil Armstrong }; 601e9e27c64SNeil Armstrong }; 602e9e27c64SNeil Armstrong 603e9e27c64SNeil Armstrong external_mdio: mdio@2009087f { 604e9e27c64SNeil Armstrong reg = <0x2009087f>; 605e9e27c64SNeil Armstrong #address-cells = <1>; 606e9e27c64SNeil Armstrong #size-cells = <0>; 607e9e27c64SNeil Armstrong }; 608e9e27c64SNeil Armstrong }; 609fb0fe922SNeil Armstrong}; 610973fbd55SNeil Armstrong 61174d1c6e9SNeil Armstrong&pwrc_vpu { 61274d1c6e9SNeil Armstrong resets = <&reset RESET_VIU>, 61374d1c6e9SNeil Armstrong <&reset RESET_VENC>, 61474d1c6e9SNeil Armstrong <&reset RESET_VCBUS>, 61574d1c6e9SNeil Armstrong <&reset RESET_BT656>, 61674d1c6e9SNeil Armstrong <&reset RESET_DVIN_RESET>, 61774d1c6e9SNeil Armstrong <&reset RESET_RDMA>, 61874d1c6e9SNeil Armstrong <&reset RESET_VENCI>, 61974d1c6e9SNeil Armstrong <&reset RESET_VENCP>, 62074d1c6e9SNeil Armstrong <&reset RESET_VDAC>, 62174d1c6e9SNeil Armstrong <&reset RESET_VDI6>, 62274d1c6e9SNeil Armstrong <&reset RESET_VENCL>, 62374d1c6e9SNeil Armstrong <&reset RESET_VID_LOCK>; 62474d1c6e9SNeil Armstrong clocks = <&clkc CLKID_VPU>, 62574d1c6e9SNeil Armstrong <&clkc CLKID_VAPB>; 62674d1c6e9SNeil Armstrong clock-names = "vpu", "vapb"; 62774d1c6e9SNeil Armstrong /* 62874d1c6e9SNeil Armstrong * VPU clocking is provided by two identical clock paths 62974d1c6e9SNeil Armstrong * VPU_0 and VPU_1 muxed to a single clock by a glitch 63074d1c6e9SNeil Armstrong * free mux to safely change frequency while running. 63174d1c6e9SNeil Armstrong * Same for VAPB but with a final gate after the glitch free mux. 63274d1c6e9SNeil Armstrong */ 63374d1c6e9SNeil Armstrong assigned-clocks = <&clkc CLKID_VPU_0_SEL>, 63474d1c6e9SNeil Armstrong <&clkc CLKID_VPU_0>, 63574d1c6e9SNeil Armstrong <&clkc CLKID_VPU>, /* Glitch free mux */ 63674d1c6e9SNeil Armstrong <&clkc CLKID_VAPB_0_SEL>, 63774d1c6e9SNeil Armstrong <&clkc CLKID_VAPB_0>, 63874d1c6e9SNeil Armstrong <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */ 63974d1c6e9SNeil Armstrong assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, 64074d1c6e9SNeil Armstrong <0>, /* Do Nothing */ 64174d1c6e9SNeil Armstrong <&clkc CLKID_VPU_0>, 64274d1c6e9SNeil Armstrong <&clkc CLKID_FCLK_DIV4>, 64374d1c6e9SNeil Armstrong <0>, /* Do Nothing */ 64474d1c6e9SNeil Armstrong <&clkc CLKID_VAPB_0>; 64574d1c6e9SNeil Armstrong assigned-clock-rates = <0>, /* Do Nothing */ 64674d1c6e9SNeil Armstrong <666666666>, 64774d1c6e9SNeil Armstrong <0>, /* Do Nothing */ 64874d1c6e9SNeil Armstrong <0>, /* Do Nothing */ 64974d1c6e9SNeil Armstrong <250000000>, 65074d1c6e9SNeil Armstrong <0>; /* Do Nothing */ 65174d1c6e9SNeil Armstrong}; 65274d1c6e9SNeil Armstrong 653bd80ef5eSMartin Blumenstingl&saradc { 654bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 655bd80ef5eSMartin Blumenstingl clocks = <&xtal>, 656bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC>, 657bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_CLK>, 658bd80ef5eSMartin Blumenstingl <&clkc CLKID_SAR_ADC_SEL>; 659e102da49SXingyu Chen clock-names = "clkin", "core", "adc_clk", "adc_sel"; 660bd80ef5eSMartin Blumenstingl}; 661bd80ef5eSMartin Blumenstingl 6626d489dc8SNeil Armstrong&sd_emmc_a { 6636d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_A>, 66450662499SJerome Brunet <&clkc CLKID_SD_EMMC_A_CLK0>, 6656d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6666d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6676d489dc8SNeil Armstrong}; 6686d489dc8SNeil Armstrong 6696d489dc8SNeil Armstrong&sd_emmc_b { 6706d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_B>, 67150662499SJerome Brunet <&clkc CLKID_SD_EMMC_B_CLK0>, 6726d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6736d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6746d489dc8SNeil Armstrong}; 6756d489dc8SNeil Armstrong 6766d489dc8SNeil Armstrong&sd_emmc_c { 6776d489dc8SNeil Armstrong clocks = <&clkc CLKID_SD_EMMC_C>, 67850662499SJerome Brunet <&clkc CLKID_SD_EMMC_C_CLK0>, 6796d489dc8SNeil Armstrong <&clkc CLKID_FCLK_DIV2>; 6806d489dc8SNeil Armstrong clock-names = "core", "clkin0", "clkin1"; 6816d489dc8SNeil Armstrong}; 682fafdbdf7SNeil Armstrong 683fa808631SNeil Armstrong&spicc { 684fa808631SNeil Armstrong clocks = <&clkc CLKID_SPICC>; 685fa808631SNeil Armstrong clock-names = "core"; 686fa808631SNeil Armstrong resets = <&reset RESET_PERIPHS_SPICC>; 687fa808631SNeil Armstrong num-cs = <1>; 688fa808631SNeil Armstrong}; 689fa808631SNeil Armstrong 69004b36df4SNeil Armstrong&spifc { 69104b36df4SNeil Armstrong clocks = <&clkc CLKID_SPI>; 69204b36df4SNeil Armstrong}; 69304b36df4SNeil Armstrong 694f72d6f60SHelmut Klein&uart_A { 695f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 69639005e56SNeil Armstrong clock-names = "xtal", "pclk", "baud"; 697f72d6f60SHelmut Klein}; 698f72d6f60SHelmut Klein 699f72d6f60SHelmut Klein&uart_AO { 700f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 701f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 702f72d6f60SHelmut Klein}; 703f72d6f60SHelmut Klein 704f72d6f60SHelmut Klein&uart_AO_B { 705f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>; 706f72d6f60SHelmut Klein clock-names = "xtal", "pclk", "baud"; 707f72d6f60SHelmut Klein}; 708f72d6f60SHelmut Klein 709f72d6f60SHelmut Klein&uart_B { 710f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 71139005e56SNeil Armstrong clock-names = "xtal", "pclk", "baud"; 712f72d6f60SHelmut Klein}; 713f72d6f60SHelmut Klein 714f72d6f60SHelmut Klein&uart_C { 715f72d6f60SHelmut Klein clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 71639005e56SNeil Armstrong clock-names = "xtal", "pclk", "baud"; 717f72d6f60SHelmut Klein}; 718f72d6f60SHelmut Klein 719fafdbdf7SNeil Armstrong&vpu { 720fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 72174d1c6e9SNeil Armstrong power-domains = <&pwrc_vpu>; 722fafdbdf7SNeil Armstrong}; 723