From nobody Thu Sep 01 07:23:13 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MJCFF4FDnz4bc9y; Thu, 1 Sep 2022 07:23:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MJCFF3r70z3XK5; Thu, 1 Sep 2022 07:23:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1662016993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GjSZ0iMfc6ud/N69BBEWAOZcnFQv5+Xq/3oaE440Vdc=; b=bfWGCbdMI+YIrC0ZZ2TNad+zdiyBKZ+ulKX20anhxffg9fzA7SXDV+USRZQpd4+Au8Da3U IgeGvtARB3kzGoWMlC9yydta6k2cZKeEiN2fKz151vkouRZjvQL15ZEp22kcupOKSAKOlo 03ea1usfutVhaGAEFBw97szZyDVwiEgpSITS70G9mp8dThDECusTHGjg9bIX4vyfuFzV4O cZ1or9yum9tGvD6W2THUAX7CQFfYxCEfxA6x2t+COpEKeHFdgEFe3ETvY9CyT1AoU1fR0h /8cTe6D0SNzYrKwbrMzdVH9Cx5mwcNPmwdOQcqJdDxo5Q85cpDkHXXxFOgXkcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4MJCFF2tzqzPXY; Thu, 1 Sep 2022 07:23:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2817NDYJ073619; Thu, 1 Sep 2022 07:23:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2817NDwk073618; Thu, 1 Sep 2022 07:23:13 GMT (envelope-from git) Date: Thu, 1 Sep 2022 07:23:13 GMT Message-Id: <202209010723.2817NDwk073618@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ganbold Tsagaankhuu Subject: git: 48551d3240a0 - main - Fix problem getting gpio version during attach. Both RK3328 and RK3399 don't have GPIO_VER_ID register. Set gpio version depending on compat string of the parent. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ganbold X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 48551d3240a052f7c0e2ebf9b0e97327f4a85048 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1662016993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GjSZ0iMfc6ud/N69BBEWAOZcnFQv5+Xq/3oaE440Vdc=; b=OHJ3YmFK2cHgle8tAZnxgzU0rQYWTHJh9QTOJb3JIL3Ufv7Kk5eeGxPwLRu5lC5xqb20t9 +SkGVVo4+VeoaESrsO3o8ABx4pEyoTPAmuJMjILMGx6g3TJ1PDt6hiTz33KwH4CZ2jQuDR skVVV/yH/TTgF+chGTJMfGahJS1hAvNRNU4fCRoGT1qMPNtCfFxvqsSnV1KxUisCE9bsgv 8dTRhdHLs1xKSQy23jD5CpAneFwr3U2tAUx86KpffdwZj+CcaUANCik+0J8iJGhvOCGeTh CMyQRGFvm3ePV7/IzppdmeHVVFsIsCf2AGDU056OLChgVKrWP8xHUMV+IiHp3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1662016993; a=rsa-sha256; cv=none; b=XfJkRlgizDbzir/a+iK6ePFUqhFUKyloBaK1EECKICRIx21tgiO/BltDUCd0+9d/X7YRTr TNTz1I3O96GTNyRgaOSvbWaWQC+Y8vETFJCtZeQifc59mwUWHvk6p8BHalljljlmn9Vune qTM+0W4OKaz4so9/WIR6+OpaczyQf/uaCFrIm/MmMb7kTbhTbe3cNsObmh/1qb3P/2gWYz BTfgmyhUFFGnHrgV49MlcyAWnziOKVxNVne8KMsT6mR6NCqYk4/WfHMSNZ5b8ANXeMqfb7 I/YlUH0EBn/i4+bOyn7OhfEGjh6PaVvvbZLEeCaAhefHdFTaJdu5DeX4MXm0Qw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ganbold: URL: https://cgit.FreeBSD.org/src/commit/?id=48551d3240a052f7c0e2ebf9b0e97327f4a85048 commit 48551d3240a052f7c0e2ebf9b0e97327f4a85048 Author: Ganbold Tsagaankhuu AuthorDate: 2022-09-01 07:21:56 +0000 Commit: Ganbold Tsagaankhuu CommitDate: 2022-09-01 07:21:56 +0000 Fix problem getting gpio version during attach. Both RK3328 and RK3399 don't have GPIO_VER_ID register. Set gpio version depending on compat string of the parent. --- sys/arm64/rockchip/rk_gpio.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/sys/arm64/rockchip/rk_gpio.c b/sys/arm64/rockchip/rk_gpio.c index c3b1044df2f7..0b4012707363 100644 --- a/sys/arm64/rockchip/rk_gpio.c +++ b/sys/arm64/rockchip/rk_gpio.c @@ -259,12 +259,13 @@ static int rk_gpio_attach(device_t dev) { struct rk_gpio_softc *sc; - phandle_t node; + phandle_t parent_node, node; int err, i; sc = device_get_softc(dev); sc->sc_dev = dev; sc->pinctrl = device_get_parent(dev); + parent_node = ofw_bus_get_node(sc->pinctrl); node = ofw_bus_get_node(sc->sc_dev); if (!OF_hasprop(node, "gpio-controller")) @@ -303,9 +304,15 @@ rk_gpio_attach(device_t dev) return (ENXIO); } - RK_GPIO_LOCK(sc); - sc->version = rk_gpio_read_4(sc, RK_GPIO_VERSION); - RK_GPIO_UNLOCK(sc); + /* + * RK3568 has GPIO_VER_ID register, however both + * RK3328 and RK3399 doesn't have. So choose the + * version based on parent's compat string. + */ + if (ofw_bus_node_is_compatible(parent_node, "rockchip,rk3568-pinctrl")) + sc->version = RK_GPIO_TYPE_V2; + else + sc->version = RK_GPIO_TYPE_V1; switch (sc->version) { case RK_GPIO_TYPE_V1: