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" 45*fb0fe922SNeil Armstrong#include <dt-bindings/gpio/meson-gxbb-gpio.h> 4615abee8aSCarlo Caione 4715abee8aSCarlo Caione/ { 4815abee8aSCarlo Caione compatible = "amlogic,meson-gxl"; 4915abee8aSCarlo Caione}; 50*fb0fe922SNeil Armstrong 51*fb0fe922SNeil Armstrong&aobus { 52*fb0fe922SNeil Armstrong pinctrl_aobus: pinctrl@14 { 53*fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-aobus-pinctrl"; 54*fb0fe922SNeil Armstrong #address-cells = <2>; 55*fb0fe922SNeil Armstrong #size-cells = <2>; 56*fb0fe922SNeil Armstrong ranges; 57*fb0fe922SNeil Armstrong 58*fb0fe922SNeil Armstrong gpio_ao: bank@14 { 59*fb0fe922SNeil Armstrong reg = <0x0 0x00014 0x0 0x8>, 60*fb0fe922SNeil Armstrong <0x0 0x0002c 0x0 0x4>, 61*fb0fe922SNeil Armstrong <0x0 0x00024 0x0 0x8>; 62*fb0fe922SNeil Armstrong reg-names = "mux", "pull", "gpio"; 63*fb0fe922SNeil Armstrong gpio-controller; 64*fb0fe922SNeil Armstrong #gpio-cells = <2>; 65*fb0fe922SNeil Armstrong }; 66*fb0fe922SNeil Armstrong 67*fb0fe922SNeil Armstrong uart_ao_a_pins: uart_ao_a { 68*fb0fe922SNeil Armstrong mux { 69*fb0fe922SNeil Armstrong groups = "uart_tx_ao_a", "uart_rx_ao_a"; 70*fb0fe922SNeil Armstrong function = "uart_ao"; 71*fb0fe922SNeil Armstrong }; 72*fb0fe922SNeil Armstrong }; 73*fb0fe922SNeil Armstrong 74*fb0fe922SNeil Armstrong remote_input_ao_pins: remote_input_ao { 75*fb0fe922SNeil Armstrong mux { 76*fb0fe922SNeil Armstrong groups = "remote_input_ao"; 77*fb0fe922SNeil Armstrong function = "remote_input_ao"; 78*fb0fe922SNeil Armstrong }; 79*fb0fe922SNeil Armstrong }; 80*fb0fe922SNeil Armstrong }; 81*fb0fe922SNeil Armstrong}; 82*fb0fe922SNeil Armstrong 83*fb0fe922SNeil Armstrong&periphs { 84*fb0fe922SNeil Armstrong pinctrl_periphs: pinctrl@4b0 { 85*fb0fe922SNeil Armstrong compatible = "amlogic,meson-gxl-periphs-pinctrl"; 86*fb0fe922SNeil Armstrong #address-cells = <2>; 87*fb0fe922SNeil Armstrong #size-cells = <2>; 88*fb0fe922SNeil Armstrong ranges; 89*fb0fe922SNeil Armstrong 90*fb0fe922SNeil Armstrong gpio: bank@4b0 { 91*fb0fe922SNeil Armstrong reg = <0x0 0x004b0 0x0 0x28>, 92*fb0fe922SNeil Armstrong <0x0 0x004e8 0x0 0x14>, 93*fb0fe922SNeil Armstrong <0x0 0x00120 0x0 0x14>, 94*fb0fe922SNeil Armstrong <0x0 0x00430 0x0 0x40>; 95*fb0fe922SNeil Armstrong reg-names = "mux", "pull", "pull-enable", "gpio"; 96*fb0fe922SNeil Armstrong gpio-controller; 97*fb0fe922SNeil Armstrong #gpio-cells = <2>; 98*fb0fe922SNeil Armstrong }; 99*fb0fe922SNeil Armstrong 100*fb0fe922SNeil Armstrong emmc_pins: emmc { 101*fb0fe922SNeil Armstrong mux { 102*fb0fe922SNeil Armstrong groups = "emmc_nand_d07", 103*fb0fe922SNeil Armstrong "emmc_cmd", 104*fb0fe922SNeil Armstrong "emmc_clk", 105*fb0fe922SNeil Armstrong "emmc_ds"; 106*fb0fe922SNeil Armstrong function = "emmc"; 107*fb0fe922SNeil Armstrong }; 108*fb0fe922SNeil Armstrong }; 109*fb0fe922SNeil Armstrong 110*fb0fe922SNeil Armstrong sdcard_pins: sdcard { 111*fb0fe922SNeil Armstrong mux { 112*fb0fe922SNeil Armstrong groups = "sdcard_d0", 113*fb0fe922SNeil Armstrong "sdcard_d1", 114*fb0fe922SNeil Armstrong "sdcard_d2", 115*fb0fe922SNeil Armstrong "sdcard_d3", 116*fb0fe922SNeil Armstrong "sdcard_cmd", 117*fb0fe922SNeil Armstrong "sdcard_clk"; 118*fb0fe922SNeil Armstrong function = "sdcard"; 119*fb0fe922SNeil Armstrong }; 120*fb0fe922SNeil Armstrong }; 121*fb0fe922SNeil Armstrong 122*fb0fe922SNeil Armstrong sdio_pins: sdio { 123*fb0fe922SNeil Armstrong mux { 124*fb0fe922SNeil Armstrong groups = "sdio_d0", 125*fb0fe922SNeil Armstrong "sdio_d1", 126*fb0fe922SNeil Armstrong "sdio_d2", 127*fb0fe922SNeil Armstrong "sdio_d3", 128*fb0fe922SNeil Armstrong "sdio_cmd", 129*fb0fe922SNeil Armstrong "sdio_clk"; 130*fb0fe922SNeil Armstrong function = "sdio"; 131*fb0fe922SNeil Armstrong }; 132*fb0fe922SNeil Armstrong }; 133*fb0fe922SNeil Armstrong 134*fb0fe922SNeil Armstrong sdio_irq_pins: sdio_irq { 135*fb0fe922SNeil Armstrong mux { 136*fb0fe922SNeil Armstrong groups = "sdio_irq"; 137*fb0fe922SNeil Armstrong function = "sdio"; 138*fb0fe922SNeil Armstrong }; 139*fb0fe922SNeil Armstrong }; 140*fb0fe922SNeil Armstrong 141*fb0fe922SNeil Armstrong uart_a_pins: uart_a { 142*fb0fe922SNeil Armstrong mux { 143*fb0fe922SNeil Armstrong groups = "uart_tx_a", 144*fb0fe922SNeil Armstrong "uart_rx_a"; 145*fb0fe922SNeil Armstrong function = "uart_a"; 146*fb0fe922SNeil Armstrong }; 147*fb0fe922SNeil Armstrong }; 148*fb0fe922SNeil Armstrong 149*fb0fe922SNeil Armstrong uart_b_pins: uart_b { 150*fb0fe922SNeil Armstrong mux { 151*fb0fe922SNeil Armstrong groups = "uart_tx_b", 152*fb0fe922SNeil Armstrong "uart_rx_b"; 153*fb0fe922SNeil Armstrong function = "uart_b"; 154*fb0fe922SNeil Armstrong }; 155*fb0fe922SNeil Armstrong }; 156*fb0fe922SNeil Armstrong 157*fb0fe922SNeil Armstrong uart_c_pins: uart_c { 158*fb0fe922SNeil Armstrong mux { 159*fb0fe922SNeil Armstrong groups = "uart_tx_c", 160*fb0fe922SNeil Armstrong "uart_rx_c"; 161*fb0fe922SNeil Armstrong function = "uart_c"; 162*fb0fe922SNeil Armstrong }; 163*fb0fe922SNeil Armstrong }; 164*fb0fe922SNeil Armstrong 165*fb0fe922SNeil Armstrong i2c_a_pins: i2c_a { 166*fb0fe922SNeil Armstrong mux { 167*fb0fe922SNeil Armstrong groups = "i2c_sck_a", 168*fb0fe922SNeil Armstrong "i2c_sda_a"; 169*fb0fe922SNeil Armstrong function = "i2c_a"; 170*fb0fe922SNeil Armstrong }; 171*fb0fe922SNeil Armstrong }; 172*fb0fe922SNeil Armstrong 173*fb0fe922SNeil Armstrong i2c_b_pins: i2c_b { 174*fb0fe922SNeil Armstrong mux { 175*fb0fe922SNeil Armstrong groups = "i2c_sck_b", 176*fb0fe922SNeil Armstrong "i2c_sda_b"; 177*fb0fe922SNeil Armstrong function = "i2c_b"; 178*fb0fe922SNeil Armstrong }; 179*fb0fe922SNeil Armstrong }; 180*fb0fe922SNeil Armstrong 181*fb0fe922SNeil Armstrong i2c_c_pins: i2c_c { 182*fb0fe922SNeil Armstrong mux { 183*fb0fe922SNeil Armstrong groups = "i2c_sck_c", 184*fb0fe922SNeil Armstrong "i2c_sda_c"; 185*fb0fe922SNeil Armstrong function = "i2c_c"; 186*fb0fe922SNeil Armstrong }; 187*fb0fe922SNeil Armstrong }; 188*fb0fe922SNeil Armstrong 189*fb0fe922SNeil Armstrong eth_pins: eth_c { 190*fb0fe922SNeil Armstrong mux { 191*fb0fe922SNeil Armstrong groups = "eth_mdio", 192*fb0fe922SNeil Armstrong "eth_mdc", 193*fb0fe922SNeil Armstrong "eth_clk_rx_clk", 194*fb0fe922SNeil Armstrong "eth_rx_dv", 195*fb0fe922SNeil Armstrong "eth_rxd0", 196*fb0fe922SNeil Armstrong "eth_rxd1", 197*fb0fe922SNeil Armstrong "eth_rxd2", 198*fb0fe922SNeil Armstrong "eth_rxd3", 199*fb0fe922SNeil Armstrong "eth_rgmii_tx_clk", 200*fb0fe922SNeil Armstrong "eth_tx_en", 201*fb0fe922SNeil Armstrong "eth_txd0", 202*fb0fe922SNeil Armstrong "eth_txd1", 203*fb0fe922SNeil Armstrong "eth_txd2", 204*fb0fe922SNeil Armstrong "eth_txd3"; 205*fb0fe922SNeil Armstrong function = "eth"; 206*fb0fe922SNeil Armstrong }; 207*fb0fe922SNeil Armstrong }; 208*fb0fe922SNeil Armstrong 209*fb0fe922SNeil Armstrong pwm_e_pins: pwm_e { 210*fb0fe922SNeil Armstrong mux { 211*fb0fe922SNeil Armstrong groups = "pwm_e"; 212*fb0fe922SNeil Armstrong function = "pwm_e"; 213*fb0fe922SNeil Armstrong }; 214*fb0fe922SNeil Armstrong }; 215*fb0fe922SNeil Armstrong }; 216*fb0fe922SNeil Armstrong}; 217