]> Git Repo - linux.git/commitdiff
Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <[email protected]>
Tue, 9 May 2017 17:07:33 +0000 (10:07 -0700)
committerLinus Torvalds <[email protected]>
Tue, 9 May 2017 17:07:33 +0000 (10:07 -0700)
Pull ARM 64-bit DT updates from Olof Johansson:
 "Device-tree updates for arm64 platforms. Just as with 32-bit, a bunch
  of smaller changes, but also some new platforms that are worth
  mentioning:

   - Rockchip RK3399 platforms for Chromebooks, including Samsung
     Chromebook Plus (Kevin)

   - Orange Pi PC2 (Allwinner H5)

   - Freescale LS2088A and LS1088A SoCs

   - Expanded support for Nvidia Tegra186 (and Jetson TX2)"

* tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (180 commits)
  arm64: dts: Add basic DT to support Spreadtrum's SP9860G
  arm64: dts: exynos: Use - instead of @ for DT OPP entries
  arm64: dts: exynos: Add support for s6e3hf2 panel device on TM2e board
  arm64: dts: juno: add information about L1 and L2 caches
  arm64: dts: juno: fix few unit address format warnings
  arm64: marvell: dts: enable the crypto engine on the Armada 8040 DB
  arm64: marvell: dts: enable the crypto engine on the Armada 7040 DB
  arm64: marvell: dts: add crypto engine description for 7k/8k
  arm64: dts: marvell: add sdhci support for Armada 7K/8K
  arm64: dts: marvell: add eMMC support for Armada 37xx
  arm64: dts: hisi: add pinctrl dtsi file for HiKey960 development board
  arm64: dts: hisi: add drive strength levels of the pins for Hi3660 SoC
  arm64: dts: hisi: enable the NIC and SAS for the hip07-d05 board
  arm64: dts: hisi: add SAS nodes for the hip07 SoC
  arm64: dts: hisi: add RoCE nodes for the hip07 SoC
  arm64: dts: hisi: add network related nodes for the hip07 SoC
  arm64: dts: hisi: add mbigen nodes for the hip07 SoC
  arm64: dts: rockchip: fix the memory size of PX5 Evaluation board
  arm64: dts: hisilicon: add dts files for hi3798cv200-poplar board
  dt-bindings: arm: hisilicon: add bindings for hi3798cv200 SoC and Poplar board
  ...

12 files changed:
1  2 
Documentation/devicetree/bindings/arm/rockchip.txt
Documentation/devicetree/bindings/soc/rockchip/grf.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
arch/arm64/boot/dts/amlogic/meson-gx.dtsi
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
arch/arm64/boot/dts/broadcom/ns2.dtsi
arch/arm64/boot/dts/marvell/armada-3720-db.dts
arch/arm64/boot/dts/marvell/armada-37xx.dtsi
arch/arm64/boot/dts/marvell/armada-ap806.dtsi
drivers/clk/meson/gxbb.h
include/dt-bindings/clock/gxbb-clkc.h

index 6b8d50a0ee7815e8b4daf48b3a64e14f860ac977,3ad9482f78598a214db6408fcfb35dbb39279c14..c965d99e86c2b8413c5b5463d2bbc46966f53005
@@@ -1,8 -1,5 +1,8 @@@
  Rockchip platforms device tree bindings
  ---------------------------------------
 +- Asus Tinker board
 +    Required root node properties:
 +      - compatible = "asus,rk3288-tinker", "rockchip,rk3288";
  
  - Kylin RK3036 board:
      Required root node properties:
        - compatible = "google,veyron-brain-rev0", "google,veyron-brain",
                     "google,veyron", "rockchip,rk3288";
  
+ - Google Gru (dev-board):
+     Required root node properties:
+       - compatible = "google,gru-rev15", "google,gru-rev14",
+                    "google,gru-rev13", "google,gru-rev12",
+                    "google,gru-rev11", "google,gru-rev10",
+                    "google,gru-rev9", "google,gru-rev8",
+                    "google,gru-rev7", "google,gru-rev6",
+                    "google,gru-rev5", "google,gru-rev4",
+                    "google,gru-rev3", "google,gru-rev2",
+                    "google,gru", "rockchip,rk3399";
  - Google Jaq (Haier Chromebook 11 and more):
      Required root node properties:
        - compatible = "google,veyron-jaq-rev5", "google,veyron-jaq-rev4",
                     "google,veyron-jerry-rev3", "google,veyron-jerry",
                     "google,veyron", "rockchip,rk3288";
  
