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

Annotation of src/sys/external/gpl2/dts/dist/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi, Revision 1.1.1.1.4.2

1.1       jmcneill    1: /*
                      2:  * Copyright (c) 2017 Theobroma Systems Design und Consulting GmbH
                      3:  *
                      4:  * This file is dual-licensed: you can use it either under the terms
                      5:  * of the GPL or the X11 license, at your option. Note that this dual
                      6:  * licensing only applies to this file, and not this project as a
                      7:  * whole.
                      8:  *
                      9:  *  a) This file is free software; you can redistribute it and/or
                     10:  *     modify it under the terms of the GNU General Public License as
                     11:  *     published by the Free Software Foundation; either version 2 of the
                     12:  *     License, or (at your option) any later version.
                     13:  *
                     14:  *     This file is distributed in the hope that it will be useful,
                     15:  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
                     16:  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     17:  *     GNU General Public License for more details.
                     18:  *
                     19:  * Or, alternatively,
                     20:  *
                     21:  *  b) Permission is hereby granted, free of charge, to any person
                     22:  *     obtaining a copy of this software and associated documentation
                     23:  *     files (the "Software"), to deal in the Software without
                     24:  *     restriction, including without limitation the rights to use,
                     25:  *     copy, modify, merge, publish, distribute, sublicense, and/or
                     26:  *     sell copies of the Software, and to permit persons to whom the
                     27:  *     Software is furnished to do so, subject to the following
                     28:  *     conditions:
                     29:  *
                     30:  *     The above copyright notice and this permission notice shall be
                     31:  *     included in all copies or substantial portions of the Software.
                     32:  *
                     33:  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
                     34:  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
                     35:  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
                     36:  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
                     37:  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
                     38:  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
                     39:  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
                     40:  *     OTHER DEALINGS IN THE SOFTWARE.
                     41:  */
                     42:
                     43: #include <dt-bindings/pwm/pwm.h>
                     44: #include "rk3399.dtsi"
                     45: #include "rk3399-opp.dtsi"
                     46:
                     47: / {
                     48:        leds {
                     49:                compatible = "gpio-leds";
                     50:                pinctrl-names = "default";
                     51:                pinctrl-0 = <&led_pin_module>;
                     52:
                     53:                module-led {
                     54:                        label = "module_led";
                     55:                        gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>;
                     56:                        linux,default-trigger = "heartbeat";
                     57:                        panic-indicator;
                     58:                };
                     59:        };
                     60:
                     61:        /*
                     62:         * Overwrite the opp-table for CPUB as this board uses a different
                     63:         * regulator (FAN53555) that only allows 10mV steps and therefore
                     64:         * can't reach the operation point target voltages from rk3399-opp.dtsi
                     65:         */
                     66:        /delete-node/ opp-table1;
                     67:        cluster1_opp: opp-table1 {
                     68:                compatible = "operating-points-v2";
                     69:                opp-shared;
                     70:
                     71:                opp00 {
                     72:                        opp-hz = /bits/ 64 <408000000>;
                     73:                        opp-microvolt = <800000>;
                     74:                        clock-latency-ns = <40000>;
                     75:                };
                     76:                opp01 {
                     77:                        opp-hz = /bits/ 64 <600000000>;
                     78:                        opp-microvolt = <800000>;
                     79:                };
                     80:                opp02 {
                     81:                        opp-hz = /bits/ 64 <816000000>;
                     82:                        opp-microvolt = <830000>;
                     83:                        opp-suspend;
                     84:                };
                     85:                opp03 {
                     86:                        opp-hz = /bits/ 64 <1008000000>;
                     87:                        opp-microvolt = <880000>;
                     88:                };
                     89:                opp04 {
                     90:                        opp-hz = /bits/ 64 <1200000000>;
                     91:                        opp-microvolt = <950000>;
                     92:                };
                     93:                opp05 {
                     94:                        opp-hz = /bits/ 64 <1416000000>;
                     95:                        opp-microvolt = <1030000>;
                     96:                };
                     97:                opp06 {
                     98:                        opp-hz = /bits/ 64 <1608000000>;
                     99:                        opp-microvolt = <1100000>;
                    100:                };
                    101:                opp07 {
                    102:                        opp-hz = /bits/ 64 <1800000000>;
                    103:                        opp-microvolt = <1200000>;
                    104:                };
                    105:                opp08 {
                    106:                        opp-hz = /bits/ 64 <1992000000>;
                    107:                        opp-microvolt = <1230000>;
                    108:                        turbo-mode;
                    109:                };
                    110:        };
                    111:
                    112:        clkin_gmac: external-gmac-clock {
                    113:                compatible = "fixed-clock";
                    114:                clock-frequency = <125000000>;
                    115:                clock-output-names = "clkin_gmac";
                    116:                #clock-cells = <0>;
                    117:        };
                    118:
                    119:        vcc1v2_phy: vcc1v2-phy {
                    120:                compatible = "regulator-fixed";
                    121:                regulator-name = "vcc1v2_phy";
                    122:                regulator-always-on;
                    123:                regulator-boot-on;
                    124:                regulator-min-microvolt = <1200000>;
                    125:                regulator-max-microvolt = <1200000>;
                    126:                vin-supply = <&vcc5v0_sys>;
                    127:        };
                    128:
                    129:        vcc3v3_sys: vcc3v3-sys {
                    130:                compatible = "regulator-fixed";
                    131:                regulator-name = "vcc3v3_sys";
                    132:                regulator-always-on;
                    133:                regulator-boot-on;
                    134:                regulator-min-microvolt = <3300000>;
                    135:                regulator-max-microvolt = <3300000>;
                    136:                vin-supply = <&vcc5v0_sys>;
                    137:        };
                    138:
                    139:        vcc5v0_host: vcc5v0-host-regulator {
                    140:                compatible = "regulator-fixed";
                    141:                gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
                    142:                enable-active-low;
                    143:                pinctrl-names = "default";
                    144:                pinctrl-0 = <&vcc5v0_host_en>;
                    145:                regulator-name = "vcc5v0_host";
                    146:                regulator-always-on;
                    147:                vin-supply = <&vcc5v0_sys>;
                    148:        };
                    149:
                    150:        vcc5v0_sys: vcc5v0-sys {
                    151:                compatible = "regulator-fixed";
                    152:                regulator-name = "vcc5v0_sys";
                    153:                regulator-always-on;
                    154:                regulator-boot-on;
                    155:                regulator-min-microvolt = <5000000>;
                    156:                regulator-max-microvolt = <5000000>;
                    157:        };
                    158: };
                    159:
                    160: &cpu_b0 {
                    161:        cpu-supply = <&vdd_cpu_b>;
                    162: };
                    163:
                    164: &cpu_b1 {
                    165:        cpu-supply = <&vdd_cpu_b>;
                    166: };
                    167:
                    168: &cpu_l0 {
                    169:        cpu-supply = <&vdd_cpu_l>;
                    170: };
                    171:
                    172: &cpu_l1 {
                    173:        cpu-supply = <&vdd_cpu_l>;
                    174: };
                    175:
                    176: &cpu_l2 {
                    177:        cpu-supply = <&vdd_cpu_l>;
                    178: };
                    179:
                    180: &cpu_l3 {
                    181:        cpu-supply = <&vdd_cpu_l>;
                    182: };
                    183:
                    184: &emmc_phy {
                    185:        status = "okay";
                    186: };
                    187:
                    188: &gmac {
                    189:        assigned-clocks = <&cru SCLK_RMII_SRC>;
                    190:        assigned-clock-parents = <&clkin_gmac>;
                    191:        clock_in_out = "input";
                    192:        phy-supply = <&vcc1v2_phy>;
                    193:        phy-mode = "rgmii";
                    194:        pinctrl-names = "default";
                    195:        pinctrl-0 = <&rgmii_pins>;
                    196:        snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
                    197:        snps,reset-active-low;
                    198:        snps,reset-delays-us = <0 10000 50000>;
                    199:        tx_delay = <0x10>;
                    200:        rx_delay = <0x10>;
                    201:        status = "okay";
                    202: };
                    203:
                    204: &i2c0 {
                    205:        status = "okay";
                    206:        i2c-scl-rising-time-ns = <168>;
                    207:        i2c-scl-falling-time-ns = <4>;
                    208:        clock-frequency = <400000>;
                    209:
                    210:        rk808: pmic@1b {
                    211:                compatible = "rockchip,rk808";
                    212:                reg = <0x1b>;
                    213:                interrupt-parent = <&gpio1>;
                    214:                interrupts = <22 IRQ_TYPE_LEVEL_LOW>;
                    215:                #clock-cells = <1>;
                    216:                clock-output-names = "xin32k", "rk808-clkout2";
                    217:                pinctrl-names = "default";
                    218:                pinctrl-0 = <&pmic_int_l>;
                    219:                rockchip,system-power-controller;
                    220:                wakeup-source;
                    221:
                    222:                vcc1-supply = <&vcc5v0_sys>;
                    223:                vcc2-supply = <&vcc5v0_sys>;
                    224:                vcc3-supply = <&vcc5v0_sys>;
                    225:                vcc4-supply = <&vcc5v0_sys>;
                    226:                vcc6-supply = <&vcc5v0_sys>;
                    227:                vcc7-supply = <&vcc5v0_sys>;
                    228:                vcc8-supply = <&vcc3v3_sys>;
                    229:                vcc9-supply = <&vcc5v0_sys>;
                    230:                vcc10-supply = <&vcc5v0_sys>;
                    231:                vcc11-supply = <&vcc5v0_sys>;
                    232:                vcc12-supply = <&vcc3v3_sys>;
                    233:                vddio-supply = <&vcc1v8_pmu>;
                    234:
                    235:                regulators {
                    236:                        vdd_center: DCDC_REG1 {
                    237:                                regulator-name = "vdd_center";
                    238:                                regulator-min-microvolt = <750000>;
                    239:                                regulator-max-microvolt = <1350000>;
                    240:                                regulator-ramp-delay = <6001>;
                    241:                                regulator-always-on;
                    242:                                regulator-boot-on;
                    243:                                regulator-state-mem {
                    244:                                        regulator-off-in-suspend;
                    245:                                };
                    246:                        };
                    247:
                    248:                        vdd_cpu_l: DCDC_REG2 {
                    249:                                regulator-name = "vdd_cpu_l";
                    250:                                regulator-min-microvolt = <750000>;
                    251:                                regulator-max-microvolt = <1350000>;
                    252:                                regulator-ramp-delay = <6001>;
                    253:                                regulator-always-on;
                    254:                                regulator-boot-on;
                    255:                                regulator-state-mem {
                    256:                                        regulator-off-in-suspend;
                    257:                                };
                    258:                        };
                    259:
                    260:                        vcc_ddr: DCDC_REG3 {
                    261:                                regulator-name = "vcc_ddr";
                    262:                                regulator-always-on;
                    263:                                regulator-boot-on;
                    264:                                regulator-state-mem {
                    265:                                        regulator-on-in-suspend;
                    266:                                };
                    267:                        };
                    268:
                    269:                        vcc_1v8: DCDC_REG4 {
                    270:                                regulator-name = "vcc_1v8";
                    271:                                regulator-min-microvolt = <1800000>;
                    272:                                regulator-max-microvolt = <1800000>;
                    273:                                regulator-always-on;
                    274:                                regulator-boot-on;
                    275:                                regulator-state-mem {
                    276:                                        regulator-on-in-suspend;
                    277:                                        regulator-suspend-microvolt = <1800000>;
                    278:                                };
                    279:                        };
                    280:
                    281:                        vcc_ldo1: LDO_REG1 {
                    282:                                regulator-name = "vcc_ldo1";
                    283:                                regulator-min-microvolt = <1800000>;
                    284:                                regulator-max-microvolt = <1800000>;
                    285:                                regulator-boot-on;
                    286:                                regulator-state-mem {
                    287:                                        regulator-off-in-suspend;
                    288:                                };
                    289:                        };
                    290:
                    291:                        vcc1v8_hdmi: LDO_REG2 {
                    292:                                regulator-name = "vcc1v8_hdmi";
                    293:                                regulator-min-microvolt = <1800000>;
                    294:                                regulator-max-microvolt = <1800000>;
                    295:                                regulator-always-on;
                    296:                                regulator-boot-on;
                    297:                                regulator-state-mem {
                    298:                                        regulator-off-in-suspend;
                    299:                                };
                    300:                        };
                    301:
                    302:                        vcc1v8_pmu: LDO_REG3 {
                    303:                                regulator-name = "vcc1v8_pmu";
                    304:                                regulator-min-microvolt = <1800000>;
                    305:                                regulator-max-microvolt = <1800000>;
                    306:                                regulator-always-on;
                    307:                                regulator-boot-on;
                    308:                                regulator-state-mem {
                    309:                                        regulator-on-in-suspend;
                    310:                                        regulator-suspend-microvolt = <1800000>;
                    311:                                };
                    312:                        };
                    313:
                    314:                        vcc_sd: LDO_REG4 {
                    315:                                regulator-name = "vcc_sd";
                    316:                                regulator-min-microvolt = <1800000>;
                    317:                                regulator-max-microvolt = <3000000>;
                    318:                                regulator-always-on;
                    319:                                regulator-boot-on;
                    320:                                regulator-state-mem {
                    321:                                        regulator-on-in-suspend;
                    322:                                        regulator-suspend-microvolt = <3000000>;
                    323:                                };
                    324:                        };
                    325:
                    326:                        vcc_ldo5: LDO_REG5 {
                    327:                                regulator-name = "vcc_ldo5";
                    328:                                regulator-min-microvolt = <3000000>;
                    329:                                regulator-max-microvolt = <3000000>;
                    330:                                regulator-boot-on;
                    331:                                regulator-state-mem {
                    332:                                        regulator-off-in-suspend;
                    333:                                };
                    334:                        };
                    335:
                    336:                        vcc_ldo6: LDO_REG6 {
                    337:                                regulator-name = "vcc_ldo6";
                    338:                                regulator-min-microvolt = <1500000>;
                    339:                                regulator-max-microvolt = <1500000>;
                    340:                                regulator-boot-on;
                    341:                                regulator-state-mem {
                    342:                                        regulator-off-in-suspend;
                    343:                                };
                    344:                        };
                    345:
                    346:                        vcc0v9_hdmi: LDO_REG7 {
                    347:                                regulator-name = "vcc0v9_hdmi";
                    348:                                regulator-min-microvolt = <900000>;
                    349:                                regulator-max-microvolt = <900000>;
                    350:                                regulator-always-on;
                    351:                                regulator-boot-on;
                    352:                                regulator-state-mem {
                    353:                                        regulator-off-in-suspend;
                    354:                                };
                    355:                        };
                    356:
                    357:                        vcc_efuse: LDO_REG8 {
                    358:                                regulator-name = "vcc_efuse";
                    359:                                regulator-min-microvolt = <1800000>;
                    360:                                regulator-max-microvolt = <1800000>;
                    361:                                regulator-always-on;
                    362:                                regulator-boot-on;
                    363:                                regulator-state-mem {
                    364:                                        regulator-off-in-suspend;
                    365:                                };
                    366:                        };
                    367:
                    368:                        vcc3v3_s3: SWITCH_REG1 {
                    369:                                regulator-name = "vcc3v3_s3";
                    370:                                regulator-always-on;
                    371:                                regulator-boot-on;
                    372:                                regulator-state-mem {
                    373:                                        regulator-off-in-suspend;
                    374:                                };
                    375:                        };
                    376:
                    377:                        vcc3v3_s0: SWITCH_REG2 {
                    378:                                regulator-name = "vcc3v3_s0";
                    379:                                regulator-always-on;
                    380:                                regulator-boot-on;
                    381:                                regulator-state-mem {
                    382:                                        regulator-off-in-suspend;
                    383:                                };
                    384:                        };
                    385:                };
                    386:        };
                    387:
                    388:        vdd_gpu: regulator@60 {
                    389:                compatible = "fcs,fan53555";
                    390:                reg = <0x60>;
                    391:                fcs,suspend-voltage-selector = <1>;
                    392:                regulator-name = "vdd_gpu";
                    393:                regulator-min-microvolt = <600000>;
                    394:                regulator-max-microvolt = <1230000>;
                    395:                regulator-ramp-delay = <1000>;
                    396:                regulator-always-on;
                    397:                regulator-boot-on;
                    398:                vin-supply = <&vcc5v0_sys>;
                    399:        };
                    400: };
                    401:
                    402: &i2c7 {
                    403:        status = "okay";
                    404:        clock-frequency = <400000>;
                    405:
                    406:        fan: fan@18 {
                    407:                compatible = "ti,amc6821";
                    408:                reg = <0x18>;
                    409:                cooling-min-state = <0>;
                    410:                cooling-max-state = <9>;
                    411:                #cooling-cells = <2>;
                    412:        };
                    413:
                    414:        rtc_twi: rtc@6f {
                    415:                compatible = "isil,isl1208";
                    416:                reg = <0x6f>;
                    417:        };
                    418: };
                    419:
                    420: &i2c8 {
                    421:        status = "okay";
                    422:        clock-frequency = <400000>;
                    423:
                    424:        vdd_cpu_b: regulator@60 {
                    425:                compatible = "fcs,fan53555";
                    426:                reg = <0x60>;
                    427:                vin-supply = <&vcc5v0_sys>;
                    428:                regulator-name = "vdd_cpu_b";
                    429:                regulator-min-microvolt = <600000>;
                    430:                regulator-max-microvolt = <1230000>;
                    431:                regulator-ramp-delay = <1000>;
                    432:                fcs,suspend-voltage-selector = <1>;
                    433:                regulator-always-on;
                    434:                regulator-boot-on;
                    435:        };
                    436: };
                    437:
1.1.1.1.4.1  pgoyette  438: &i2s0 {
                    439:        pinctrl-0 = <&i2s0_2ch_bus>;
                    440:        rockchip,playback-channels = <2>;
                    441:        rockchip,capture-channels = <2>;
                    442:        #sound-dai-cells = <0>;
                    443:        status = "okay";
                    444: };
                    445:
                    446: /*
                    447:  * As Q7 does not specify neither a global nor a RX clock for I2S these
                    448:  * signals are not used. Furthermore I2S0_LRCK_RX is used as GPIO.
                    449:  * Therefore we have to redefine the i2s0_2ch_bus definition to prevent
                    450:  * conflicts.
                    451:  */
                    452: &i2s0_2ch_bus {
                    453:        rockchip,pins =
                    454:                <RK_GPIO3 RK_PD0 RK_FUNC_1 &pcfg_pull_none>,
                    455:                <RK_GPIO3 RK_PD2 RK_FUNC_1 &pcfg_pull_none>,
                    456:                <RK_GPIO3 RK_PD3 RK_FUNC_1 &pcfg_pull_none>,
                    457:                <RK_GPIO3 RK_PD7 RK_FUNC_1 &pcfg_pull_none>;
                    458: };
                    459:
1.1       jmcneill  460: &io_domains {
                    461:        status = "okay";
                    462:        bt656-supply = <&vcc_1v8>;
                    463:        audio-supply = <&vcc_1v8>;
                    464:        sdmmc-supply = <&vcc_sd>;
                    465:        gpio1830-supply = <&vcc_1v8>;
                    466: };
                    467:
                    468: &pmu_io_domains {
                    469:        status = "okay";
                    470:        pmu1830-supply = <&vcc_1v8>;
                    471: };
                    472:
                    473: &pwm2 {
                    474:        status = "okay";
                    475: };
                    476:
                    477: &pinctrl {
                    478:        i2c8 {
                    479:                i2c8_xfer_a: i2c8-xfer {
                    480:                        rockchip,pins =
                    481:                          <RK_GPIO1 RK_PC4 RK_FUNC_1 &pcfg_pull_up>,
                    482:                          <RK_GPIO1 RK_PC5 RK_FUNC_1 &pcfg_pull_up>;
                    483:                };
                    484:        };
                    485:
                    486:        leds {
                    487:                led_pin_module: led-module-gpio {
                    488:                        rockchip,pins =
                    489:                          <RK_GPIO2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
                    490:                };
                    491:        };
                    492:
                    493:        pmic {
                    494:                pmic_int_l: pmic-int-l {
                    495:                        rockchip,pins =
                    496:                          <RK_GPIO1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
                    497:                };
                    498:        };
                    499:
                    500:        usb2 {
                    501:                vcc5v0_host_en: vcc5v0-host-en {
                    502:                        rockchip,pins =
                    503:                          <RK_GPIO4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
                    504:                };
                    505:        };
                    506: };
                    507:
                    508: &sdhci {
                    509:        bus-width = <8>;
                    510:        mmc-hs400-1_8v;
                    511:        mmc-hs400-enhanced-strobe;
                    512:        non-removable;
                    513:        status = "okay";
                    514: };
                    515:
                    516: &sdmmc {
                    517:        vqmmc = <&vcc_sd>;
                    518: };
                    519:
                    520: &spi1 {
                    521:        status = "okay";
                    522:
                    523:        norflash: flash@0 {
                    524:                compatible = "jedec,spi-nor";
                    525:                reg = <0>;
                    526:                spi-max-frequency = <50000000>;
                    527:        };
                    528: };
                    529:
1.1.1.1.4.2! pgoyette  530: &tcphy1 {
        !           531:        status = "okay";
        !           532: };
        !           533:
1.1.1.1.4.1  pgoyette  534: &tsadc {
                    535:        rockchip,hw-tshut-mode = <1>;
                    536:        rockchip,hw-tshut-polarity = <1>;
                    537:        status = "okay";
                    538: };
                    539:
1.1       jmcneill  540: &u2phy1 {
                    541:        status = "okay";
                    542:
                    543:        u2phy1_otg: otg-port {
                    544:                status = "okay";
                    545:        };
                    546:
                    547:        u2phy1_host: host-port {
                    548:                phy-supply = <&vcc5v0_host>;
                    549:                status = "okay";
                    550:        };
                    551: };
                    552:
                    553: &usbdrd3_1 {
                    554:        status = "okay";
                    555: };
                    556:
                    557: &usbdrd_dwc3_1 {
                    558:        status = "okay";
                    559:        dr_mode = "host";
                    560: };
                    561:
                    562: &usb_host1_ehci {
                    563:        status = "okay";
                    564: };
                    565:
                    566: &usb_host1_ohci {
                    567:        status = "okay";
                    568: };

CVSweb <webmaster@jp.NetBSD.org>