From mboxrd@z Thu Jan 1 00:00:00 1970 From: jonathanh@nvidia.com (Jon Hunter) Date: Tue, 6 Sep 2016 11:32:14 +0100 Subject: [PATCH v2 3/6] dt/bindings: Add bindings for Tegra GMI controller In-Reply-To: References: <1472045838-22628-1-git-send-email-mirza.krak@gmail.com> <1472045838-22628-4-git-send-email-mirza.krak@gmail.com> <20160830170636.GA8741@rob-hp-laptop> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 31/08/16 12:22, Mirza Krak wrote: > 2016-08-30 19:06 GMT+02:00 Rob Herring : ... >>> nvidia,snor-cs = <4>; >> >> NAK, no custom CS properties. Ok, so ... > gmi at 70090000 { > compatible = "nvidia,tegra20-gmi"; > reg = <0x70009000 0x1000>; > #address-cells = <2>; > #size-cells = <1>; > clocks = <&tegra_car TEGRA20_CLK_NOR>; > clock-names = "gmi"; > resets = <&tegra_car 42>; > reset-names = "gmi"; > ranges = <4 0 0xd0000000 0xfffffff>; > > status = "okay"; > > bus at 4,0 { > compatible = "simple-bus"; > #address-cells = <1>; > #size-cells = <1>; > ranges = <0 4 0 0x40000>; > > nvidia,snor-mux-mode; > nvidia,snor-adv-inv; > > can at 0 { > reg = <0 0x100>; > ... > }; > > can at 40000 { > reg = <0x40000 0x100>; > ... > }; > }; > }; > > Have I understood you correct? > > Also wanted to verify the example case where you only have on device > connected to one CS#, from what I see in other implementations it > seems OK to put the CS# in the reg property in that case. Is this > correct? > > Example with one SJA1000 CAN controller connected to the GMI bus > on CS4: > > gmi at 70090000 { > compatible = "nvidia,tegra20-gmi"; > reg = <0x70009000 0x1000>; > #address-cells = <2>; > #size-cells = <1>; > clocks = <&tegra_car TEGRA20_CLK_NOR>; > clock-names = "gmi"; > resets = <&tegra_car 42>; > reset-names = "gmi"; > ranges = <4 0 0xd0000000 0xfffffff>; > > status = "okay"; > > can at 4,0 { > reg = <4 0 0x100>; > nvidia,snor-mux-mode; > nvidia,snor-adv-inv; > ... > }; > }; > > Jon, to be able to handle both cases in the driver we would first > attempt to decode the CS# from the ranges property, and fallback to > reg property if no ranges are defined. Does that sound reasonable? Given the above examples that may be supported, is there a better/simpler way to extract the CS# than what Mirza is proposing? For example, from the node-name unit-address? Cheers Jon -- nvpublic