+ - Google Kevin (Samsung Chromebook Plus):
+     Required root node properties:
+       - compatible = "google,kevin-rev15", "google,kevin-rev14",
+                    "google,kevin-rev13", "google,kevin-rev12",
+                    "google,kevin-rev11", "google,kevin-rev10",
+                    "google,kevin-rev9", "google,kevin-rev8",
+                    "google,kevin-rev7", "google,kevin-rev6",
+                    "google,kevin", "google,gru", "rockchip,rk3399";
  - Google Mickey (Asus Chromebit CS10):
      Required root node properties:
        - compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7",
      Required root node properties:
        - compatible = "mqmaker,miqi", "rockchip,rk3288";
  
 +- Phytec phyCORE-RK3288: Rapid Development Kit
 +    Required root node properties:
 +     - compatible = "phytec,rk3288-pcm-947", "phytec,rk3288-phycore-som", "rockchip,rk3288";
 +
  - Rockchip PX3 Evaluation board:
      Required root node properties:
        - compatible = "rockchip,px3-evb", "rockchip,px3", "rockchip,rk3188";
      Required root node properties:
       - compatible = "rockchip,rk3288-fennec", "rockchip,rk3288";
  
+ - Rockchip RK3328 evb:
+     Required root node properties:
+       - compatible = "rockchip,rk3328-evb", "rockchip,rk3328";
  - Rockchip RK3399 evb:
      Required root node properties:
        - compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
index 13ec0992de0f097184afb9dece9f2962dd16573b,de8b983f2ccd754a3cac1abc46cbb9e6645a1c31..cc9f05d3cbc1a0b08a2a278364332b8114b027a3
@@@ -8,8 -8,6 +8,8 @@@ From RK3368 SoCs, the GRF is divided in
  - SGRF, used for general secure system,
  - PMUGRF, used for always on system
  
 +On RK3328 SoCs, the GRF adds a section for USB2PHYGRF,
 +
  Required Properties:
  
  - compatible: GRF should be one of the following:
@@@ -18,6 -16,7 +18,7 @@@
     - "rockchip,rk3188-grf", "syscon": for rk3188
     - "rockchip,rk3228-grf", "syscon": for rk3228
     - "rockchip,rk3288-grf", "syscon": for rk3288
+    - "rockchip,rk3328-grf", "syscon": for rk3328
     - "rockchip,rk3368-grf", "syscon": for rk3368
     - "rockchip,rk3399-grf", "syscon": for rk3399
  - compatible: PMUGRF should be one of the following:
@@@ -25,8 -24,6 +26,8 @@@
     - "rockchip,rk3399-pmugrf", "syscon": for rk3399
  - compatible: SGRF should be one of the following
     - "rockchip,rk3288-sgrf", "syscon": for rk3288
 +- compatible: USB2PHYGRF should be one of the followings
 +   - "rockchip,rk3328-usb2phy-grf", "syscon": for rk3328
  - reg: physical base address of the controller and length of memory mapped
    region.
  
index ee558477e1642503f2fa194e0b5ca81345130d41,4dcc3a7bcf2d6784486179e73375d0160e673222..f9fe94535b4668e3ac84a746aeca937cd8a8bc0e
@@@ -51,7 -51,6 +51,7 @@@ brcm  Broadcom Corporatio
  buffalo       Buffalo, Inc.
  calxeda       Calxeda
  capella       Capella Microsystems, Inc
 +cascoda       Cascoda, Ltd.
  cavium        Cavium, Inc.
  cdns  Cadence Design Systems Inc.
  ceva  Ceva, Inc.
@@@ -80,7 -79,6 +80,7 @@@ denx  Denx Software Engineerin
  devantech     Devantech, Ltd.
  digi  Digi International Inc.
  digilent      Diglent, Inc.
 +dioo  Dioo Microcircuit Co., Ltd
  dlg   Dialog Semiconductor
  dlink D-Link Corporation
  dmo   Data Modul AG
@@@ -104,7 -102,6 +104,7 @@@ ettus      NI Ettus Researc
  eukrea  EukrĂ©a Electromatique
  everest       Everest Semiconductor Co. Ltd.
  everspin      Everspin Technologies, Inc.
 +exar  Exar Corporation
  excito        Excito
  ezchip        EZchip Semiconductor
  faraday       Faraday Technology Corporation
@@@ -139,6 -136,7 +139,7 @@@ holt       Holt Integrated Circuits, Inc
  honeywell     Honeywell
  hp    Hewlett Packard
  holtek        Holtek Semiconductor, Inc.
+ hwacom        HwaCom Systems Inc.
  i2se  I2SE GmbH
  ibm   International Business Machines (IBM)
  idt   Integrated Device Technologies, Inc.
@@@ -162,6 -160,7 +163,7 @@@ jedec      JEDEC Solid State Technology Asso
  karo  Ka-Ro electronics GmbH
  keithkoep     Keith & Koep GmbH
  keymile       Keymile GmbH
+ khadas        Khadas
  kinetic Kinetic Technologies
  kosagi        Sutajio Ko-Usagi PTE Ltd.
  kyo   Kyocera Corporation
@@@ -181,7 -180,6 +183,7 @@@ maxim      Maxim Integrated Product
  mcube mCube
  meas  Measurement Specialties
  mediatek      MediaTek Inc.
 +megachips     MegaChips
  melexis       Melexis N.V.
  melfas        MELFAS Inc.
  memsic        MEMSIC Inc.
