Message ID | 00f801cf4275$e7e2a1b0$b7a7e510$@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, As a general note it's helpful for devicetree to be Cc'd on the entire series (though the binding document should be a separate patch) as it provides useful context for reviewing the binding. On Tue, Mar 18, 2014 at 06:47:13AM +0000, Byungho An wrote: > From: Siva Reddy <siva.kallam@samsung.com> > > This patch adds binding document for SXGBE ethernet driver via device-tree. > > Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com> > Signed-off-by: Byungho An <bh74.an@samsung.com> > --- > .../devicetree/bindings/net/samsung-sxgbe.txt | 53 > ++++++++++++++++++++ > 1 file changed, 53 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > new file mode 100644 > index 0000000..ca27947 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > @@ -0,0 +1,53 @@ > +* Samsung 10G Ethernet driver (SXGBE) > + > +Required properties: > +- compatible: Should be "samsung,sxgbe-v2.0a" > +- reg: Address and length of the register set for the device > +- interrupt-parent: Should be the phandle for the interrupt controller > + that services interrupts for this device > +- interrupts: Should contain the SXGBE interrupts > + These interrupts are ordered by fixed and follows variable > + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. > + index 0 - this is fixed common interrupt of SXGBE and it is always > + available. > + index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive > interrupts > + and 1 optional lpi interrupt. > +- phy-mode: String, operation mode of the PHY interface. > + Supported values are: "xaui", "gmii". > +- samsung,pbl: Integer, Programmable Burst Length. > + Supported values are 1, 2, 4, 8, 16, or 32. There's no need to abbreviate to "pbl". Is this a property of the hardware, or configuration that the kernel will program in? If the latter, why can the kernel not choose? > +- samsung,fixed-burst: Boolean, Program the DMA to use the fixed burst mode > +- samsung,burst-map: Integer, Program the possible bursts supported by sxgbe > + This is an interger and represents allowable DMA bursts when fixed burst. > + Allowable range is 0x00-0x3F. This field is valid only when fixed burst is > + enabled, otherwise ignored. If that's the case, why not have just this property and have it imply the use of fixed burst mode? When is it necessary to use fixed burst mode? > +- samsung,adv-addr-mode: Boolean, Program the DMA to use Enhanced address > mode. When would this be selected, and why can the kernel not choose? > +- samsung,force_thresh_dma_mode: Boolean, Force DMA to use the threshold mode > + for both tx and rx s/_/-/ in property names. Likewise, why can the kernel not choose. > +- samsung,force_sf_dma_mode: Boolean, Force DMA to use the Store and Forward > + mode for both tx and rx. This flag is ignored if force_thresh_dma_mode is > set. Likewise for both points. > +- samsung,phy-addr: Integer, Address of the PHY attached with SXGBE. Some of these properties appear to be missing from the example. Are they required or optional? Thanks, Mark. > + > +Optional properties: > +- mac-address: 6 bytes, mac address > + > +Example: > + > + aliases { > + ethernet0 = <&sxgbe0>; > + }; > + > + sxgbe0: ethernet@1a040000 { > + compatible = "samsung,sxgbe-v2.0a"; > + reg = <0 0x1a040000 0 0x10000>; > + interrupt-parent = <&gic>; > + interrupts = <0 209 4>, <0 185 4>, <0 186 4>, <0 187 4>, > + <0 188 4>, <0 189 4>, <0 190 4>, <0 191 4>, > + <0 192 4>, <0 193 4>, <0 194 4>, <0 195 4>, > + <0 196 4>, <0 197 4>, <0 198 4>, <0 199 4>, > + <0 200 4>, <0 201 4>, <0 202 4>, <0 203 4>, > + <0 204 4>, <0 205 4>, <0 206 4>, <0 207 4>, > + <0 208 4>, <0 210 4>; > + mac-address = [000000000000]; /* Filled in by U-Boot */ > + phy-mode = "xaui"; > + }; > -- > 1.7.10.4 > > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Rutland <mark.rutland@arm.com> : > Hi, > > As a general note it's helpful for devicetree to be Cc'd on the entire series > (though the binding document should be a separate patch) as it provides useful > context for reviewing the binding. OK. > > On Tue, Mar 18, 2014 at 06:47:13AM +0000, Byungho An wrote: > > From: Siva Reddy <siva.kallam@samsung.com> > > > > This patch adds binding document for SXGBE ethernet driver via device-tree. > > > > Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com> > > Signed-off-by: Byungho An <bh74.an@samsung.com> > > --- > > .../devicetree/bindings/net/samsung-sxgbe.txt | 53 > > ++++++++++++++++++++ > > 1 file changed, 53 insertions(+) > > create mode 100644 > > Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > new file mode 100644 > > index 0000000..ca27947 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > @@ -0,0 +1,53 @@ > > +* Samsung 10G Ethernet driver (SXGBE) > > + > > +Required properties: > > +- compatible: Should be "samsung,sxgbe-v2.0a" > > +- reg: Address and length of the register set for the device > > +- interrupt-parent: Should be the phandle for the interrupt > > +controller > > + that services interrupts for this device > > +- interrupts: Should contain the SXGBE interrupts > > + These interrupts are ordered by fixed and follows variable > > + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. > > + index 0 - this is fixed common interrupt of SXGBE and it is always > > + available. > > + index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive > > interrupts > > + and 1 optional lpi interrupt. > > +- phy-mode: String, operation mode of the PHY interface. > > + Supported values are: "xaui", "gmii". > > +- samsung,pbl: Integer, Programmable Burst Length. > > + Supported values are 1, 2, 4, 8, 16, or 32. > > There's no need to abbreviate to "pbl". > > Is this a property of the hardware, or configuration that the kernel will program > in? If the latter, why can the kernel not choose? Yes, this is hardware property > > > +- samsung,fixed-burst: Boolean, Program the DMA to use the fixed > > +burst mode > > +- samsung,burst-map: Integer, Program the possible bursts supported > > +by sxgbe > > + This is an interger and represents allowable DMA bursts when fixed burst. > > + Allowable range is 0x00-0x3F. This field is valid only when fixed > > +burst is > > + enabled, otherwise ignored. > > If that's the case, why not have just this property and have it imply the use of > fixed burst mode? OK. It will be implemented in next patch set. > > When is it necessary to use fixed burst mode? This is the configurable mode of DMA an used internally by hardware to fetch data from platform bus > > > +- samsung,adv-addr-mode: Boolean, Program the DMA to use Enhanced > > +address > > mode. > > When would this be selected, and why can the kernel not choose? Kernel doesn't have the provision to find out a way to select this. So, need to pass from DT > > > +- samsung,force_thresh_dma_mode: Boolean, Force DMA to use the > > +threshold mode > > + for both tx and rx > > s/_/-/ in property names. OK. > > Likewise, why can the kernel not choose. SXGBE h/w registers can't provide information to select this. So, need to pass from DT depend on Platform > > > +- samsung,force_sf_dma_mode: Boolean, Force DMA to use the Store and > > +Forward > > + mode for both tx and rx. This flag is ignored if > > +force_thresh_dma_mode is > > set. > > Likewise for both points. Same above. > > > +- samsung,phy-addr: Integer, Address of the PHY attached with SXGBE. > > Some of these properties appear to be missing from the example. Are they > required or optional? Those are optional depend on platform configuration. > > Thanks, > Mark. > > > + > > +Optional properties: > > +- mac-address: 6 bytes, mac address > > + > > +Example: > > + > > + aliases { > > + ethernet0 = <&sxgbe0>; > > + }; > > + > > + sxgbe0: ethernet@1a040000 { > > + compatible = "samsung,sxgbe-v2.0a"; > > + reg = <0 0x1a040000 0 0x10000>; > > + interrupt-parent = <&gic>; > > + interrupts = <0 209 4>, <0 185 4>, <0 186 4>, <0 187 4>, > > + <0 188 4>, <0 189 4>, <0 190 4>, <0 191 4>, > > + <0 192 4>, <0 193 4>, <0 194 4>, <0 195 4>, > > + <0 196 4>, <0 197 4>, <0 198 4>, <0 199 4>, > > + <0 200 4>, <0 201 4>, <0 202 4>, <0 203 4>, > > + <0 204 4>, <0 205 4>, <0 206 4>, <0 207 4>, > > + <0 208 4>, <0 210 4>; > > + mac-address = [000000000000]; /* Filled in by U-Boot */ > > + phy-mode = "xaui"; > > + }; > > -- > > 1.7.10.4 > > > > > > -- > > To unsubscribe from this list: send the line "unsubscribe devicetree" > > in the body of a message to majordomo@vger.kernel.org More majordomo > > info at http://vger.kernel.org/majordomo-info.html > > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Mar 18, 2014 at 04:27:46PM +0000, Byungho An wrote: > Mark Rutland <mark.rutland@arm.com> : > > Hi, > > > > As a general note it's helpful for devicetree to be Cc'd on the entire > series > > (though the binding document should be a separate patch) as it provides > useful > > context for reviewing the binding. > OK. > > > > > On Tue, Mar 18, 2014 at 06:47:13AM +0000, Byungho An wrote: > > > From: Siva Reddy <siva.kallam@samsung.com> > > > > > > This patch adds binding document for SXGBE ethernet driver via > device-tree. > > > > > > Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com> > > > Signed-off-by: Byungho An <bh74.an@samsung.com> > > > --- > > > .../devicetree/bindings/net/samsung-sxgbe.txt | 53 > > > ++++++++++++++++++++ > > > 1 file changed, 53 insertions(+) > > > create mode 100644 > > > Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > new file mode 100644 > > > index 0000000..ca27947 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > @@ -0,0 +1,53 @@ > > > +* Samsung 10G Ethernet driver (SXGBE) > > > + > > > +Required properties: > > > +- compatible: Should be "samsung,sxgbe-v2.0a" > > > +- reg: Address and length of the register set for the device > > > +- interrupt-parent: Should be the phandle for the interrupt > > > +controller > > > + that services interrupts for this device > > > +- interrupts: Should contain the SXGBE interrupts > > > + These interrupts are ordered by fixed and follows variable > > > + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. > > > + index 0 - this is fixed common interrupt of SXGBE and it is always > > > + available. > > > + index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive > > > interrupts > > > + and 1 optional lpi interrupt. > > > +- phy-mode: String, operation mode of the PHY interface. > > > + Supported values are: "xaui", "gmii". > > > +- samsung,pbl: Integer, Programmable Burst Length. > > > + Supported values are 1, 2, 4, 8, 16, or 32. > > > > There's no need to abbreviate to "pbl". > > > > Is this a property of the hardware, or configuration that the kernel will > program > > in? If the latter, why can the kernel not choose? > Yes, this is hardware property Ok. > > > > > > +- samsung,fixed-burst: Boolean, Program the DMA to use the fixed > > > +burst mode > > > +- samsung,burst-map: Integer, Program the possible bursts supported > > > +by sxgbe > > > + This is an interger and represents allowable DMA bursts when fixed > burst. > > > + Allowable range is 0x00-0x3F. This field is valid only when fixed > > > +burst is > > > + enabled, otherwise ignored. > > > > If that's the case, why not have just this property and have it imply the > use of > > fixed burst mode? > OK. It will be implemented in next patch set. > > > > > When is it necessary to use fixed burst mode? > This is the configurable mode of DMA an used internally by hardware to fetch > data from platform bus Sure, but that doesn't describe when it is necessary. Is this the way the DMA was configured at integration time, or the way the kernel should configure it? If the latter, is it absolutely necessary for correctness to use fixed-burst mode? Or is it just always sensible to use it if available? What does the driver do if fixed burst mode is not available? Would this work in the presence of fixed-burt mode? I'm not arguing to remove these properties. I'd just like to understand if all you're describing is the presence of a feature or that the use of the feature is absolutely necessary for correctness. I'm perfectly happy for Linux to always decide to use these features if available. > > > > > > +- samsung,adv-addr-mode: Boolean, Program the DMA to use Enhanced > > > +address > > > mode. > > > > When would this be selected, and why can the kernel not choose? > Kernel doesn't have the provision to find out a way to select this. So, need > to pass from DT Likewise, it is always absolutely necessary, or just always sensible to use enhanced address mode if present? > > > > > > +- samsung,force_thresh_dma_mode: Boolean, Force DMA to use the > > > +threshold mode > > > + for both tx and rx > > > > s/_/-/ in property names. > OK. > > > > > Likewise, why can the kernel not choose. > SXGBE h/w registers can't provide information to select this. So, need to pass > from DT depend on Platform Similarly. > > > > > > +- samsung,force_sf_dma_mode: Boolean, Force DMA to use the Store and > > > +Forward > > > + mode for both tx and rx. This flag is ignored if > > > +force_thresh_dma_mode is > > > set. > > > > Likewise for both points. > Same above. And again. Cheers, Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Rutland <mark.rutland@arm.com> : > On Tue, Mar 18, 2014 at 04:27:46PM +0000, Byungho An wrote: > > Mark Rutland <mark.rutland@arm.com> : > > > Hi, > > > > > > As a general note it's helpful for devicetree to be Cc'd on the > > > entire > > series > > > (though the binding document should be a separate patch) as it > > > provides > > useful > > > context for reviewing the binding. > > OK. > > > > > > > > On Tue, Mar 18, 2014 at 06:47:13AM +0000, Byungho An wrote: > > > > From: Siva Reddy <siva.kallam@samsung.com> > > > > > > > > This patch adds binding document for SXGBE ethernet driver via > > device-tree. > > > > > > > > Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com> > > > > Signed-off-by: Byungho An <bh74.an@samsung.com> > > > > --- > > > > .../devicetree/bindings/net/samsung-sxgbe.txt | 53 > > > > ++++++++++++++++++++ > > > > 1 file changed, 53 insertions(+) > > > > create mode 100644 > > > > Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > > > diff --git > > > > a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > new file mode 100644 > > > > index 0000000..ca27947 > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > @@ -0,0 +1,53 @@ > > > > +* Samsung 10G Ethernet driver (SXGBE) > > > > + > > > > +Required properties: > > > > +- compatible: Should be "samsung,sxgbe-v2.0a" > > > > +- reg: Address and length of the register set for the device > > > > +- interrupt-parent: Should be the phandle for the interrupt > > > > +controller > > > > + that services interrupts for this device > > > > +- interrupts: Should contain the SXGBE interrupts > > > > + These interrupts are ordered by fixed and follows variable > > > > + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. > > > > + index 0 - this is fixed common interrupt of SXGBE and it is > > > > +always > > > > + available. > > > > + index 1 to 25 - 8 variable trasmit interrupts, variable 16 > > > > +receive > > > > interrupts > > > > + and 1 optional lpi interrupt. > > > > +- phy-mode: String, operation mode of the PHY interface. > > > > + Supported values are: "xaui", "gmii". > > > > +- samsung,pbl: Integer, Programmable Burst Length. > > > > + Supported values are 1, 2, 4, 8, 16, or 32. > > > > > > There's no need to abbreviate to "pbl". > > > > > > Is this a property of the hardware, or configuration that the kernel > > > will > > program > > > in? If the latter, why can the kernel not choose? > > Yes, this is hardware property > > Ok. > > > > > > > > > > +- samsung,fixed-burst: Boolean, Program the DMA to use the fixed > > > > +burst mode > > > > +- samsung,burst-map: Integer, Program the possible bursts > > > > +supported by sxgbe > > > > + This is an interger and represents allowable DMA bursts when > > > > +fixed > > burst. > > > > + Allowable range is 0x00-0x3F. This field is valid only when > > > > +fixed burst is > > > > + enabled, otherwise ignored. > > > > > > If that's the case, why not have just this property and have it > > > imply the > > use of > > > fixed burst mode? > > OK. It will be implemented in next patch set. > > > > > > > > When is it necessary to use fixed burst mode? > > This is the configurable mode of DMA an used internally by hardware to > > fetch data from platform bus > > Sure, but that doesn't describe when it is necessary. Is this the way the DMA > was configured at integration time, or the way the kernel should configure it? It is needed when fixed length of burst is needed. if it is not configured, the length of burst will be variable(not fixed). Anyway, I'll add description more for it. > > If the latter, is it absolutely necessary for correctness to use fixed-burst mode? > Or is it just always sensible to use it if available? It is not absolutely necessary, as I mentioned above. > > What does the driver do if fixed burst mode is not available? Would this work in > the presence of fixed-burt mode? Fixed burst mode is always available so driver doesn't need to care about it. > > I'm not arguing to remove these properties. I'd just like to understand if all > you're describing is the presence of a feature or that the use of the feature is > absolutely necessary for correctness. OK > > I'm perfectly happy for Linux to always decide to use these features if available. > > > > > > > > > > +- samsung,adv-addr-mode: Boolean, Program the DMA to use Enhanced > > > > +address > > > > mode. > > > > > > When would this be selected, and why can the kernel not choose? > > Kernel doesn't have the provision to find out a way to select this. > > So, need to pass from DT > > Likewise, it is always absolutely necessary, or just always sensible to use > enhanced address mode if present? Not always necessary. When extended address mode is needed, it can be set in the DT. > > > > > > > > > > +- samsung,force_thresh_dma_mode: Boolean, Force DMA to use the > > > > +threshold mode > > > > + for both tx and rx > > > > > > s/_/-/ in property names. > > OK. > > > > > > > > Likewise, why can the kernel not choose. > > SXGBE h/w registers can't provide information to select this. So, need > > to pass from DT depend on Platform > > Similarly. Not always necessary. When threshold base DMA mode is needed it can be set. > > > > > > > > > > +- samsung,force_sf_dma_mode: Boolean, Force DMA to use the Store > > > > +and Forward > > > > + mode for both tx and rx. This flag is ignored if > > > > +force_thresh_dma_mode is > > > > set. > > > > > > Likewise for both points. > > Same above. > > And again. Not always necessary. When threshold base DMA mode is not needed it can be set. On the other hand, store and forward is needed for DMA, it can be set. Thanks, > > Cheers, > Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Mar 19, 2014 at 10:32:48PM +0000, Byungho An wrote: > Mark Rutland <mark.rutland@arm.com> : > > On Tue, Mar 18, 2014 at 04:27:46PM +0000, Byungho An wrote: > > > Mark Rutland <mark.rutland@arm.com> : > > > > Hi, > > > > > > > > As a general note it's helpful for devicetree to be Cc'd on the > > > > entire > > > series > > > > (though the binding document should be a separate patch) as it > > > > provides > > > useful > > > > context for reviewing the binding. > > > OK. > > > > > > > > > > > On Tue, Mar 18, 2014 at 06:47:13AM +0000, Byungho An wrote: > > > > > From: Siva Reddy <siva.kallam@samsung.com> > > > > > > > > > > This patch adds binding document for SXGBE ethernet driver via > > > device-tree. > > > > > > > > > > Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com> > > > > > Signed-off-by: Byungho An <bh74.an@samsung.com> > > > > > --- > > > > > .../devicetree/bindings/net/samsung-sxgbe.txt | 53 > > > > > ++++++++++++++++++++ > > > > > 1 file changed, 53 insertions(+) > > > > > create mode 100644 > > > > > Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > > > > > diff --git > > > > > a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > new file mode 100644 > > > > > index 0000000..ca27947 > > > > > --- /dev/null > > > > > +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > @@ -0,0 +1,53 @@ > > > > > +* Samsung 10G Ethernet driver (SXGBE) > > > > > + > > > > > +Required properties: > > > > > +- compatible: Should be "samsung,sxgbe-v2.0a" > > > > > +- reg: Address and length of the register set for the device > > > > > +- interrupt-parent: Should be the phandle for the interrupt > > > > > +controller > > > > > + that services interrupts for this device > > > > > +- interrupts: Should contain the SXGBE interrupts > > > > > + These interrupts are ordered by fixed and follows variable > > > > > + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. > > > > > + index 0 - this is fixed common interrupt of SXGBE and it is > > > > > +always > > > > > + available. > > > > > + index 1 to 25 - 8 variable trasmit interrupts, variable 16 > > > > > +receive > > > > > interrupts > > > > > + and 1 optional lpi interrupt. > > > > > +- phy-mode: String, operation mode of the PHY interface. > > > > > + Supported values are: "xaui", "gmii". > > > > > +- samsung,pbl: Integer, Programmable Burst Length. > > > > > + Supported values are 1, 2, 4, 8, 16, or 32. > > > > > > > > There's no need to abbreviate to "pbl". > > > > > > > > Is this a property of the hardware, or configuration that the kernel > > > > will > > > program > > > > in? If the latter, why can the kernel not choose? > > > Yes, this is hardware property > > > > Ok. > > > > > > > > > > > > > > +- samsung,fixed-burst: Boolean, Program the DMA to use the fixed > > > > > +burst mode > > > > > +- samsung,burst-map: Integer, Program the possible bursts > > > > > +supported by sxgbe > > > > > + This is an interger and represents allowable DMA bursts when > > > > > +fixed > > > burst. > > > > > + Allowable range is 0x00-0x3F. This field is valid only when > > > > > +fixed burst is > > > > > + enabled, otherwise ignored. > > > > > > > > If that's the case, why not have just this property and have it > > > > imply the > > > use of > > > > fixed burst mode? > > > OK. It will be implemented in next patch set. > > > > > > > > > > > When is it necessary to use fixed burst mode? > > > This is the configurable mode of DMA an used internally by hardware to > > > fetch data from platform bus > > > > Sure, but that doesn't describe when it is necessary. Is this the way the > DMA > > was configured at integration time, or the way the kernel should configure > it? > It is needed when fixed length of burst is needed. > if it is not configured, the length of burst will be variable(not fixed). > Anyway, I'll add description more for it. And when is it necessary to have a fixed length of burst? Is this a property of the system, or the conenction of the system to another? > > > > > If the latter, is it absolutely necessary for correctness to use fixed-burst > mode? > > Or is it just always sensible to use it if available? > It is not absolutely necessary, as I mentioned above. The description above does not make this clear. > > > > > What does the driver do if fixed burst mode is not available? Would this > work in > > the presence of fixed-burt mode? > Fixed burst mode is always available so driver doesn't need to care about it. > > > > > I'm not arguing to remove these properties. I'd just like to understand if > all > > you're describing is the presence of a feature or that the use of the > feature is > > absolutely necessary for correctness. > OK > > > > > I'm perfectly happy for Linux to always decide to use these features if > available. > > > > > > > > > > > > > > +- samsung,adv-addr-mode: Boolean, Program the DMA to use Enhanced > > > > > +address > > > > > mode. > > > > > > > > When would this be selected, and why can the kernel not choose? > > > Kernel doesn't have the provision to find out a way to select this. > > > So, need to pass from DT > > > > Likewise, it is always absolutely necessary, or just always sensible to use > > enhanced address mode if present? > Not always necessary. When extended address mode is needed, it can be set in > the DT. When is this needed? Cheers, Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Mark Rutland <mark.rutland@arm.com> wrote : > On Wed, Mar 19, 2014 at 10:32:48PM +0000, Byungho An wrote: > > Mark Rutland <mark.rutland@arm.com> : > > > On Tue, Mar 18, 2014 at 04:27:46PM +0000, Byungho An wrote: > > > > Mark Rutland <mark.rutland@arm.com> : > > > > > Hi, > > > > > > > > > > As a general note it's helpful for devicetree to be Cc'd on the > > > > > entire > > > > series > > > > > (though the binding document should be a separate patch) as it > > > > > provides > > > > useful > > > > > context for reviewing the binding. > > > > OK. > > > > > > > > > > > > > > On Tue, Mar 18, 2014 at 06:47:13AM +0000, Byungho An wrote: > > > > > > From: Siva Reddy <siva.kallam@samsung.com> > > > > > > > > > > > > This patch adds binding document for SXGBE ethernet driver via > > > > device-tree. > > > > > > > > > > > > Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com> > > > > > > Signed-off-by: Byungho An <bh74.an@samsung.com> > > > > > > --- > > > > > > .../devicetree/bindings/net/samsung-sxgbe.txt | 53 > > > > > > ++++++++++++++++++++ > > > > > > 1 file changed, 53 insertions(+) create mode 100644 > > > > > > Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > > > > > > > diff --git > > > > > > a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > new file mode 100644 > > > > > > index 0000000..ca27947 > > > > > > --- /dev/null > > > > > > +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt > > > > > > @@ -0,0 +1,53 @@ > > > > > > +* Samsung 10G Ethernet driver (SXGBE) > > > > > > + > > > > > > +Required properties: > > > > > > +- compatible: Should be "samsung,sxgbe-v2.0a" > > > > > > +- reg: Address and length of the register set for the device > > > > > > +- interrupt-parent: Should be the phandle for the interrupt > > > > > > +controller > > > > > > + that services interrupts for this device > > > > > > +- interrupts: Should contain the SXGBE interrupts > > > > > > + These interrupts are ordered by fixed and follows variable > > > > > > + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. > > > > > > + index 0 - this is fixed common interrupt of SXGBE and it is > > > > > > +always > > > > > > + available. > > > > > > + index 1 to 25 - 8 variable trasmit interrupts, variable 16 > > > > > > +receive > > > > > > interrupts > > > > > > + and 1 optional lpi interrupt. > > > > > > +- phy-mode: String, operation mode of the PHY interface. > > > > > > + Supported values are: "xaui", "gmii". > > > > > > +- samsung,pbl: Integer, Programmable Burst Length. > > > > > > + Supported values are 1, 2, 4, 8, 16, or 32. > > > > > > > > > > There's no need to abbreviate to "pbl". > > > > > > > > > > Is this a property of the hardware, or configuration that the > > > > > kernel will > > > > program > > > > > in? If the latter, why can the kernel not choose? > > > > Yes, this is hardware property > > > > > > Ok. > > > > > > > > > > > > > > > > > > +- samsung,fixed-burst: Boolean, Program the DMA to use the > > > > > > +fixed burst mode > > > > > > +- samsung,burst-map: Integer, Program the possible bursts > > > > > > +supported by sxgbe > > > > > > + This is an interger and represents allowable DMA bursts > > > > > > +when fixed > > > > burst. > > > > > > + Allowable range is 0x00-0x3F. This field is valid only when > > > > > > +fixed burst is > > > > > > + enabled, otherwise ignored. > > > > > > > > > > If that's the case, why not have just this property and have it > > > > > imply the > > > > use of > > > > > fixed burst mode? > > > > OK. It will be implemented in next patch set. > > > > > > > > > > > > > > When is it necessary to use fixed burst mode? > > > > This is the configurable mode of DMA an used internally by > > > > hardware to fetch data from platform bus > > > > > > Sure, but that doesn't describe when it is necessary. Is this the > > > way the > > DMA > > > was configured at integration time, or the way the kernel should > > > configure > > it? > > It is needed when fixed length of burst is needed. > > if it is not configured, the length of burst will be variable(not fixed). > > Anyway, I'll add description more for it. > > And when is it necessary to have a fixed length of burst? It's up to situation. If most of data size have similar in size, fixed burst is better. > > Is this a property of the system, or the conenction of the system to another? This is a choice given by SXGBE to configure it's burst mode. It can work in Fixed and Undefined burst mode. SXGBE can't select the burst mode on it's own. so, to configure the burst , we need configurable parameter from DT. if DT doesn't provide fixed burst, it means SXGBE driver will configure as Undefined burst Do you think it should be moved to optional properties? > > > > > > > > > If the latter, is it absolutely necessary for correctness to use > > > fixed-burst > > mode? > > > Or is it just always sensible to use it if available? > > It is not absolutely necessary, as I mentioned above. > > The description above does not make this clear. > > > > > > > > > What does the driver do if fixed burst mode is not available? Would > > > this > > work in > > > the presence of fixed-burt mode? > > Fixed burst mode is always available so driver doesn't need to care about it. > > > > > > > > I'm not arguing to remove these properties. I'd just like to > > > understand if > > all > > > you're describing is the presence of a feature or that the use of > > > the > > feature is > > > absolutely necessary for correctness. > > OK > > > > > > > > I'm perfectly happy for Linux to always decide to use these features > > > if > > available. > > > > > > > > > > > > > > > > > > +- samsung,adv-addr-mode: Boolean, Program the DMA to use > > > > > > +Enhanced address > > > > > > mode. > > > > > > > > > > When would this be selected, and why can the kernel not choose? > > > > Kernel doesn't have the provision to find out a way to select this. > > > > So, need to pass from DT > > > > > > Likewise, it is always absolutely necessary, or just always sensible > > > to use enhanced address mode if present? > > Not always necessary. When extended address mode is needed, it can be > > set in the DT. > > When is this needed? It is always confusing between when and why. It is for extended dma addressing for future. when extended dma addressing is needed it can be selected. Anyway it will be removed this series because it is not mandatory. Should I explain about extended dma addressing? > > Cheers, > Mark. > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in the body of > a message to majordomo@vger.kernel.org More majordomo info at > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt new file mode 100644 index 0000000..ca27947 --- /dev/null +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt @@ -0,0 +1,53 @@ +* Samsung 10G Ethernet driver (SXGBE) + +Required properties: +- compatible: Should be "samsung,sxgbe-v2.0a" +- reg: Address and length of the register set for the device +- interrupt-parent: Should be the phandle for the interrupt controller + that services interrupts for this device +- interrupts: Should contain the SXGBE interrupts + These interrupts are ordered by fixed and follows variable + trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. + index 0 - this is fixed common interrupt of SXGBE and it is always + available. + index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive interrupts + and 1 optional lpi interrupt. +- phy-mode: String, operation mode of the PHY interface. + Supported values are: "xaui", "gmii". +- samsung,pbl: Integer, Programmable Burst Length. + Supported values are 1, 2, 4, 8, 16, or 32. +- samsung,fixed-burst: Boolean, Program the DMA to use the fixed burst mode +- samsung,burst-map: Integer, Program the possible bursts supported by sxgbe + This is an interger and represents allowable DMA bursts when fixed burst. + Allowable range is 0x00-0x3F. This field is valid only when fixed burst is + enabled, otherwise ignored. +- samsung,adv-addr-mode: Boolean, Program the DMA to use Enhanced address mode. +- samsung,force_thresh_dma_mode: Boolean, Force DMA to use the threshold mode + for both tx and rx +- samsung,force_sf_dma_mode: Boolean, Force DMA to use the Store and Forward + mode for both tx and rx. This flag is ignored if force_thresh_dma_mode is set. +- samsung,phy-addr: Integer, Address of the PHY attached with SXGBE. + +Optional properties: +- mac-address: 6 bytes, mac address + +Example: + + aliases { + ethernet0 = <&sxgbe0>; + }; + + sxgbe0: ethernet@1a040000 { + compatible = "samsung,sxgbe-v2.0a"; + reg = <0 0x1a040000 0 0x10000>; + interrupt-parent = <&gic>; + interrupts = <0 209 4>, <0 185 4>, <0 186 4>, <0 187 4>, + <0 188 4>, <0 189 4>, <0 190 4>, <0 191 4>, + <0 192 4>, <0 193 4>, <0 194 4>, <0 195 4>, + <0 196 4>, <0 197 4>, <0 198 4>, <0 199 4>, + <0 200 4>, <0 201 4>, <0 202 4>, <0 203 4>, + <0 204 4>, <0 205 4>, <0 206 4>, <0 207 4>, + <0 208 4>, <0 210 4>;