[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aXS82qiNNvPVMqdV@antec>
Date: Sat, 24 Jan 2026 12:36:42 +0000
From: Stafford Horne <shorne@...il.com>
To: Gary Lau <zgliu@...mail.com>
Cc: linusw <linusw@...nel.org>, linux-kernel <linux-kernel@...r.kernel.org>,
linux-openrisc <linux-openrisc@...r.kernel.org>,
devicetree <devicetree@...r.kernel.org>, robh <robh@...nel.org>,
krzk+dt <krzk+dt@...nel.org>, conor+dt <conor+dt@...nel.org>,
geert+renesas <geert+renesas@...der.be>,
"krzysztof.kozlowski" <krzysztof.kozlowski@....qualcomm.com>,
brgl <brgl@...nel.org>, linux-gpio <linux-gpio@...r.kernel.org>
Subject: Re: [PATCH v6 1/6] dt-bindings: gpio-mmio: Correct opencores GPIO
On Fri, Jan 23, 2026 at 10:18:04PM +0800, Gary Lau wrote:
> Hi Stafford,
>
> I should clarify my setup: I'm using hardware address translation to make the
> OpenCores 8-bit GPIO appear as 32-bit to the CPU. Specifically:
>
> 1. Address translation: The CPU's 32-bit addresses are right-shifted by 2 bits
> (adr_i[2] in Verilog), so each 32-bit CPU access maps to the correct 8-bit
> OpenCores register.
>
> 2. Data width adaptation: Only dat_i[7:0] and dat_o[7:0] are connected, so
> 32-bit writes are truncated to 8-bit, and reads are zero-extended.
>
> This hardware wrapper makes brcm,bcm6345-gpio driver "work" with my OpenCores
> GPIO, but it's really a hardware-level compatibility layer, not true software
> compatibility.
>
> So you're absolutely right that the native opencores,gpio isn't compatible
> with brcm,bcm6345-gpio. My setup works because of custom hardware translation,
> not because the IP cores are compatible.
Thanks Gary for testing.
-Stafford
Powered by blists - more mailing lists