@@@ -216,7 -214,6 +218,7 @@@ newhaven   Newhaven Display Internationa
  ni    National Instruments
  nintendo      Nintendo
  nokia Nokia
 +nordic        Nordic Semiconductor
  nuvoton       Nuvoton Technology Corporation
  nvd   New Vision Display
  nvidia        NVIDIA
@@@ -263,7 -260,6 +265,7 @@@ richtek    Richtek Technology Corporatio
  ricoh Ricoh Co. Ltd.
  rikomagic     Rikomagic Tech Corp. Ltd
  rockchip      Fuzhou Rockchip Electronics Co., Ltd
 +rohm  ROHM Semiconductor Co., Ltd
  samsung       Samsung Semiconductor
  samtec        Samtec/Softing company
  sandisk       Sandisk Corporation
@@@ -271,7 -267,6 +273,7 @@@ sbs        Smart Battery Syste
  schindler     Schindler
  seagate       Seagate Technology PLC
  semtech       Semtech Corporation
 +sensirion     Sensirion AG
  sgx   SGX Sensortech
  sharp Sharp Corporation
  si-en Si-En Technology Ltd.
@@@ -342,7 -337,6 +344,7 @@@ wd Western Digital Corp
  wetek WeTek Electronics, limited.
  wexler        Wexler
  winbond Winbond Electronics corp.
 +winstar       Winstar Display Corp.
  wlf   Wolfson Microelectronics
  wm    Wondermedia Technologies, Inc.
  x-powers      X-Powers
index 0565779e66fafd9755048c2a1c7f8ebc15533eff,6bc606b4d74d6b975bc0bf4eace89e43afe663df..c7f669f5884f910c6e4be44ac1dd09a216cb97f0
                clock-output-names = "osc32k";
        };
  
+       iosc: internal-osc-clk {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <16000000>;
+               clock-accuracy = <300000000>;
+               clock-output-names = "iosc";
+       };
        psci {
                compatible = "arm,psci-0.2";
                method = "smc";
                usbphy: phy@01c19400 {
                        compatible = "allwinner,sun50i-a64-usb-phy";
                        reg = <0x01c19400 0x14>,
 +                            <0x01c1a800 0x4>,
                              <0x01c1b800 0x4>;
                        reg-names = "phy_ctrl",
 +                                  "pmu0",
                                    "pmu1";
                        clocks = <&ccu CLK_USB_PHY0>,
                                 <&ccu CLK_USB_PHY1>;
                        interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                };
+               r_ccu: clock@1f01400 {
+                       compatible = "allwinner,sun50i-a64-r-ccu";
+                       reg = <0x01f01400 0x100>;
+                       clocks = <&osc24M>, <&osc32k>, <&iosc>;
+                       clock-names = "hosc", "losc", "iosc";
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+               r_pio: pinctrl@01f02c00 {
+                       compatible = "allwinner,sun50i-a64-r-pinctrl";
+                       reg = <0x01f02c00 0x400>;
+                       interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&r_ccu 3>, <&osc24M>, <&osc32k>;
+                       clock-names = "apb", "hosc", "losc";
+                       gpio-controller;
+                       #gpio-cells = <3>;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+               };
        };
  };
index 620495a43363928e926b76ff2e654e2aea15dd98,358eef97ec952c37946db2dae513ebe9f1abbd12..436b875060e708340beb6b8332655f259d63e450
                        reg = <0x0 0x10000000 0x0 0x200000>;
                        no-map;
                };
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x0 0xbc00000>;
+                       alignment = <0x0 0x400000>;
+                       linux,cma-default;
+               };
        };
  
        cpus {
                        };
  
                        i2c_A: i2c@8500 {
-                               compatible = "amlogic,meson-gxbb-i2c";
+                               compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
                                reg = <0x0 0x08500 0x0 0x20>;
                                interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
                                #address-cells = <1>;
                        };
  
                        i2c_B: i2c@87c0 {
-                               compatible = "amlogic,meson-gxbb-i2c";
+                               compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
                                reg = <0x0 0x087c0 0x0 0x20>;
                                interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
                                #address-cells = <1>;
                        };
  
                        i2c_C: i2c@87e0 {
-                               compatible = "amlogic,meson-gxbb-i2c";
+                               compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
                                reg = <0x0 0x087e0 0x0 0x20>;
                                interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
                                #address-cells = <1>;
                                status = "disabled";
                        };
  
