From patchwork Thu Jun 27 15:00:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Piotr Wojtaszczyk X-Patchwork-Id: 810007 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7B0E9C2BD09 for ; Mon, 1 Jul 2024 12:32:37 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 8144E2C02; Mon, 1 Jul 2024 14:32:25 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 8144E2C02 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1719837155; bh=7o3IDq7dMnCJpDffLvbMK0yGcnevSZjTsnurFpsaims=; h=From:To:Subject:Date:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=QEG99Oc3VUOJNLBnVj7LSj0WBnZYwLoZYGCivgWkZW1GXL4X9H2B6yWohzpB4i1FI CqMZB8hcbU13SveJ7hPrp9/7M6czDj0uAVS46ydYc6rhSh7Qd2hv9e5F+xH8KXgyp+ DkhvoKOBdypU9QYift/aVA4xo5OC2kkXHenWzolo= Received: by alsa1.perex.cz (Postfix, from userid 50401) id A0711F8072A; Mon, 1 Jul 2024 14:23:10 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 2E960F80715; Mon, 1 Jul 2024 14:23:10 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id D3C08F80423; Thu, 27 Jun 2024 17:01:20 +0200 (CEST) Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id ACDE1F800ED for ; Thu, 27 Jun 2024 17:01:05 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz ACDE1F800ED Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key, unprotected) header.d=timesys-com.20230601.gappssmtp.com header.i=@timesys-com.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=06sTh3A3 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-57d4ee2aaabso2069689a12.2 for ; Thu, 27 Jun 2024 08:01:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timesys-com.20230601.gappssmtp.com; s=20230601; t=1719500464; x=1720105264; darn=alsa-project.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=1Y7Vm7BbdgByjIx2Tu22DX4H6N9MAc4rl5R9/LnNe7E=; b=06sTh3A3Brj4JV1HLolkcE7sB86oqVvxva1D6xOnyqvLt4AJdIyg2WzhzySD8zC40O Ly9hhsQtcQ2g+IYa9FKMjPujuL6YGvcK1fYuX47vgpGaEVDphtcgDI1D3ufmn92w2AMZ 1LzS+ZHl9EsluRuC9c0DE5X/1CoUIV+2ic0cM/KBPNx1cfKPVugz2cucFry8cRkvRsg3 p7OjZ0X7cDYCC6e0vgjRLP5J81C1zJe4vHYadCGBunBZ7HjNl5h0a23QDOtmElKEPy5G QPIPeQ9n3hQDUPfsM6OeHKyT6xU2Bfpx2874cMeRgIXOdao+K4ewsjJDn3KOUESEukh/ bdag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719500464; x=1720105264; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1Y7Vm7BbdgByjIx2Tu22DX4H6N9MAc4rl5R9/LnNe7E=; b=bVz8QMy029WwPGI/w7Z3+HWmmdI7nzZE/6lC6q02pwHaicDl+6dmzgw5EkIRtWSAxn 0XZSibdQWI6WOfwETFUfx9yHJoKwPToSEIx6Aytgmk4/utZjrxHfJPj37SSfZkovWEg6 lo/ovUtiqWo1EN3+XXpCf87o4DqkTewRn4DCoXk/9BU6RseqVekY8xSMPoZv5XeqXXzh p8y1csMTCvlAoGC7+WlIAYnDtmPdvWYxaIbaK6lpOait50H/lRwuzxV2IGkYv4fQuK39 1mOPSNESqh24hd6cCtnrSqPxNuSTfLvp9aWZ/gF8z1UMw2IsewOmfwaueREJ2N2DJ4Lf dyjg== X-Forwarded-Encrypted: i=1; AJvYcCXxVBPOiHU6CJBi6GYDjs0eD71wAE77/Mf/ikrk7/Q3+4yge7eeaPtEog+f3iazacEMOWg6ing/RBk4zVVFhS+9GbipHk65BnkQU8s= X-Gm-Message-State: AOJu0YxQVTZUG2j4ovD+Nlg6AxgtekmV9ESr7EpSouv2Z/CtLJulKpM+ gTbPaFTqyFGrHYg/chXffTmXWRCvrpyd6wSQDIFGPSbyysi/PtP6iBbu6U6oIFg= X-Google-Smtp-Source: AGHT+IFg9G5Qjr/NcWh7E3bulgGsi4BkD4axF+tIY1ZpcMPEHOlYWD36DNqKEQ2BHT5YOG2H3Pk0zw== X-Received: by 2002:a17:906:c2d5:b0:a6f:b9d3:343a with SMTP id a640c23a62f3a-a7245df6b0dmr710793766b.71.1719500464181; Thu, 27 Jun 2024 08:01:04 -0700 (PDT) Received: from localhost.localdomain ([91.216.213.152]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a729d7ca289sm67189066b.222.2024.06.27.08.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jun 2024 08:01:03 -0700 (PDT) From: Piotr Wojtaszczyk To: Vinod Koul , Rob Herring , Krzysztof Kozlowski , Conor Dooley , "J.M.B. Downing" , Piotr Wojtaszczyk , Vladimir Zapolskiy , Liam Girdwood , Mark Brown , Russell King , Michael Turquette , Stephen Boyd , Andi Shyti , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Jaroslav Kysela , Takashi Iwai , Arnd Bergmann , Yangtao Li , Li Zetao , Chancel Liu , Michael Ellerman , Corentin Labbe , dmaengine@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org, linux-sound@vger.kernel.org, linux-clk@vger.kernel.org, linux-i2c@vger.kernel.org, linux-mtd@lists.infradead.org Subject: [Patch v5 00/12] Add audio support for LPC32XX CPUs Date: Thu, 27 Jun 2024 17:00:18 +0200 Message-Id: <20240627150046.258795-1-piotr.wojtaszczyk@timesys.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-MailFrom: piotr.wojtaszczyk@timesys.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1 Message-ID-Hash: ZS3SWJFC6QCQ6HWVKXZMLJQ7VURWBPCQ X-Message-ID-Hash: ZS3SWJFC6QCQ6HWVKXZMLJQ7VURWBPCQ X-Mailman-Approved-At: Mon, 01 Jul 2024 12:23:04 +0000 X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This pach set is to bring back audio to machines with a LPC32XX CPU. The legacy LPC32XX SoC used to have audio spport in linux 2.6.27. The support was dropped due to lack of interest from mainaeners. Piotr Wojtaszczyk (12): dt-bindings: dma: pl08x: Add dma-cells description dt-bindings: dma: Add lpc32xx DMA mux binding ASoC: dt-bindings: lpc32xx: Add lpc32xx i2s DT binding ARM: dts: lpc32xx: Use simple-mfd for clock control block ARM: dts: lpc32xx: Add missing dma properties ARM: dts: lpc32xx: Add missing i2s properties clk: lpc32xx: initialize regmap using parent syscon dmaengine: Add dma router for pl08x in LPC32XX SoC ARM: lpc32xx: Remove pl08x platform data in favor for device tree mtd: rawnand: lpx32xx: Request DMA channels using DT entries ASoC: fsl: Add i2s and pcm drivers for LPC32xx CPUs i2x: pnx: Fix potential deadlock warning from del_timer_sync() call in isr .../devicetree/bindings/dma/arm-pl08x.yaml | 7 + .../bindings/dma/nxp,lpc3220-dmamux.yaml | 49 +++ .../bindings/sound/nxp,lpc3220-i2s.yaml | 73 ++++ MAINTAINERS | 20 + arch/arm/boot/dts/nxp/lpc/lpc32xx.dtsi | 53 ++- arch/arm/mach-lpc32xx/phy3250.c | 54 --- drivers/clk/Kconfig | 1 + drivers/clk/nxp/clk-lpc32xx.c | 26 +- drivers/dma/Kconfig | 9 + drivers/dma/Makefile | 1 + drivers/dma/lpc32xx-dmamux.c | 195 +++++++++ drivers/i2c/busses/i2c-pnx.c | 48 +-- drivers/mtd/nand/raw/lpc32xx_mlc.c | 26 +- drivers/mtd/nand/raw/lpc32xx_slc.c | 26 +- sound/soc/fsl/Kconfig | 7 + sound/soc/fsl/Makefile | 2 + sound/soc/fsl/lpc3xxx-i2s.c | 375 ++++++++++++++++++ sound/soc/fsl/lpc3xxx-i2s.h | 79 ++++ sound/soc/fsl/lpc3xxx-pcm.c | 72 ++++ 19 files changed, 993 insertions(+), 130 deletions(-) create mode 100644 Documentation/devicetree/bindings/dma/nxp,lpc3220-dmamux.yaml create mode 100644 Documentation/devicetree/bindings/sound/nxp,lpc3220-i2s.yaml create mode 100644 drivers/dma/lpc32xx-dmamux.c create mode 100644 sound/soc/fsl/lpc3xxx-i2s.c create mode 100644 sound/soc/fsl/lpc3xxx-i2s.h create mode 100644 sound/soc/fsl/lpc3xxx-pcm.c