From patchwork Wed Mar 3 08:11:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steen Hegelund X-Patchwork-Id: 12114001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C13E0C433DB for ; Wed, 3 Mar 2021 18:07:57 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 616A564EEB for ; Wed, 3 Mar 2021 18:07:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 616A564EEB Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=x9rvtTWfjvCaAcKM9WRqVR9Kdyh+luN83cT6vDzbsEU=; b=qT2eNKhH/W1dpRTa6B6zttOtIr EJQTP2y41zAxRqRJiGg7VROJY3lsjEgXiLgmnvyp1HMpUMgXzlif17Rr+f17OMxXs4AKMor9tuzTS zwhnNlsGS0e+mS2Q+sKcEcI1bOtq+mQFPk8I+MuG4pq0DEtIg7w2VGYUa8GuJ+UA0Vth3p3sYcy/T 9lMiBBJmuU7YiQ4HgVpDoS+3HTzgDYgkvFzaol1aWPGkC06v6yhD+My4loBT1VbXcz2IZGrcFpRSM YdscHtGMhWB8r2JMR+ldQ8lGrTOkdv0JFJlK8ub/Hc9i5Uq1BYFf26sOsFIRSdLfkfsWnE1JaERXh 82THwshg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHVsa-005wVD-6c; Wed, 03 Mar 2021 18:05:48 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSyO-005GNJ-Ee for linux-arm-kernel@desiato.infradead.org; Wed, 03 Mar 2021 14:59:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Type:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:CC:To:From:Sender:Reply-To:Content-ID: Content-Description:In-Reply-To:References; bh=5zNIgfHHrt8xpR3KLKJgS6k3Js6fT9JAQ2RPfWkQtho=; b=Di/c6kU1+fc8U/M9o4xpzUVk4c A5/DYJplpvno308QDbpSA/jNvhp8H7h1LTaG9ek8hLGtwnM8VN0e6Vuozm8yck5zIu5REjzky+IxI r/1pK2owvD2f+WwIvAVnLe7LsR9T0htD67c3V7R4YoRczRstNOOSZrf7krokHVNfeYCinvLgtUET+ 8WtnRDYdOoj6FHgD/xFxYF384ZPGWaayqbcttYJ1sSACWL036RfL+er/Rq4FhrOMVftH0FaRZHztg A6eUV9o8tFoXMPADvLSiNxGM5XlldqTHJeGkVxqaDpVFJP5moUMbtTuENENQoyRBf+2DMa9eyDrZd Bc2zOWTg==; Received: from esa.microchip.iphmx.com ([68.232.154.123]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHMd8-001npT-3H for linux-arm-kernel@lists.infradead.org; Wed, 03 Mar 2021 08:13:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1614759194; x=1646295194; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=75yzkttZViIFf7HKfyDkvSJk7HqKwKtL3phFRtFKS0o=; b=NDO94yjqbRbLn4o03Y84U1sfO/TXUD5aOlPRRZzP/zCPTfGq8iYe+LI5 2IjoWaNtgM6jdTNIyl5+v/VvkIFnLFi4uq4Q3uoukK8qAGzlrAhyPYsVH c7ma20UrT9Snn19S9080fhyjuQZUk/19qKDxGM1ei2b7/fyifdUyGsUA0 BMZ3hFJVnNgAa3GS15R+S34w0u/S+Wo7tBbmYt2JyLtuWrncttrDAIArC xu62gncG9A0En+8K8jEvVJT4fGt7ly9OlGZ4s8E0z3kEu6oSXQinns7Xs couqwd/HtQqZkrxT1hhmrecXSlspSb8N0AZhB2kb7jKgR5LZvmZ1RYRK5 w==; IronPort-SDR: tdgsqI3FFVjCezGgghywQtZMA5UOVN7jk0XbRY1vY7zSVCf7Pc3yR0okBUm6259tJ1H8y6hi/L lKpa8Mt2xISbmvwxJxBUUqbIZ8KxXXB5s1q+cwcJvqu2al+d54IJkZ5dR5jbTk7now8soCa+yD gq41STIaLOLMnTrwI8/XfJdqascyCfwEQU4VFgmPyWPdN8nPAspGTnQ14UOjals8i8Y/hAJ8fW w4EQ0yf2LKDkuYse0H12OTN2M7NKAVT6RFKyMVRGoxPg+KSJpE/8W9u8jRQqIkUMgJ3rXhq6KY Jgg= X-IronPort-AV: E=Sophos;i="5.81,219,1610434800"; d="scan'208";a="105779077" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 03 Mar 2021 01:12:05 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 3 Mar 2021 01:12:04 -0700 Received: from mchp-dev-shegelun.microchip.com (10.10.115.15) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server id 15.1.2176.2 via Frontend Transport; Wed, 3 Mar 2021 01:12:02 -0700 From: Steen Hegelund To: Philipp Zabel CC: Steen Hegelund , Andrew Lunn , Microchip Linux Driver Support , Alexandre Belloni , Gregory Clement , , Subject: [PATCH v7 0/3] Adding the Sparx5 Switch Reset Driver Date: Wed, 3 Mar 2021 09:11:55 +0100 Message-ID: <20210303081158.684532-1-steen.hegelund@microchip.com> X-Mailer: git-send-email 2.30.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210303_081314_880520_ABEB1ED0 X-CRM114-Status: GOOD ( 13.15 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This series provides the Microchip Sparx5 Switch Reset Driver The Sparx5 Switch SoC has a number of components that can be reset individually, but at least the Switch Core needs to be in a well defined state at power on, when any of the Sparx5 drivers starts to access the Switch Core, this reset driver is available. The reset driver is loaded early via the postcore_initcall interface, and will then be available for the other Sparx5 drivers (SGPIO, SwitchDev etc) that are loaded next, and the first of them to be loaded can perform the one-time Switch Core reset that is needed. The driver has protection so that the system busses, DDR controller, PCI-E and ARM A53 CPU and a few other subsystems are not touched by the reset. The Sparx5 Chip Register Model can be browsed at this location: https://github.com/microchip-ung/sparx-5_reginfo History: v6 -> v7 Use devm_platform_get_and_ioremap_resource to get the IO range. Rebase on v5.12-rc1 v5 -> v6 Using the existing CPU syscon for reset protection and add a small IO range for the GCB Reset Register. v4 -> v5 Changed the two syscons into IO ranges and updated the bindings to reflect this change. v3 -> v4 Added commit message descriptions v2 -> v3 Removed unused headers Renamed the reset controller dev member. Use regmap_read_poll_timeout instead of polling a function. Used two separate syscon entries in the binding Simplified the syscon error handling. Simplified the devm_reset_controller_register error handling. Moved the contents of the mchp_sparx5_reset_config function into the probe function. v1 -> v2 Removed debug prints Changed the error handling to save the error code before jumping. Steen Hegelund (3): dt-bindings: reset: microchip sparx5 reset driver bindings reset: mchp: sparx5: add switch reset driver arm64: dts: reset: add microchip sparx5 switch reset driver .../bindings/reset/microchip,rst.yaml | 58 +++++++ arch/arm64/boot/dts/microchip/sparx5.dtsi | 7 +- drivers/reset/Kconfig | 8 + drivers/reset/Makefile | 1 + drivers/reset/reset-microchip-sparx5.c | 146 ++++++++++++++++++ 5 files changed, 218 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/reset/microchip,rst.yaml create mode 100644 drivers/reset/reset-microchip-sparx5.c