+                       spifc: spi@8c80 {
+                               compatible = "amlogic,meson-gx-spifc", "amlogic,meson-gxbb-spifc";
+                               reg = <0x0 0x08c80 0x0 0x80>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                        watchdog@98d0 {
                                compatible = "amlogic,meson-gx-wdt", "amlogic,meson-gxbb-wdt";
                                reg = <0x0 0x098d0 0x0 0x10>;
                };
  
                sram: sram@c8000000 {
-                       compatible = "amlogic,meson-gxbb-sram", "mmio-sram";
+                       compatible = "amlogic,meson-gx-sram", "amlogic,meson-gxbb-sram", "mmio-sram";
                        reg = <0x0 0xc8000000 0x0 0x14000>;
  
                        #address-cells = <1>;
                        ranges = <0 0x0 0xc8000000 0x14000>;
  
                        cpu_scp_lpri: scp-shmem@0 {
-                               compatible = "amlogic,meson-gxbb-scp-shmem";
+                               compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
                                reg = <0x13000 0x400>;
                        };
  
                        cpu_scp_hpri: scp-shmem@200 {
-                               compatible = "amlogic,meson-gxbb-scp-shmem";
+                               compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
                                reg = <0x13400 0x400>;
                        };
                };
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>;
  
+                       clkc_AO: clock-controller@040 {
+                               compatible = "amlogic,gx-aoclkc", "amlogic,gxbb-aoclkc";
+                               reg = <0x0 0x00040 0x0 0x4>;
+                               #clock-cells = <1>;
+                               #reset-cells = <1>;
+                       };
                        uart_AO: serial@4c0 {
                                compatible = "amlogic,meson-uart";
                                reg = <0x0 0x004c0 0x0 0x14>;
                                status = "disabled";
                        };
  
+                       i2c_AO: i2c@500 {
+                               compatible = "amlogic,meson-gx-i2c", "amlogic,meson-gxbb-i2c";
+                               reg = <0x0 0x500 0x0 0x20>;
+                               interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               status = "disabled";
+                       };
                        pwm_AO_ab: pwm@550 {
                                compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
                                reg = <0x0 0x00550 0x0 0x10>;
                        };
  
                        ir: ir@580 {
-                               compatible = "amlogic,meson-gxbb-ir";
+                               compatible = "amlogic,meson-gx-ir", "amlogic,meson-gxbb-ir";
                                reg = <0x0 0x00580 0x0 0x40>;
                                interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
                                status = "disabled";
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>;
  
 -                      rng {
 +                      hwrng: rng {
                                compatible = "amlogic,meson-rng";
                                reg = <0x0 0x0 0x0 0x4>;
                        };
                };
  
                hiubus: hiubus@c883c000 {
                        compatible = "simple-bus";
                        reg = <0x0 0xc883c000 0x0 0x2000>;
                               0x0 0xc8834540 0x0 0x4>;
                        interrupts = <0 8 1>;
                        interrupt-names = "macirq";
-                       phy-mode = "rgmii";
                        status = "disabled";
                };
  
                        cvbs_vdac_port: port@0 {
                                reg = <0>;
                        };
+                       /* HDMI-TX output port */
+                       hdmi_tx_port: port@1 {
+                               reg = <1>;
+                               hdmi_tx_out: endpoint {
+                                       remote-endpoint = <&hdmi_tx_in>;
+                               };
+                       };
+               };
+               hdmi_tx: hdmi-tx@c883a000 {
+                       compatible = "amlogic,meson-gx-dw-hdmi";
+                       reg = <0x0 0xc883a000 0x0 0x1c>;
+                       interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+                       /* VPU VENC Input */
+                       hdmi_tx_venc_port: port@0 {
+                               reg = <0>;
+                               hdmi_tx_in: endpoint {
+                                       remote-endpoint = <&hdmi_tx_out>;
+                               };
+                       };
+                       /* TMDS Output */
+                       hdmi_tx_tmds_port: port@1 {
+                               reg = <1>;
+                       };
                };
        };
  };
index a375cb21cc8b10f7efc9b71eb9d64faa3493ae97,4afe1c46ec119bff8ac9cf16697bd92eba43cfb9..86105a69690aa8c66342e7e22e6846a6140203cb
        };
  };
  
- &cbus {
-       spifc: spi@8c80 {
-               compatible = "amlogic,meson-gxbb-spifc";
-               reg = <0x0 0x08c80 0x0 0x80>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-               clocks = <&clkc CLKID_SPI>;
-               status = "disabled";
-       };
- };
  &ethmac {
        clocks = <&clkc CLKID_ETH>,
                 <&clkc CLKID_FCLK_DIV2>,
                        reg-names = "mux", "pull", "gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl_aobus 0 0 14>;
                };
  
                uart_ao_a_pins: uart_ao_a {
                                function = "pwm_ao_b";
                        };
                };
-       };
  
-       clkc_AO: clock-controller@040 {
-               compatible = "amlogic,gxbb-aoclkc";
-               reg = <0x0 0x00040 0x0 0x4>;
-               #clock-cells = <1>;
-               #reset-cells = <1>;
-       };
+               i2s_am_clk_pins: i2s_am_clk {
+                       mux {
+                               groups = "i2s_am_clk";
+                               function = "i2s_out_ao";
+                       };
+               };
  
-       pwm_ab_AO: pwm@550 {
-               compatible = "amlogic,meson-gxbb-pwm";
-               reg = <0x0 0x0550 0x0 0x10>;
-               #pwm-cells = <3>;
-               status = "disabled";
-       };
+               i2s_out_ao_clk_pins: i2s_out_ao_clk {
+                       mux {
+                               groups = "i2s_out_ao_clk";
+                               function = "i2s_out_ao";
+                       };
+               };
  
