Received: by 10.223.185.116 with SMTP id b49csp779444wrg; Fri, 23 Feb 2018 06:43:41 -0800 (PST) X-Google-Smtp-Source: AH8x225Om/QMscwTisw9HJIAnIYTnZzY/QLZswwagobg+unL94n5O9E7arQVGe2WD87dxXyE95aC X-Received: by 10.99.126.17 with SMTP id z17mr1644666pgc.218.1519397021712; Fri, 23 Feb 2018 06:43:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519397021; cv=none; d=google.com; s=arc-20160816; b=CT580VFRwZ1GMoUbhR5vK/P70ZhZQQnY/GD3nL4EUNeoI6shM7xan4L7QDFlWWwIC+ E6K1+rxT5vPiQuSgq4ViEjb3c0C9Pkdj8emO0/07k/SSl1NSFYjEzB8qfOr9MEHE8CZo e8e0M1tVDu/D+ZLvhp/WcXx56SM/BTGxR5JFcGirOgv1g3i0rIuBUddHD1WmL+1hnQiN 8sei0kz+Bc0ch2MbYBbLvgAB/mUArrwJt5eEX6dWY6LpKWTcyi+iJp4MbvYl0l0NCK0h +w4LDmNqcLJf6Zjxlx/Qn1yT7tvtxxIGzJKpX9aFvRfvJ5CbH6b5KnjHZgnPnmFwg7zD uEFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=TwNRgkTXrAPbhJlD/RKbaN59trr7alw7zlYrxbAnB3M=; b=X28CUq01EL26zn3I7zw08PHKLd5w++E5R1F+Px6QSMKkA0RGCVdXhn7kioC8fRfqEU ba3gvYhB+ZUmuWghQDvCU570QDQ5n9T+DwTKiN7juxxg++zre3p1isBnwzQywoQSTvqL FwrR7XNeX5DXpiuD5Mqq6k10EvulS2Lo5BDIAvpcsVILNO8GPZSv2iUWzQPnoDowvvN6 +Mr4hawWKLC1c3OM1fXcnU+yXx+IgjoOG1XmZtE0YX7BBxalZf/i6RIyeEvmhCq6lwGj vjD8nMNjqW/poiOO76+whrh5U8BmvbgA8B2CXO9I7CvX+9s9HGkP0W4LjB09K0FVz+/t fDZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@monstr-eu.20150623.gappssmtp.com header.s=20150623 header.b=bQKFxE2m; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w13si304080pge.254.2018.02.23.06.43.26; Fri, 23 Feb 2018 06:43:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@monstr-eu.20150623.gappssmtp.com header.s=20150623 header.b=bQKFxE2m; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751831AbeBWOlx (ORCPT + 99 others); Fri, 23 Feb 2018 09:41:53 -0500 Received: from mail-wr0-f193.google.com ([209.85.128.193]:42237 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751662AbeBWOkk (ORCPT ); Fri, 23 Feb 2018 09:40:40 -0500 Received: by mail-wr0-f193.google.com with SMTP id k9so14324033wre.9 for ; Fri, 23 Feb 2018 06:40:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monstr-eu.20150623.gappssmtp.com; s=20150623; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=TwNRgkTXrAPbhJlD/RKbaN59trr7alw7zlYrxbAnB3M=; b=bQKFxE2mzZd2zpL7dZlnkll+3pwMX4hSEBYeXg1kFt2qu6U3MyhfZa3TINtuNgi+kW /4VT1BqKcxQYLVJF0Bg+R+GI6AiUhovEHAPmqfMTXjpNKEeiynpb7qMYDS+FzYPh9Vh2 1CHPFOgFvKDtpc+MRR5V4qyUbxO60qCVCagy8DO7jKhBZ33xc3Ry1Fe+ksQ8nf/NqYIc Y8LLs8v/9sa+DEsH/GfwbzAOhXPG+Qn9P+4GsJvMV9X00R4rwH0P+IQrdVh8Cu8OJCuz JGpV265embjGXl1fcnEK9/LkA/zNpnzNbjN4ROR6ySu+NOLDLVH1JA+UPabaTNVBfdE6 9yew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:in-reply-to:references; bh=TwNRgkTXrAPbhJlD/RKbaN59trr7alw7zlYrxbAnB3M=; b=bWzbR9HIMbqLuJm0TB6TZYMNERzSPy1/wOeRy5O5ui4FXMWWqugYLVoQdbC4NGYWXY mPg668Nlz5XsJvqEHhL+Y8Q0wZcxDmIKrkRocM8UWgGQyQiMl2IDWiJagtlb9wHsNCFr 6Ds8mVcm7xft+M5ehFx/Bpw18HP3YbBjOm04PGKfHkCEMOK9j5ezws6XXi//870g5FGq dbm7hQpd8Xxqz/UweDf5AhddOo6ZvF+Wt3+Lyo2ZuQvMbD7xLGo7gJclAzxAIyQN7bGz aA+yCsBTBsyWipZoVpIjYDUxpK7T51oLj89iIrevCDJNSAohqEKW/d5Sb9Ak3qNiLh2g g2TA== X-Gm-Message-State: APf1xPAcIOUO7cNoozEzcOFcTpUmru7Nr3iiukKQJKKTfds9PiT5uMZO crKkS0bREquC3KEUeu+GBTG/og== X-Received: by 10.223.169.4 with SMTP id u4mr1732467wrc.170.1519396838678; Fri, 23 Feb 2018 06:40:38 -0800 (PST) Received: from localhost (nat-35.starnet.cz. [178.255.168.35]) by smtp.gmail.com with ESMTPSA id x107sm2408238wrb.97.2018.02.23.06.40.37 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Fri, 23 Feb 2018 06:40:38 -0800 (PST) From: Michal Simek To: devicetree@vger.kernel.org Cc: monstr@monstr.eu, Masahiro Yamada , linux-kernel@vger.kernel.org, Arnd Bergmann , Will Deacon , Catalin Marinas , Rob Herring , Mark Rutland , linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 4/8] arm64: zynqmp: Add support for Xilinx zcu104-revA Date: Fri, 23 Feb 2018 15:40:26 +0100 Message-Id: <68acadbb82fb0a8ac5abb9b1e156b9a9cf5b0f11.1519396753.git.michal.simek@xilinx.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Xilinx zcu104 is another customer board. It is sort of zcu102 clone with some differences. Signed-off-by: Michal Simek --- Changes in v2: - Remove i2c mw u-boot commands - Record compatible string to xilinx.txt Documentation/devicetree/bindings/arm/xilinx.txt | 3 + arch/arm64/boot/dts/xilinx/Makefile | 1 + arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts | 197 ++++++++++++++++++++++ 3 files changed, 201 insertions(+) create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts diff --git a/Documentation/devicetree/bindings/arm/xilinx.txt b/Documentation/devicetree/bindings/arm/xilinx.txt index 2b922ec3c82a..a9ce08a68711 100644 --- a/Documentation/devicetree/bindings/arm/xilinx.txt +++ b/Documentation/devicetree/bindings/arm/xilinx.txt @@ -26,3 +26,6 @@ Additional compatible strings: "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102" "xlnx,zynqmp-zcu102-revB", "xlnx,zynqmp-zcu102" "xlnx,zynqmp-zcu102-rev1.0", "xlnx,zynqmp-zcu102" + +- Xilinx evaluation board zcu104 + "xlnx,zynqmp-zcu104-revA", "xlnx,zynqmp-zcu104" diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile index 24e3ce801304..1c039e59c7c3 100644 --- a/arch/arm64/boot/dts/xilinx/Makefile +++ b/arch/arm64/boot/dts/xilinx/Makefile @@ -4,3 +4,4 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu100-revC.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revB.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0.dtb +dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revA.dtb diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts new file mode 100644 index 000000000000..89d26f56514b --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * dts file for Xilinx ZynqMP ZCU104 + * + * (C) Copyright 2017 - 2018, Xilinx, Inc. + * + * Michal Simek + */ + +/dts-v1/; + +#include "zynqmp.dtsi" +#include "zynqmp-clk.dtsi" +#include + +/ { + model = "ZynqMP ZCU104 RevA"; + compatible = "xlnx,zynqmp-zcu104-revA", "xlnx,zynqmp-zcu104", "xlnx,zynqmp"; + + aliases { + ethernet0 = &gem3; + gpio0 = &gpio; + i2c0 = &i2c1; + mmc0 = &sdhci1; + rtc0 = &rtc; + serial0 = &uart0; + serial1 = &uart1; + serial2 = &dcc; + usb0 = &usb0; + }; + + chosen { + bootargs = "earlycon"; + stdout-path = "serial0:115200n8"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x80000000>; + }; +}; + +&can1 { + status = "okay"; +}; + +&dcc { + status = "okay"; +}; + +&gem3 { + status = "okay"; + phy-handle = <&phy0>; + phy-mode = "rgmii-id"; + phy0: phy@c { + reg = <0xc>; + ti,rx-internal-delay = <0x8>; + ti,tx-internal-delay = <0xa>; + ti,fifo-depth = <0x1>; + }; +}; + +&gpio { + status = "okay"; +}; + +&i2c1 { + status = "okay"; + clock-frequency = <400000>; + + /* Another connection to this bus via PL i2c via PCA9306 - u45 */ + i2cswitch@74 { /* u34 */ + compatible = "nxp,pca9548"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x74>; + i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + /* + * IIC_EEPROM 1kB memory which uses 256B blocks + * where every block has different address. + * 0 - 256B address 0x54 + * 256B - 512B address 0x55 + * 512B - 768B address 0x56 + * 768B - 1024B address 0x57 + */ + eeprom@54 { /* u23 */ + compatible = "atmel,24c08"; + reg = <0x54>; + #address-cells = <1>; + #size-cells = <1>; + }; + }; + + i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + clock_8t49n287: clock-generator@6c { /* 8T49N287 - u182 */ + reg = <0x6c>; + }; + }; + + i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + irps5401_43: irps54012@43 { /* IRPS5401 - u175 */ + reg = <0x43>; + }; + irps5401_4d: irps54012@4d { /* IRPS5401 - u180 */ + reg = <0x4d>; + }; + }; + + i2c@4 { + #address-cells = <1>; + #size-cells = <0>; + reg = <4>; + tca6416_u97: gpio@21 { + compatible = "ti,tca6416"; + reg = <0x21>; + gpio-controller; + #gpio-cells = <2>; + /* + * IRQ not connected + * Lines: + * 0 - IRPS5401_ALERT_B + * 1 - HDMI_8T49N241_INT_ALM + * 2 - MAX6643_OT_B + * 3 - MAX6643_FANFAIL_B + * 5 - IIC_MUX_RESET_B + * 6 - GEM3_EXP_RESET_B + * 7 - FMC_LPC_PRSNT_M2C_B + * 4, 10 - 17 - not connected + */ + }; + }; + + i2c@5 { + #address-cells = <1>; + #size-cells = <0>; + reg = <5>; + }; + + i2c@7 { + #address-cells = <1>; + #size-cells = <0>; + reg = <7>; + }; + + /* 3, 6 not connected */ + }; +}; + +&rtc { + status = "okay"; +}; + +&sata { + status = "okay"; + /* SATA OOB timing settings */ + ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; + ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; + ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; + ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; + ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; + ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; + ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; + ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; +}; + +/* SD1 with level shifter */ +&sdhci1 { + status = "okay"; + no-1-8-v; + disable-wp; +}; + +&uart0 { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +/* ULPI SMSC USB3320 */ +&usb0 { + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; -- 1.9.1