[BACK]Return to meson-gxl.dtsi CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / external / gpl2 / dts / dist / arch / arm64 / boot / dts / amlogic

Annotation of src/sys/external/gpl2/dts/dist/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi, Revision 1.1.1.2

1.1       jmcneill    1: /*
                      2:  * Copyright (c) 2016 Endless Computers, Inc.
                      3:  * Author: Carlo Caione <carlo@endlessm.com>
                      4:  *
                      5:  * This file is dual-licensed: you can use it either under the terms
                      6:  * of the GPL or the X11 license, at your option. Note that this dual
                      7:  * licensing only applies to this file, and not this project as a
                      8:  * whole.
                      9:  *
                     10:  *  a) This library is free software; you can redistribute it and/or
                     11:  *     modify it under the terms of the GNU General Public License as
                     12:  *     published by the Free Software Foundation; either version 2 of the
                     13:  *     License, or (at your option) any later version.
                     14:  *
                     15:  *     This library is distributed in the hope that it will be useful,
                     16:  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
                     17:  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     18:  *     GNU General Public License for more details.
                     19:  *
                     20:  * Or, alternatively,
                     21:  *
                     22:  *  b) Permission is hereby granted, free of charge, to any person
                     23:  *     obtaining a copy of this software and associated documentation
                     24:  *     files (the "Software"), to deal in the Software without
                     25:  *     restriction, including without limitation the rights to use,
                     26:  *     copy, modify, merge, publish, distribute, sublicense, and/or
                     27:  *     sell copies of the Software, and to permit persons to whom the
                     28:  *     Software is furnished to do so, subject to the following
                     29:  *     conditions:
                     30:  *
                     31:  *     The above copyright notice and this permission notice shall be
                     32:  *     included in all copies or substantial portions of the Software.
                     33:  *
                     34:  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
                     35:  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
                     36:  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
                     37:  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
                     38:  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
                     39:  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
                     40:  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
                     41:  *     OTHER DEALINGS IN THE SOFTWARE.
                     42:  */
                     43:
                     44: #include "meson-gx.dtsi"
                     45: #include <dt-bindings/clock/gxbb-clkc.h>
                     46: #include <dt-bindings/gpio/meson-gxl-gpio.h>
1.1.1.2 ! jmcneill   47: #include <dt-bindings/reset/amlogic,meson-gxbb-reset.h>
1.1       jmcneill   48:
                     49: / {
                     50:        compatible = "amlogic,meson-gxl";
                     51: };
                     52:
                     53: &ethmac {
                     54:        reg = <0x0 0xc9410000 0x0 0x10000
                     55:               0x0 0xc8834540 0x0 0x4>;
                     56:
                     57:        clocks = <&clkc CLKID_ETH>,
                     58:                 <&clkc CLKID_FCLK_DIV2>,
                     59:                 <&clkc CLKID_MPLL2>;
                     60:        clock-names = "stmmaceth", "clkin0", "clkin1";
                     61:
                     62:        mdio0: mdio {
                     63:                #address-cells = <1>;
                     64:                #size-cells = <0>;
                     65:                compatible = "snps,dwmac-mdio";
                     66:        };
                     67: };
                     68:
                     69: &aobus {
                     70:        pinctrl_aobus: pinctrl@14 {
                     71:                compatible = "amlogic,meson-gxl-aobus-pinctrl";
                     72:                #address-cells = <2>;
                     73:                #size-cells = <2>;
                     74:                ranges;
                     75:
                     76:                gpio_ao: bank@14 {
                     77:                        reg = <0x0 0x00014 0x0 0x8>,
                     78:                              <0x0 0x0002c 0x0 0x4>,
                     79:                              <0x0 0x00024 0x0 0x8>;
                     80:                        reg-names = "mux", "pull", "gpio";
                     81:                        gpio-controller;
                     82:                        #gpio-cells = <2>;
1.1.1.2 ! jmcneill   83:                        gpio-ranges = <&pinctrl_aobus 0 0 14>;
1.1       jmcneill   84:                };
                     85:
                     86:                uart_ao_a_pins: uart_ao_a {
                     87:                        mux {
                     88:                                groups = "uart_tx_ao_a", "uart_rx_ao_a";
                     89:                                function = "uart_ao";
                     90:                        };
                     91:                };
                     92:
                     93:                uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
                     94:                        mux {
                     95:                                groups = "uart_cts_ao_a",
                     96:                                       "uart_rts_ao_a";
                     97:                                function = "uart_ao";
                     98:                        };
                     99:                };
                    100:
                    101:                uart_ao_b_pins: uart_ao_b {
                    102:                        mux {
                    103:                                groups = "uart_tx_ao_b", "uart_rx_ao_b";
                    104:                                function = "uart_ao_b";
                    105:                        };
                    106:                };
                    107:
1.1.1.2 ! jmcneill  108:                uart_ao_b_0_1_pins: uart_ao_b_0_1 {
        !           109:                        mux {
        !           110:                                groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1";
        !           111:                                function = "uart_ao_b";
        !           112:                        };
        !           113:                };
        !           114:
1.1       jmcneill  115:                uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
                    116:                        mux {
                    117:                                groups = "uart_cts_ao_b",
                    118:                                       "uart_rts_ao_b";
                    119:                                function = "uart_ao_b";
                    120:                        };
                    121:                };
                    122:
                    123:                remote_input_ao_pins: remote_input_ao {
                    124:                        mux {
                    125:                                groups = "remote_input_ao";
                    126:                                function = "remote_input_ao";
                    127:                        };
                    128:                };
                    129:
1.1.1.2 ! jmcneill  130:                i2c_ao_pins: i2c_ao {
        !           131:                        mux {
        !           132:                                groups = "i2c_sck_ao",
        !           133:                                       "i2c_sda_ao";
        !           134:                                function = "i2c_ao";
        !           135:                        };
        !           136:                };
        !           137:
        !           138:                pwm_ao_a_3_pins: pwm_ao_a_3 {
        !           139:                        mux {
        !           140:                                groups = "pwm_ao_a_3";
        !           141:                                function = "pwm_ao_a";
        !           142:                        };
        !           143:                };
        !           144:
        !           145:                pwm_ao_a_8_pins: pwm_ao_a_8 {
        !           146:                        mux {
        !           147:                                groups = "pwm_ao_a_8";
        !           148:                                function = "pwm_ao_a";
        !           149:                        };
        !           150:                };
        !           151:
1.1       jmcneill  152:                pwm_ao_b_pins: pwm_ao_b {
                    153:                        mux {
                    154:                                groups = "pwm_ao_b";
                    155:                                function = "pwm_ao_b";
                    156:                        };
                    157:                };
1.1.1.2 ! jmcneill  158:
        !           159:                pwm_ao_b_6_pins: pwm_ao_b_6 {
        !           160:                        mux {
        !           161:                                groups = "pwm_ao_b_6";
        !           162:                                function = "pwm_ao_b";
        !           163:                        };
        !           164:                };
        !           165:
        !           166:                i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
        !           167:                        mux {
        !           168:                                groups = "i2s_out_ch23_ao";
        !           169:                                function = "i2s_out_ao";
        !           170:                        };
        !           171:                };
        !           172:
        !           173:                i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
        !           174:                        mux {
        !           175:                                groups = "i2s_out_ch45_ao";
        !           176:                                function = "i2s_out_ao";
        !           177:                        };
        !           178:                };
        !           179:
        !           180:                spdif_out_ao_6_pins: spdif_out_ao_6 {
        !           181:                        mux {
        !           182:                                groups = "spdif_out_ao_6";
        !           183:                                function = "spdif_out_ao";
        !           184:                        };
        !           185:                };
        !           186:
        !           187:                spdif_out_ao_9_pins: spdif_out_ao_9 {
        !           188:                        mux {
        !           189:                                groups = "spdif_out_ao_9";
        !           190:                                function = "spdif_out_ao";
        !           191:                        };
        !           192:                };