-       i2c_AO: i2c@500 {
-               compatible = "amlogic,meson-gxbb-i2c";
-               reg = <0x0 0x500 0x0 0x20>;
-               interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
-               clocks = <&clkc CLKID_AO_I2C>;
-               #address-cells = <1>;
-               #size-cells = <0>;
-               status = "disabled";
+               i2s_out_lr_clk_pins: i2s_out_lr_clk {
+                       mux {
+                               groups = "i2s_out_lr_clk";
+                               function = "i2s_out_ao";
+                       };
+               };
+               i2s_out_ch01_ao_pins: i2s_out_ch01_ao {
+                       mux {
+                               groups = "i2s_out_ch01_ao";
+                               function = "i2s_out_ao";
+                       };
+               };
+               i2s_out_ch23_ao_pins: i2s_out_ch23_ao {
+                       mux {
+                               groups = "i2s_out_ch23_ao";
+                               function = "i2s_out_ao";
+                       };
+               };
+               i2s_out_ch45_ao_pins: i2s_out_ch45_ao {
+                       mux {
+                               groups = "i2s_out_ch45_ao";
+                               function = "i2s_out_ao";
+                       };
+               };
+               spdif_out_ao_6_pins: spdif_out_ao_6 {
+                       mux {
+                               groups = "spdif_out_ao_6";
+                               function = "spdif_out_ao";
+                       };
+               };
+               spdif_out_ao_13_pins: spdif_out_ao_13 {
+                       mux {
+                               groups = "spdif_out_ao_13";
+                               function = "spdif_out_ao";
+                       };
+               };
        };
  };
  
                        reg-names = "mux", "pull", "pull-enable", "gpio";
                        gpio-controller;
                        #gpio-cells = <2>;
+                       gpio-ranges = <&pinctrl_periphs 0 14 120>;
                };
  
                emmc_pins: emmc {
                                function = "hdmi_i2c";
                        };
                };
+               i2sout_ch23_y_pins: i2sout_ch23_y {
+                       mux {
+                               groups = "i2sout_ch23_y";
+                               function = "i2s_out";
+                       };
+               };
+               i2sout_ch45_y_pins: i2sout_ch45_y {
+                       mux {
+                               groups = "i2sout_ch45_y";
+                               function = "i2s_out";
+                       };
+               };
+               i2sout_ch67_y_pins: i2sout_ch67_y {
+                       mux {
+                               groups = "i2sout_ch67_y";
+                               function = "i2s_out";
+                       };
+               };
+               spdif_out_y_pins: spdif_out_y {
+                       mux {
+                               groups = "spdif_out_y";
+                               function = "spdif_out";
+                       };
+               };
        };
  };
  
        };
  };
  
+ &apb {
+       mali: gpu@c0000 {
+               compatible = "amlogic,meson-gxbb-mali", "arm,mali-450";
+               reg = <0x0 0xc0000 0x0 0x40000>;
+               interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "gp", "gpmmu", "pp", "pmu",
+                       "pp0", "ppmmu0", "pp1", "ppmmu1",
+                       "pp2", "ppmmu2";
+               clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>;
+               clock-names = "bus", "core";
+               /*
+                * Mali clocking is provided by two identical clock paths
+                * MALI_0 and MALI_1 muxed to a single clock by a glitch
+                * free mux to safely change frequency while running.
+                */
+               assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
+                                 <&clkc CLKID_MALI_0>,
+                                 <&clkc CLKID_MALI>; /* Glitch free mux */
+               assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
+                                        <0>, /* Do Nothing */
+                                        <&clkc CLKID_MALI_0>;
+               assigned-clock-rates = <0>, /* Do Nothing */
+                                      <666666666>,
+                                      <0>; /* Do Nothing */
+       };
+ };
  &i2c_A {
        clocks = <&clkc CLKID_I2C>;
  };
  
+ &i2c_AO {
+       clocks = <&clkc CLKID_AO_I2C>;
+ };
  &i2c_B {
        clocks = <&clkc CLKID_I2C>;
  };
        clock-names = "core", "clkin0", "clkin1";
  };
  
+ &spifc {
+       clocks = <&clkc CLKID_SPI>;
+ };
  &vpu {
        compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
  };
  
 +&hwrng {
 +      clocks = <&clkc CLKID_RNG0>;
 +      clock-names = "core";
 +};
