Received: by 2002:ac0:aed5:0:0:0:0:0 with SMTP id t21csp289929imb; Fri, 1 Mar 2019 00:16:50 -0800 (PST) X-Google-Smtp-Source: APXvYqwPU7ejl4KQvl5fwYt49HpR1qnt8MXG6QuiPMSWSmTItCFKrj1htdCP2ygqkIxW/syTcY0c X-Received: by 2002:a63:fa48:: with SMTP id g8mr3661514pgk.203.1551428210331; Fri, 01 Mar 2019 00:16:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551428210; cv=none; d=google.com; s=arc-20160816; b=n4hYJMVMDjw4QbRZ2EYA/92AVIlLNHvGxev10SqtcTJtW6HBwhLl3MrlR2Wc2PnJ95 8aWiFlTB3BVIq6vPqAAR7hfky/eAAt7KGaGrm7L3/ipfYqbaFo3F+biKTyny0vnewWbv +QEZT2JbLFwWlfEShIjWhCQugO+I8pTuTRXrheyAfa3DHJQAWDUxpEdIri5i5Dwflokl 4akZ9RmuqERVU/YSQTlMo6Zz4SZRAjo36rScYz5z9Ob4uYP/Zh+QnvF752AjP1jzjp4u qmYNLlLsMmLyJI+G/IpS3IVcN6i+AES5ZpRhOYZszV/LwwZ0t0y1ssTB6OqGzknGFCGi KYQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=kxOOnMNPql2f9Q3ho/uMBX9voNPA/LlMt654qkXK050=; b=mhh72V90EKT4/w/NLLjJ3h89hY927NyJCHS6QAA+3A6+YauMYK+KHBe25QVmqxYg5j TyXIM6kNisg3/Caohs1ScgDG9KIsjcKCiWJozU+05+SeZjELlon4RrBEZBMWBr7122pI qiOrt5G43r31vKffVnmSOYZBWvXww2Yt9CFiQrl2ARur7nfup8hjxyVn8jvxmHYdSyj1 EK/ZRAodKsTMyePKzmEp3zqkolb1CYMyzykMGUGjf/exXNTa1N/jO5tuOoUMYfQ4Sprl CDKq/RjN8AIY/w7Ozv/2N6wHmw50LdBqxGfZGF0acuBNaQI7WGax8E7/6WcBl5em/oWy ciZQ== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j4si19496626pll.286.2019.03.01.00.16.34; Fri, 01 Mar 2019 00:16:50 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732988AbfCAHwq (ORCPT + 99 others); Fri, 1 Mar 2019 02:52:46 -0500 Received: from inva021.nxp.com ([92.121.34.21]:38080 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728235AbfCAHwq (ORCPT ); Fri, 1 Mar 2019 02:52:46 -0500 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 02A7A200023; Fri, 1 Mar 2019 08:52:44 +0100 (CET) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 019F4200005; Fri, 1 Mar 2019 08:52:41 +0100 (CET) Received: from titan.ap.freescale.net (TITAN.ap.freescale.net [10.192.208.233]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 33DA44029B; Fri, 1 Mar 2019 15:52:37 +0800 (SGT) From: Alison Wang To: shawnguo@kernel.org, leoyang.li@nxp.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: alison.wang@nxp.com Subject: [PATCH v3] arm64: dts: ls1028a: Add Audio DT nodes Date: Fri, 1 Mar 2019 15:46:32 +0800 Message-Id: <20190301074632.887-1-alison.wang@nxp.com> X-Mailer: git-send-email 2.14.1 X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds Audio DT nodes for LS1028ARDB and LS1028AQDS boards. Signed-off-by: Alison Wang --- Changes in v3: - Sort EDMA node in unit-address. Changes in v2: - Modify some nodes' names. - Use GIC_SPI and IRQ_TYPE_LEVEL_HIGH. arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts | 62 ++++++++++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts | 63 +++++++++++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 57 +++++++++++++++++++ 3 files changed, 182 insertions(+), 0 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts index 14c79f4..b359068 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts @@ -32,6 +32,49 @@ device_type = "memory"; reg = <0x0 0x80000000 0x1 0x00000000>; }; + + sys_mclk: clock-mclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <25000000>; + }; + + reg_1p8v: regulator-1p8v { + compatible = "regulator-fixed"; + regulator-name = "1P8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Headphone", "Headphone Jack", + "Speaker", "Speaker Ext", + "Line", "Line In Jack"; + simple-audio-card,routing = + "MIC_IN", "Microphone Jack", + "Microphone Jack", "Mic Bias", + "LINE_IN", "Line In Jack", + "Headphone Jack", "HP_OUT", + "Speaker Ext", "LINE_OUT"; + + simple-audio-card,cpu { + sound-dai = <&sai1>; + frame-master; + bitclock-master; + }; + + simple-audio-card,codec { + sound-dai = <&sgtl5000>; + frame-master; + bitclock-master; + system-clock-frequency = <25000000>; + }; + }; }; &duart0 { @@ -89,5 +132,24 @@ reg = <0x57>; }; }; + + i2c@5 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0x5>; + + sgtl5000: audio-codec@a { + #sound-dai-cells = <0>; + compatible = "fsl,sgtl5000"; + reg = <0xa>; + VDDA-supply = <®_1p8v>; + VDDIO-supply = <®_1p8v>; + clocks = <&sys_mclk>; + }; + }; }; }; + +&sai1 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts index fdeb417..50ca51a 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts @@ -28,6 +28,49 @@ device_type = "memory"; reg = <0x0 0x80000000 0x1 0x0000000>; }; + + sys_mclk: clock-mclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <25000000>; + }; + + reg_1p8v: regulator-1p8v { + compatible = "regulator-fixed"; + regulator-name = "1P8V"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Headphone", "Headphone Jack", + "Speaker", "Speaker Ext", + "Line", "Line In Jack"; + simple-audio-card,routing = + "MIC_IN", "Microphone Jack", + "Microphone Jack", "Mic Bias", + "LINE_IN", "Line In Jack", + "Headphone Jack", "HP_OUT", + "Speaker Ext", "LINE_OUT"; + + simple-audio-card,cpu { + sound-dai = <&sai4>; + frame-master; + bitclock-master; + }; + + simple-audio-card,codec { + sound-dai = <&sgtl5000>; + frame-master; + bitclock-master; + system-clock-frequency = <25000000>; + }; + }; }; &i2c0 { @@ -39,6 +82,22 @@ #address-cells = <1>; #size-cells = <0>; + i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0x1>; + + sgtl5000: audio-codec@a { + #sound-dai-cells = <0>; + compatible = "fsl,sgtl5000"; + reg = <0xa>; + VDDA-supply = <®_1p8v>; + VDDIO-supply = <®_1p8v>; + clocks = <&sys_mclk>; + sclk-strength = <3>; + }; + }; + i2c@2 { #address-cells = <1>; #size-cells = <0>; @@ -71,3 +130,7 @@ &duart1 { status = "okay"; }; + +&sai4 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi index 36ef9c5..c085833 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi @@ -240,6 +240,21 @@ status = "disabled"; }; + edma0: dma-controller@22c0000 { + #dma-cells = <2>; + compatible = "fsl,vf610-edma"; + reg = <0x0 0x22c0000 0x0 0x10000>, + <0x0 0x22d0000 0x0 0x10000>, + <0x0 0x22e0000 0x0 0x10000>; + interrupts = , + ; + interrupt-names = "edma-tx", "edma-err"; + dma-channels = <32>; + clock-names = "dmamux0", "dmamux1"; + clocks = <&clockgen 4 1>, + <&clockgen 4 1>; + }; + gpio1: gpio@2300000 { compatible = "fsl,qoriq-gpio"; reg = <0x0 0x2300000 0x0 0x10000>; @@ -340,5 +355,47 @@ , , , ; }; + + sai1: audio-controller@f100000 { + #sound-dai-cells = <0>; + compatible = "fsl,vf610-sai"; + reg = <0x0 0xf100000 0x0 0x10000>; + interrupts = ; + clocks = <&clockgen 4 1>, <&clockgen 4 1>, + <&clockgen 4 1>, <&clockgen 4 1>; + clock-names = "bus", "mclk1", "mclk2", "mclk3"; + dma-names = "tx", "rx"; + dmas = <&edma0 1 4>, + <&edma0 1 3>; + status = "disabled"; + }; + + sai2: audio-controller@f110000 { + #sound-dai-cells = <0>; + compatible = "fsl,vf610-sai"; + reg = <0x0 0xf110000 0x0 0x10000>; + interrupts = ; + clocks = <&clockgen 4 1>, <&clockgen 4 1>, + <&clockgen 4 1>, <&clockgen 4 1>; + clock-names = "bus", "mclk1", "mclk2", "mclk3"; + dma-names = "tx", "rx"; + dmas = <&edma0 1 6>, + <&edma0 1 5>; + status = "disabled"; + }; + + sai4: audio-controller@f130000 { + #sound-dai-cells = <0>; + compatible = "fsl,vf610-sai"; + reg = <0x0 0xf130000 0x0 0x10000>; + interrupts = ; + clocks = <&clockgen 4 1>, <&clockgen 4 1>, + <&clockgen 4 1>, <&clockgen 4 1>; + clock-names = "bus", "mclk1", "mclk2", "mclk3"; + dma-names = "tx", "rx"; + dmas = <&edma0 1 10>, + <&edma0 1 9>; + status = "disabled"; + }; }; }; -- 1.7.1