1.1       jmcneill  193:        };
                    194: };
                    195:
                    196: &periphs {
                    197:        pinctrl_periphs: pinctrl@4b0 {
                    198:                compatible = "amlogic,meson-gxl-periphs-pinctrl";
                    199:                #address-cells = <2>;
                    200:                #size-cells = <2>;
                    201:                ranges;
                    202:
                    203:                gpio: bank@4b0 {
                    204:                        reg = <0x0 0x004b0 0x0 0x28>,
                    205:                              <0x0 0x004e8 0x0 0x14>,
                    206:                              <0x0 0x00120 0x0 0x14>,
                    207:                              <0x0 0x00430 0x0 0x40>;
                    208:                        reg-names = "mux", "pull", "pull-enable", "gpio";
                    209:                        gpio-controller;
                    210:                        #gpio-cells = <2>;
1.1.1.2 ! jmcneill  211:                        gpio-ranges = <&pinctrl_periphs 0 14 101>;
1.1       jmcneill  212:                };
                    213:
                    214:                emmc_pins: emmc {
                    215:                        mux {
                    216:                                groups = "emmc_nand_d07",
                    217:                                       "emmc_cmd",
                    218:                                       "emmc_clk",
                    219:                                       "emmc_ds";
                    220:                                function = "emmc";
                    221:                        };
                    222:                };
                    223:
1.1.1.2 ! jmcneill  224:                nor_pins: nor {
        !           225:                        mux {
        !           226:                                groups = "nor_d",
        !           227:                                       "nor_q",
        !           228:                                       "nor_c",
        !           229:                                       "nor_cs";
        !           230:                                function = "nor";
        !           231:                        };
        !           232:                };
        !           233:
1.1       jmcneill  234:                sdcard_pins: sdcard {
                    235:                        mux {
                    236:                                groups = "sdcard_d0",
                    237:                                       "sdcard_d1",
                    238:                                       "sdcard_d2",
                    239:                                       "sdcard_d3",
                    240:                                       "sdcard_cmd",
                    241:                                       "sdcard_clk";
                    242:                                function = "sdcard";
                    243:                        };
                    244:                };
                    245:
                    246:                sdio_pins: sdio {
                    247:                        mux {
                    248:                                groups = "sdio_d0",
                    249:                                       "sdio_d1",
                    250:                                       "sdio_d2",
                    251:                                       "sdio_d3",
                    252:                                       "sdio_cmd",
                    253:                                       "sdio_clk";
                    254:                                function = "sdio";
                    255:                        };
                    256:                };
                    257:
                    258:                sdio_irq_pins: sdio_irq {
                    259:                        mux {
                    260:                                groups = "sdio_irq";
                    261:                                function = "sdio";
                    262:                        };
                    263:                };
                    264:
                    265:                uart_a_pins: uart_a {
                    266:                        mux {
                    267:                                groups = "uart_tx_a",
                    268:                                       "uart_rx_a";
                    269:                                function = "uart_a";
                    270:                        };
                    271:                };
                    272:
                    273:                uart_a_cts_rts_pins: uart_a_cts_rts {
                    274:                        mux {
                    275:                                groups = "uart_cts_a",
                    276:                                       "uart_rts_a";
                    277:                                function = "uart_a";
                    278:                        };
                    279:                };
                    280:
                    281:                uart_b_pins: uart_b {
                    282:                        mux {
                    283:                                groups = "uart_tx_b",
                    284:                                       "uart_rx_b";
                    285:                                function = "uart_b";
                    286:                        };
                    287:                };
                    288:
                    289:                uart_b_cts_rts_pins: uart_b_cts_rts {
                    290:                        mux {
                    291:                                groups = "uart_cts_b",
                    292:                                       "uart_rts_b";
                    293:                                function = "uart_b";
                    294:                        };
                    295:                };
                    296:
                    297:                uart_c_pins: uart_c {
                    298:                        mux {
                    299:                                groups = "uart_tx_c",
                    300:                                       "uart_rx_c";
                    301:                                function = "uart_c";
                    302:                        };
                    303:                };
                    304:
                    305:                uart_c_cts_rts_pins: uart_c_cts_rts {
                    306:                        mux {
                    307:                                groups = "uart_cts_c",
                    308:                                       "uart_rts_c";
                    309:                                function = "uart_c";
                    310:                        };
                    311:                };
                    312:
                    313:                i2c_a_pins: i2c_a {
                    314:                        mux {
                    315:                                groups = "i2c_sck_a",
                    316:                                     "i2c_sda_a";
                    317:                                function = "i2c_a";
                    318:                        };
                    319:                };
                    320:
                    321:                i2c_b_pins: i2c_b {
                    322:                        mux {
                    323:                                groups = "i2c_sck_b",
                    324:                                      "i2c_sda_b";
                    325:                                function = "i2c_b";
                    326:                        };
                    327:                };
                    328:
                    329:                i2c_c_pins: i2c_c {
                    330:                        mux {
                    331:                                groups = "i2c_sck_c",
                    332:                                      "i2c_sda_c";
                    333:                                function = "i2c_c";
                    334:                        };
                    335:                };
                    336:
                    337:                eth_pins: eth_c {
                    338:                        mux {
                    339:                                groups = "eth_mdio",
                    340:                                       "eth_mdc",
                    341:                                       "eth_clk_rx_clk",
                    342:                                       "eth_rx_dv",
                    343:                                       "eth_rxd0",
                    344:                                       "eth_rxd1",
                    345:                                       "eth_rxd2",
                    346:                                       "eth_rxd3",
                    347:                                       "eth_rgmii_tx_clk",
                    348:                                       "eth_tx_en",
                    349:                                       "eth_txd0",
                    350:                                       "eth_txd1",
                    351:                                       "eth_txd2",
                    352:                                       "eth_txd3";
                    353:                                function = "eth";
                    354:                        };
                    355:                };
                    356:
1.1.1.2 ! jmcneill  357:                pwm_a_pins: pwm_a {
        !           358:                        mux {
        !           359:                                groups = "pwm_a";
        !           360:                                function = "pwm_a";
        !           361:                        };
        !           362:                };
        !           363:
        !           364:                pwm_b_pins: pwm_b {
        !           365:                        mux {
        !           366:                                groups = "pwm_b";
        !           367:                                function = "pwm_b";
        !           368:                        };
        !           369:                };
        !           370:
        !           371:                pwm_c_pins: pwm_c {
        !           372:                        mux {
        !           373:                                groups = "pwm_c";
        !           374:                                function = "pwm_c";
        !           375:                        };
        !           376:                };
        !           377:
        !           378:                pwm_d_pins: pwm_d {
        !           379:                        mux {
        !           380:                                groups = "pwm_d";
        !           381:                                function = "pwm_d";
        !           382:                        };
        !           383:                };
        !           384:
1.1       jmcneill  385:                pwm_e_pins: pwm_e {
                    386:                        mux {
                    387:                                groups = "pwm_e";
                    388:                                function = "pwm_e";
                    389:                        };
                    390:                };
                    391:
1.1.1.2 ! jmcneill  392:                pwm_f_clk_pins: pwm_f_clk {
        !           393:                        mux {
        !           394:                                groups = "pwm_f_clk";
        !           395:                                function = "pwm_f";
        !           396:                        };
        !           397:                };
        !           398:
        !           399:                pwm_f_x_pins: pwm_f_x {
        !           400:                        mux {
        !           401:                                groups = "pwm_f_x";
        !           402:                                function = "pwm_f";
        !           403:                        };
        !           404:                };
        !           405:
1.1       jmcneill  406:                hdmi_hpd_pins: hdmi_hpd {
                    407:                        mux {
                    408:                                groups = "hdmi_hpd";
                    409:                                function = "hdmi_hpd";
                    410:                        };
                    411:                };
                    412:
                    413:                hdmi_i2c_pins: hdmi_i2c {
                    414:                        mux {
                    415:                                groups = "hdmi_sda", "hdmi_scl";
                    416:                                function = "hdmi_i2c";
                    417:                        };
                    418:                };
1.1.1.2 ! jmcneill  419:
        !           420:                i2s_am_clk_pins: i2s_am_clk {
        !           421:                        mux {
        !           422:                                groups = "i2s_am_clk";
        !           423:                                function = "i2s_out";
        !           424:                        };
        !           425:                };
        !           426:
        !           427:                i2s_out_ao_clk_pins: i2s_out_ao_clk {
        !           428:                        mux {
        !           429:                                groups = "i2s_out_ao_clk";
        !           430:                                function = "i2s_out";
        !           431:                        };
        !           432:                };
        !           433:
        !           434:                i2s_out_lr_clk_pins: i2s_out_lr_clk {
        !           435:                        mux {
        !           436:                                groups = "i2s_out_lr_clk";
        !           437:                                function = "i2s_out";
        !           438:                        };
        !           439:                };
        !           440:
        !           441:                i2s_out_ch01_pins: i2s_out_ch01 {
        !           442:                        mux {
        !           443:                                groups = "i2s_out_ch01";
        !           444:                                function = "i2s_out";
        !           445:                        };
        !           446:                };
        !           447:                i2sout_ch23_z_pins: i2sout_ch23_z {
        !           448:                        mux {
        !           449:                                groups = "i2sout_ch23_z";
        !           450:                                function = "i2s_out";
        !           451:                        };
        !           452:                };
        !           453:
        !           454:                i2sout_ch45_z_pins: i2sout_ch45_z {
        !           455:                        mux {
        !           456:                                groups = "i2sout_ch45_z";
        !           457:                                function = "i2s_out";
        !           458:                        };
        !           459:                };
        !           460:
        !           461:                i2sout_ch67_z_pins: i2sout_ch67_z {
        !           462:                        mux {
        !           463:                                groups = "i2sout_ch67_z";
        !           464:                                function = "i2s_out";
        !           465:                        };
        !           466:                };
        !           467:
        !           468:                spdif_out_h_pins: spdif_out_ao_h {
        !           469:                        mux {
        !           470:                                groups = "spdif_out_h";
        !           471:                                function = "spdif_out";
        !           472:                        };
        !           473:                };
1.1       jmcneill  474:        };
                    475:
                    476:        eth-phy-mux {
                    477:                compatible = "mdio-mux-mmioreg", "mdio-mux";
                    478:                #address-cells = <1>;
                    479:                #size-cells = <0>;
                    480:                reg = <0x0 0x55c 0x0 0x4>;
                    481:                mux-mask = <0xffffffff>;
                    482:                mdio-parent-bus = <&mdio0>;
                    483:
                    484:                internal_mdio: mdio@e40908ff {
                    485:                        reg = <0xe40908ff>;
                    486:                        #address-cells = <1>;
                    487:                        #size-cells = <0>;
                    488:
                    489:                        internal_phy: ethernet-phy@8 {
                    490:                                compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22";
                    491:                                reg = <8>;
                    492:                                max-speed = <100>;
                    493:                        };
                    494:                };
                    495:
                    496:                external_mdio: mdio@2009087f {
                    497:                        reg = <0x2009087f>;
                    498:                        #address-cells = <1>;
                    499:                        #size-cells = <0>;
                    500:                };
                    501:        };
                    502: };
                    503:
                    504: &hiubus {
                    505:        clkc: clock-controller@0 {
                    506:                compatible = "amlogic,gxl-clkc", "amlogic,gxbb-clkc";
                    507:                #clock-cells = <1>;
                    508:                reg = <0x0 0x0 0x0 0x3db>;
                    509:        };
                    510: };
                    511:
                    512: &i2c_A {
                    513:        clocks = <&clkc CLKID_I2C>;
                    514: };
                    515:
1.1.1.2 ! jmcneill  516: &i2c_AO {
        !           517:        clocks = <&clkc CLKID_AO_I2C>;
        !           518: };
        !           519:
1.1       jmcneill  520: &i2c_B {
                    521:        clocks = <&clkc CLKID_I2C>;
                    522: };
                    523:
                    524: &i2c_C {
                    525:        clocks = <&clkc CLKID_I2C>;
                    526: };
                    527:
                    528: &saradc {
                    529:        compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
                    530:        clocks = <&xtal>,
                    531:                 <&clkc CLKID_SAR_ADC>,
                    532:                 <&clkc CLKID_SANA>,
                    533:                 <&clkc CLKID_SAR_ADC_CLK>,
                    534:                 <&clkc CLKID_SAR_ADC_SEL>;
                    535:        clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel";
                    536: };
                    537:
                    538: &sd_emmc_a {
                    539:        clocks = <&clkc CLKID_SD_EMMC_A>,
                    540:                 <&xtal>,
                    541:                 <&clkc CLKID_FCLK_DIV2>;
                    542:        clock-names = "core", "clkin0", "clkin1";
                    543: };
                    544:
                    545: &sd_emmc_b {
                    546:        clocks = <&clkc CLKID_SD_EMMC_B>,
                    547:                 <&xtal>,
                    548:                 <&clkc CLKID_FCLK_DIV2>;
                    549:        clock-names = "core", "clkin0", "clkin1";
                    550: };
                    551:
                    552: &sd_emmc_c {
                    553:        clocks = <&clkc CLKID_SD_EMMC_C>,
                    554:                 <&xtal>,
                    555:                 <&clkc CLKID_FCLK_DIV2>;
                    556:        clock-names = "core", "clkin0", "clkin1";
                    557: };
                    558:
1.1.1.2 ! jmcneill  559: &spifc {
        !           560:        clocks = <&clkc CLKID_SPI>;
        !           561: };
        !           562:
1.1       jmcneill  563: &vpu {
                    564:        compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
                    565: };
1.1.1.2 ! jmcneill  566:
        !           567: &hdmi_tx {
        !           568:        compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
        !           569:        resets = <&reset RESET_HDMITX_CAPB3>,
        !           570:                 <&reset RESET_HDMI_SYSTEM_RESET>,
        !           571:                 <&reset RESET_HDMI_TX>;
        !           572:        reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
        !           573:        clocks = <&clkc CLKID_HDMI_PCLK>,
        !           574:                 <&clkc CLKID_CLK81>,
        !           575:                 <&clkc CLKID_GCLK_VENCI_INT0>;
        !           576:        clock-names = "isfr", "iahb", "venci";
        !           577: };

CVSweb <webmaster@jp.NetBSD.org>