++
+ &hdmi_tx {
+       compatible = "amlogic,meson-gxbb-dw-hdmi", "amlogic,meson-gx-dw-hdmi";
+       resets = <&reset RESET_HDMITX_CAPB3>,
+                <&reset RESET_HDMI_SYSTEM_RESET>,
+                <&reset RESET_HDMI_TX>;
+       reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy";
+       clocks = <&clkc CLKID_HDMI_PCLK>,
+                <&clkc CLKID_CLK81>,
+                <&clkc CLKID_GCLK_VENCI_INT0>;
+       clock-names = "isfr", "iahb", "venci";
+ };
index bcb03fc3266552e22ce855ac81677584d0937e63,b8503fc1bb54a77604c5395455e6a97f3ec8b568..35a309ae3ed87767c9b7525f3c03a1ae6e9d9206
        pcie0: pcie@20020000 {
                compatible = "brcm,iproc-pcie";
                reg = <0 0x20020000 0 0x1000>;
 +              dma-coherent;
  
                #interrupt-cells = <1>;
                interrupt-map-mask = <0 0 0 0>;
        pcie4: pcie@50020000 {
                compatible = "brcm,iproc-pcie";
                reg = <0 0x50020000 0 0x1000>;
 +              dma-coherent;
  
                #interrupt-cells = <1>;
                interrupt-map-mask = <0 0 0 0>;
        pcie8: pcie@60c00000 {
                compatible = "brcm,iproc-pcie-paxc";
                reg = <0 0x60c00000 0 0x1000>;
 +              dma-coherent;
                linux,pci-domain = <8>;
  
                bus-range = <0x0 0x1>;
                              <0x61030000 0x100>;
                        reg-names = "amac_base", "idm_base", "nicpm_base";
                        interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
 +                      dma-coherent;
                        phy-handle = <&gphy0>;
                        phy-mode = "rgmii";
                        status = "disabled";
                        reg = <0x612c0000 0x445>;  /* PDC FS0 regs */
                        interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
                        #mbox-cells = <1>;
 +                      dma-coherent;
                        brcm,rx-status-len = <32>;
                        brcm,use-bcm-hdr;
                };
  
+               crypto0: crypto@612d0000 {
+                       compatible = "brcm,spum-crypto";
+                       reg = <0x612d0000 0x900>;
+                       mboxes = <&pdc0 0>;
+               };
                pdc1: iproc-pdc1@612e0000 {
                        compatible = "brcm,iproc-pdc-mbox";
                        reg = <0x612e0000 0x445>;  /* PDC FS1 regs */
                        interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
                        #mbox-cells = <1>;
 +                      dma-coherent;
                        brcm,rx-status-len = <32>;
                        brcm,use-bcm-hdr;
                };
  
+               crypto1: crypto@612f0000 {
+                       compatible = "brcm,spum-crypto";
+                       reg = <0x612f0000 0x900>;
+                       mboxes = <&pdc1 0>;
+               };
                pdc2: iproc-pdc2@61300000 {
                        compatible = "brcm,iproc-pdc-mbox";
                        reg = <0x61300000 0x445>;  /* PDC FS2 regs */
                        interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
                        #mbox-cells = <1>;
 +                      dma-coherent;
                        brcm,rx-status-len = <32>;
                        brcm,use-bcm-hdr;
                };
  
+               crypto2: crypto@61310000 {
+                       compatible = "brcm,spum-crypto";
+                       reg = <0x61310000 0x900>;
+                       mboxes = <&pdc2 0>;
+               };
                pdc3: iproc-pdc3@61320000 {
                        compatible = "brcm,iproc-pdc-mbox";
                        reg = <0x61320000 0x445>;  /* PDC FS3 regs */
                        interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
                        #mbox-cells = <1>;
 +                      dma-coherent;
                        brcm,rx-status-len = <32>;
                        brcm,use-bcm-hdr;
                };
  
+               crypto3: crypto@61330000 {
+                       compatible = "brcm,spum-crypto";
+                       reg = <0x61330000 0x900>;
+                       mboxes = <&pdc3 0>;
+               };
                dma0: dma@61360000 {
                        compatible = "arm,pl330", "arm,primecell";
                        reg = <0x61360000 0x1000>;
                sata: ahci@663f2000 {
                        compatible = "brcm,iproc-ahci", "generic-ahci";
                        reg = <0x663f2000 0x1000>;
 +                      dma-coherent;
                        reg-names = "ahci";
                        interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>;
                        #address-cells = <1>;
                        compatible = "brcm,sdhci-iproc-cygnus";
                        reg = <0x66420000 0x100>;
                        interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
 +                      dma-coherent;
                        bus-width = <8>;
                        clocks = <&genpll_sw BCM_NS2_GENPLL_SW_SDIO_CLK>;
                        status = "disabled";
                        compatible = "brcm,sdhci-iproc-cygnus";
                        reg = <0x66430000 0x100>;
                        interrupts = <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
 +                      dma-coherent;
                        bus-width = <8>;
                        clocks = <&genpll_sw BCM_NS2_GENPLL_SW_SDIO_CLK>;
                        status = "disabled";
index a07a0c1cd4e6ae1ea07eb08f6387dd964a210da6,950cbd23a5bdff5b7c3bf7ab7bd47436cb08816b..cef5f976bc0f2afea9a85db88827c6e5529a87c4
@@@ -46,6 -46,7 +46,7 @@@
  
  /dts-v1/;
  
+ #include <dt-bindings/gpio/gpio.h>
  #include "armada-372x.dtsi"
  
  / {
                device_type = "memory";
                reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
        };
+       exp_usb3_vbus: usb3-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "usb3-vbus";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               enable-active-high;
+               regulator-always-on;
+               gpio = <&gpio_exp 1 GPIO_ACTIVE_HIGH>;
+       };
+       usb3_phy: usb3-phy {
+               compatible = "usb-nop-xceiv";
+               vcc-supply = <&exp_usb3_vbus>;
+       };
  };
  
  &i2c0 {
        status = "okay";
+       gpio_exp: pca9555@22 {
+               compatible = "nxp,pca9555";
+               gpio-controller;
+               #gpio-cells = <2>;
+               reg = <0x22>;
+               /*
+                * IO0_0: PWR_EN_USB2   IO1_0: PWR_EN_VTT
+                * IO0_1: PWR_EN_USB23  IO1_1: MPCIE_WDISABLE
+                * IO0_2: PWR_EN_SATA   IO1_2: RGMII_DEV_RSTN
+                * IO0_3: PWR_EN_PCIE   IO1_3: SGMII_DEV_RSTN
+                * IO0_4: PWR_EN_SD
+                * IO0_5: PWR_EN_EMMC
+                * IO0_6: PWR_EN_RGMII  IO1_6: SATA_USB3.0_SEL
+                * IO0_7: PWR_EN_SGMII  IO1_7: PWR_MCI_PS
+                */
+       };
+       rtc@68  {
+               /* PT7C4337A from pericom fully compatible with the ds1337 */
+               compatible = "dallas,ds1337";
+               reg = <0x68>;
+       };
  };
  
  /* CON3 */
        status = "okay";
  };
  
+ &sdhci0 {
+       non-removable;
+       bus-width = <8>;
+       mmc-ddr-1_8v;
+       mmc-hs400-1_8v;
+       marvell,pad-type = "fixed-1-8v";
+       status = "okay";
+ };
  /* CON31 */
  &usb3 {
        status = "okay";
+       usb-phy = <&usb3_phy>;
  };
  
  /* CON17 (PCIe) / CON12 (mini-PCIe) */
        status = "okay";
  };
  
 +/* CON27 */
 +&usb2 {
 +      status = "okay";
 +};
 +
 +
  &mdio {
        status = "okay";
        phy0: ethernet-phy@0 {
index 42747b7db6839dcdd96deb64011138fc65c5750a,311b97c80c7bf8f472b62583c3ca51f713360b97..58ae9e095af2a2a986082143789995cd5cc348d7
                        i2c0: i2c@11000 {
                                compatible = "marvell,armada-3700-i2c";
                                reg = <0x11000 0x24>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
                                clocks = <&nb_periph_clk 10>;
                                interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
                                mrvl,i2c-fast-mode;
                        i2c1: i2c@11080 {
                                compatible = "marvell,armada-3700-i2c";
                                reg = <0x11080 0x24>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
                                clocks = <&nb_periph_clk 9>;
                                interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                                mrvl,i2c-fast-mode;
                                compatible = "marvell,armada3700-xhci",
                                "generic-xhci";
                                reg = <0x58000 0x4000>;
-                               interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&sb_periph_clk 12>;
                                status = "disabled";
                        };
  
 +                      usb2: usb@5e000 {
 +                              compatible = "marvell,armada-3700-ehci";
 +                              reg = <0x5e000 0x2000>;
 +                              interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
 +                              status = "disabled";
 +                      };
 +
                        xor@60900 {
                                compatible = "marvell,armada-3700-xor";
                                reg = <0x60900 0x100
                                };
                        };
  
+                       sdhci0: sdhci@d8000 {
+                               compatible = "marvell,armada-3700-sdhci",
+                               "marvell,sdhci-xenon";
+                               reg = <0xd8000 0x300
+                                      0x17808 0x4>;
+                               interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+                               clocks = <&nb_periph_clk 0>;
+                               clock-names = "core";
+                               status = "disabled";
+                       };
                        sata: sata@e0000 {
                                compatible = "marvell,armada-3700-ahci";
                                reg = <0xe0000 0x2000>;
index 5019c8f4acd03f06556f893e23182a0256c8db7c,9e9a4025e79963e14d6311807caf7f565ddb29f0..fe41bf9c301e2f81e18da871b53f41e4f2ca77f0
  
                        };
  
+                       ap_sdhci0: sdhci@6e0000 {
+                               compatible = "marvell,armada-ap806-sdhci";
+                               reg = <0x6e0000 0x300>;
+                               interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
+                               clock-names = "core";
+                               clocks = <&ap_syscon 4>;
+                               dma-coherent;
+                               marvell,xenon-phy-slow-mode;
+                               status = "disabled";
+                       };
                        ap_syscon: system-controller@6f4000 {
                                compatible = "marvell,ap806-system-controller",
                                             "syscon";
                                #clock-cells = <1>;
                                clock-output-names = "ap-cpu-cluster-0",
                                                     "ap-cpu-cluster-1",
 -                                                   "ap-fixed", "ap-mss";
 +                                                   "ap-fixed", "ap-mss",
 +                                                   "ap-emmc";
                                reg = <0x6f4000 0x1000>;
                        };
                };
diff --combined drivers/clk/meson/gxbb.h
index cbd62e46bb5b8fd8be7d73176470a7b7c9fd016c,e5c49923a24b2682d0a32ccecb05c443ea15d200..945aefa4d2512ef3751e03d6793a62231488966b
  /* CLKID_FCLK_DIV4 */
  #define CLKID_FCLK_DIV5                 7
  #define CLKID_FCLK_DIV7                 8
- #define CLKID_GP0_PLL           9
+ /* CLKID_GP0_PLL */
  #define CLKID_MPEG_SEL                  10
  #define CLKID_MPEG_DIV                  11
  /* CLKID_CLK81 */
  /* CLKID_I2C */
  /* #define CLKID_SAR_ADC */
  #define CLKID_SMART_CARD        24
 -#define CLKID_RNG0              25
 +/* CLKID_RNG0 */
  #define CLKID_UART0             26
  #define CLKID_SDHC              27
  #define CLKID_STREAM            28
  #define CLKID_I2S_SPDIF                 35
  /* CLKID_ETH */
  #define CLKID_DEMUX             37
- #define CLKID_AIU_GLUE                  38
+ /* CLKID_AIU_GLUE */
  #define CLKID_IEC958            39
- #define CLKID_I2S_OUT           40
+ /* CLKID_I2S_OUT */
  #define CLKID_AMCLK             41
  #define CLKID_AIFIFO2           42
  #define CLKID_MIXER             43
- #define CLKID_MIXER_IFACE       44
+ /* CLKID_MIXER_IFACE */
  #define CLKID_ADC               45
  #define CLKID_BLKMV             46
- #define CLKID_AIU               47
+ /* CLKID_AIU */
  #define CLKID_UART1             48
  #define CLKID_G2D               49
  /* CLKID_USB0 */
  /* CLKID_GCLK_VENCI_INT0 */
  #define CLKID_GCLK_VENCI_INT    78
  #define CLKID_DAC_CLK           79
- #define CLKID_AOCLK_GATE        80
+ /* CLKID_AOCLK_GATE */
  #define CLKID_IEC958_GATE       81
  #define CLKID_ENC480P           82
  #define CLKID_RNG1              83
  /* CLKID_SAR_ADC_CLK */
  /* CLKID_SAR_ADC_SEL */
  #define CLKID_SAR_ADC_DIV       99
+ /* CLKID_MALI_0_SEL */
+ #define CLKID_MALI_0_DIV       101
+ /* CLKID_MALI_0       */
+ /* CLKID_MALI_1_SEL */
+ #define CLKID_MALI_1_DIV       104
+ /* CLKID_MALI_1       */
+ /* CLKID_MALI */
  
- #define NR_CLKS                         100
+ #define NR_CLKS                         107
  
  /* include the CLKIDs that have been made part of the stable DT binding */
  #include <dt-bindings/clock/gxbb-clkc.h>
index 63f4c2c44a1f712c0cdf72c5d0d492ad7bbf70dd,cce6cb5418f1f36de045bcdebd3c1c5d76e04a50..3190e30b9398ca60037193daf59efd7006bf66ab
  #define CLKID_FCLK_DIV2               4
  #define CLKID_FCLK_DIV3               5
  #define CLKID_FCLK_DIV4               6
+ #define CLKID_GP0_PLL         9
  #define CLKID_CLK81           12
  #define CLKID_MPLL2           15
 -#define CLKID_SPI             34
  #define CLKID_I2C             22
  #define CLKID_SAR_ADC         23
 +#define CLKID_RNG0            25
 +#define CLKID_SPI             34
  #define CLKID_ETH             36
+ #define CLKID_AIU_GLUE                38
+ #define CLKID_I2S_OUT         40
+ #define CLKID_MIXER_IFACE     44
+ #define CLKID_AIU             47
  #define CLKID_USB0            50
  #define CLKID_USB1            51
  #define CLKID_USB             55
  #define CLKID_USB0_DDR_BRIDGE 65
  #define CLKID_SANA            69
  #define CLKID_GCLK_VENCI_INT0 77
+ #define CLKID_AOCLK_GATE      80
  #define CLKID_AO_I2C          93
  #define CLKID_SD_EMMC_A               94
  #define CLKID_SD_EMMC_B               95
  #define CLKID_SD_EMMC_C               96
  #define CLKID_SAR_ADC_CLK     97
  #define CLKID_SAR_ADC_SEL     98
+ #define CLKID_MALI_0_SEL      100
+ #define CLKID_MALI_0          102
+ #define CLKID_MALI_1_SEL      103
+ #define CLKID_MALI_1          105
+ #define CLKID_MALI            106
  
  #endif /* __GXBB_CLKC_H */
This page took 0.146765 seconds and 4 git commands to generate.