Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Hanjie Lin



On 2018/8/30 21:59, Rob Herring wrote:
> On Thu, Aug 30, 2018 at 2:37 AM Hanjie Lin  wrote:
>>
>>
>>
>> On 2018/8/29 8:41, Rob Herring wrote:
>>> On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:


 On 2018/8/24 16:22, Jerome Brunet wrote:
> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
>> From: Yue Wang 
>>
>> The Amlogic Meson PCIe host controller is based on the Synopsys 
>> DesignWare
>> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
>> controller.
>>
>> Signed-off-by: Yue Wang 
>> Signed-off-by: Hanjie Lin 
>> ---
>>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
>> ++
>>  1 file changed, 63 insertions(+)
>>  create mode 100644 
>> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>>
>> diff --git 
>> a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
>> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> new file mode 100644
>> index 000..8a831d1
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> @@ -0,0 +1,63 @@
>> +Amlogic Meson AXG DWC PCIE SoC controller
>> +
>> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
>> PCI core.
>> +It shares common functions with the PCIe DesignWare core driver and
>> +inherits common properties defined in
>> +Documentation/devicetree/bindings/pci/designware-pci.txt.
>> +
>> +Additional properties are described here:
>> +
>> +Required properties:
>> +- compatible:
>> +  should contain "amlogic,axg-pcie" to identify the core.
>> +- reg:
>> +  Should contain the configuration address space.
>> +- reg-names: Must be
>> +  - "elbi"External local bus interface registers
>> +  - "cfg" Meson specific registers
>> +  - "config"  PCIe configuration space
>> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
>> signal.
>> +- clocks: Must contain an entry for each entry in clock-names.
>> +- clock-names: Must include the following entries:
>> +  - "pclk"   PCIe GEN 100M PLL clock
>> +  - "port"   PCIe_x(A or B) RC clock gate
>> +  - "general"PCIe Phy clock
>> +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
>> +- resets: phandle to the reset lines.
>> +- reset-names: must contain "phy" and "peripheral"
>> +   - "port" Port A or B reset
>> +   - "apb" APB reset
>
> The above description is not coherent (phy <=> port)
>

 Yes, this should be port and apb here.
 We'll integrate phy driver into ctrl driver, and move phy reset to here 
 also.
>>>
>>> Why? That's the wrong thing to do if they are separate h/w blocks. You
>>> can do whatever you like in the drivers, but the DT should reflect the
>>> h/w.
>>>
>>> Rob
>>>
>>> .
>>>
>>
>> We have the dedicated phy driver which only process reset job,
>> and we consider that it's too overkill to do just these things .
>> So we will integrate phy reset job into the controller driver int the next 
>> version.
> 
> What's in the separate register space you had for the phy?
> 
> Rob
> 
> .
> 

As described with 'phy' reg in ctrl patch v3 thread [0]

- reg-names: Must be
- "elbi"External local bus interface registers
- "cfg" Meson specific registers
- "phy" Meson PCIE PHY registers
- "config"  PCIe configuration space

When each controller driver probe, we powerup phy by write phy register like 
below: 
writel(MESON_PCIE_PHY_POWERUP, mp->mem_res.phy_base);

[0] 
https://lkml.kernel.org/r/1535616829-167936-1-git-send-email-hanjie@amlogic.com


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Hanjie Lin



On 2018/8/30 21:59, Rob Herring wrote:
> On Thu, Aug 30, 2018 at 2:37 AM Hanjie Lin  wrote:
>>
>>
>>
>> On 2018/8/29 8:41, Rob Herring wrote:
>>> On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:


 On 2018/8/24 16:22, Jerome Brunet wrote:
> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
>> From: Yue Wang 
>>
>> The Amlogic Meson PCIe host controller is based on the Synopsys 
>> DesignWare
>> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
>> controller.
>>
>> Signed-off-by: Yue Wang 
>> Signed-off-by: Hanjie Lin 
>> ---
>>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
>> ++
>>  1 file changed, 63 insertions(+)
>>  create mode 100644 
>> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>>
>> diff --git 
>> a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
>> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> new file mode 100644
>> index 000..8a831d1
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> @@ -0,0 +1,63 @@
>> +Amlogic Meson AXG DWC PCIE SoC controller
>> +
>> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
>> PCI core.
>> +It shares common functions with the PCIe DesignWare core driver and
>> +inherits common properties defined in
>> +Documentation/devicetree/bindings/pci/designware-pci.txt.
>> +
>> +Additional properties are described here:
>> +
>> +Required properties:
>> +- compatible:
>> +  should contain "amlogic,axg-pcie" to identify the core.
>> +- reg:
>> +  Should contain the configuration address space.
>> +- reg-names: Must be
>> +  - "elbi"External local bus interface registers
>> +  - "cfg" Meson specific registers
>> +  - "config"  PCIe configuration space
>> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
>> signal.
>> +- clocks: Must contain an entry for each entry in clock-names.
>> +- clock-names: Must include the following entries:
>> +  - "pclk"   PCIe GEN 100M PLL clock
>> +  - "port"   PCIe_x(A or B) RC clock gate
>> +  - "general"PCIe Phy clock
>> +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
>> +- resets: phandle to the reset lines.
>> +- reset-names: must contain "phy" and "peripheral"
>> +   - "port" Port A or B reset
>> +   - "apb" APB reset
>
> The above description is not coherent (phy <=> port)
>

 Yes, this should be port and apb here.
 We'll integrate phy driver into ctrl driver, and move phy reset to here 
 also.
>>>
>>> Why? That's the wrong thing to do if they are separate h/w blocks. You
>>> can do whatever you like in the drivers, but the DT should reflect the
>>> h/w.
>>>
>>> Rob
>>>
>>> .
>>>
>>
>> We have the dedicated phy driver which only process reset job,
>> and we consider that it's too overkill to do just these things .
>> So we will integrate phy reset job into the controller driver int the next 
>> version.
> 
> What's in the separate register space you had for the phy?
> 
> Rob
> 
> .
> 

As described with 'phy' reg in ctrl patch v3 thread [0]

- reg-names: Must be
- "elbi"External local bus interface registers
- "cfg" Meson specific registers
- "phy" Meson PCIE PHY registers
- "config"  PCIe configuration space

When each controller driver probe, we powerup phy by write phy register like 
below: 
writel(MESON_PCIE_PHY_POWERUP, mp->mem_res.phy_base);

[0] 
https://lkml.kernel.org/r/1535616829-167936-1-git-send-email-hanjie@amlogic.com


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Rob Herring
On Thu, Aug 30, 2018 at 2:37 AM Hanjie Lin  wrote:
>
>
>
> On 2018/8/29 8:41, Rob Herring wrote:
> > On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
> >>
> >>
> >> On 2018/8/24 16:22, Jerome Brunet wrote:
> >>> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
>  From: Yue Wang 
> 
>  The Amlogic Meson PCIe host controller is based on the Synopsys 
>  DesignWare
>  PCI core. This patch adds documentation for the DT bindings in Meson PCIe
>  controller.
> 
>  Signed-off-by: Yue Wang 
>  Signed-off-by: Hanjie Lin 
>  ---
>   .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
>  ++
>   1 file changed, 63 insertions(+)
>   create mode 100644 
>  Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> 
>  diff --git 
>  a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
>  b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>  new file mode 100644
>  index 000..8a831d1
>  --- /dev/null
>  +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>  @@ -0,0 +1,63 @@
>  +Amlogic Meson AXG DWC PCIE SoC controller
>  +
>  +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
>  PCI core.
>  +It shares common functions with the PCIe DesignWare core driver and
>  +inherits common properties defined in
>  +Documentation/devicetree/bindings/pci/designware-pci.txt.
>  +
>  +Additional properties are described here:
>  +
>  +Required properties:
>  +- compatible:
>  +  should contain "amlogic,axg-pcie" to identify the core.
>  +- reg:
>  +  Should contain the configuration address space.
>  +- reg-names: Must be
>  +  - "elbi"External local bus interface registers
>  +  - "cfg" Meson specific registers
>  +  - "config"  PCIe configuration space
>  +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
>  signal.
>  +- clocks: Must contain an entry for each entry in clock-names.
>  +- clock-names: Must include the following entries:
>  +  - "pclk"   PCIe GEN 100M PLL clock
>  +  - "port"   PCIe_x(A or B) RC clock gate
>  +  - "general"PCIe Phy clock
>  +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
>  +- resets: phandle to the reset lines.
>  +- reset-names: must contain "phy" and "peripheral"
>  +   - "port" Port A or B reset
>  +   - "apb" APB reset
> >>>
> >>> The above description is not coherent (phy <=> port)
> >>>
> >>
> >> Yes, this should be port and apb here.
> >> We'll integrate phy driver into ctrl driver, and move phy reset to here 
> >> also.
> >
> > Why? That's the wrong thing to do if they are separate h/w blocks. You
> > can do whatever you like in the drivers, but the DT should reflect the
> > h/w.
> >
> > Rob
> >
> > .
> >
>
> We have the dedicated phy driver which only process reset job,
> and we consider that it's too overkill to do just these things .
> So we will integrate phy reset job into the controller driver int the next 
> version.

What's in the separate register space you had for the phy?

Rob


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Rob Herring
On Thu, Aug 30, 2018 at 2:37 AM Hanjie Lin  wrote:
>
>
>
> On 2018/8/29 8:41, Rob Herring wrote:
> > On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
> >>
> >>
> >> On 2018/8/24 16:22, Jerome Brunet wrote:
> >>> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
>  From: Yue Wang 
> 
>  The Amlogic Meson PCIe host controller is based on the Synopsys 
>  DesignWare
>  PCI core. This patch adds documentation for the DT bindings in Meson PCIe
>  controller.
> 
>  Signed-off-by: Yue Wang 
>  Signed-off-by: Hanjie Lin 
>  ---
>   .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
>  ++
>   1 file changed, 63 insertions(+)
>   create mode 100644 
>  Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> 
>  diff --git 
>  a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
>  b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>  new file mode 100644
>  index 000..8a831d1
>  --- /dev/null
>  +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>  @@ -0,0 +1,63 @@
>  +Amlogic Meson AXG DWC PCIE SoC controller
>  +
>  +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
>  PCI core.
>  +It shares common functions with the PCIe DesignWare core driver and
>  +inherits common properties defined in
>  +Documentation/devicetree/bindings/pci/designware-pci.txt.
>  +
>  +Additional properties are described here:
>  +
>  +Required properties:
>  +- compatible:
>  +  should contain "amlogic,axg-pcie" to identify the core.
>  +- reg:
>  +  Should contain the configuration address space.
>  +- reg-names: Must be
>  +  - "elbi"External local bus interface registers
>  +  - "cfg" Meson specific registers
>  +  - "config"  PCIe configuration space
>  +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
>  signal.
>  +- clocks: Must contain an entry for each entry in clock-names.
>  +- clock-names: Must include the following entries:
>  +  - "pclk"   PCIe GEN 100M PLL clock
>  +  - "port"   PCIe_x(A or B) RC clock gate
>  +  - "general"PCIe Phy clock
>  +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
>  +- resets: phandle to the reset lines.
>  +- reset-names: must contain "phy" and "peripheral"
>  +   - "port" Port A or B reset
>  +   - "apb" APB reset
> >>>
> >>> The above description is not coherent (phy <=> port)
> >>>
> >>
> >> Yes, this should be port and apb here.
> >> We'll integrate phy driver into ctrl driver, and move phy reset to here 
> >> also.
> >
> > Why? That's the wrong thing to do if they are separate h/w blocks. You
> > can do whatever you like in the drivers, but the DT should reflect the
> > h/w.
> >
> > Rob
> >
> > .
> >
>
> We have the dedicated phy driver which only process reset job,
> and we consider that it's too overkill to do just these things .
> So we will integrate phy reset job into the controller driver int the next 
> version.

What's in the separate register space you had for the phy?

Rob


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Jerome Brunet
On Thu, 2018-08-30 at 15:37 +0800, Hanjie Lin wrote:
> 
> On 2018/8/29 8:41, Rob Herring wrote:
> > On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
> > > 
> > > 
> > > On 2018/8/24 16:22, Jerome Brunet wrote:
> > > > On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
> > > > > From: Yue Wang 
> > > > > 
> > > > > The Amlogic Meson PCIe host controller is based on the Synopsys 
> > > > > DesignWare
> > > > > PCI core. This patch adds documentation for the DT bindings in Meson 
> > > > > PCIe
> > > > > controller.
> > > > > 
> > > > > Signed-off-by: Yue Wang 
> > > > > Signed-off-by: Hanjie Lin 
> > > > > ---
> > > > >  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
> > > > > ++
> > > > >  1 file changed, 63 insertions(+)
> > > > >  create mode 100644 
> > > > > Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> > > > > 
> > > > > diff --git 
> > > > > a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
> > > > > b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> > > > > new file mode 100644
> > > > > index 000..8a831d1
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> > > > > @@ -0,0 +1,63 @@
> > > > > +Amlogic Meson AXG DWC PCIE SoC controller
> > > > > +
> > > > > +Amlogic Meson PCIe host controller is based on the Synopsys 
> > > > > DesignWare PCI core.
> > > > > +It shares common functions with the PCIe DesignWare core driver and
> > > > > +inherits common properties defined in
> > > > > +Documentation/devicetree/bindings/pci/designware-pci.txt.
> > > > > +
> > > > > +Additional properties are described here:
> > > > > +
> > > > > +Required properties:
> > > > > +- compatible:
> > > > > + should contain "amlogic,axg-pcie" to identify the core.
> > > > > +- reg:
> > > > > + Should contain the configuration address space.
> > > > > +- reg-names: Must be
> > > > > + - "elbi"External local bus interface registers
> > > > > + - "cfg" Meson specific registers
> > > > > + - "config"  PCIe configuration space
> > > > > +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
> > > > > signal.
> > > > > +- clocks: Must contain an entry for each entry in clock-names.
> > > > > +- clock-names: Must include the following entries:
> > > > > + - "pclk"   PCIe GEN 100M PLL clock
> > > > > + - "port"   PCIe_x(A or B) RC clock gate
> > > > > + - "general"PCIe Phy clock
> > > > > + - "mipi"   PCIe_x(A or B) 100M ref clock gate
> > > > > +- resets: phandle to the reset lines.
> > > > > +- reset-names: must contain "phy" and "peripheral"
> > > > > +   - "port" Port A or B reset
> > > > > +   - "apb" APB reset
> > > > 
> > > > The above description is not coherent (phy <=> port)
> > > > 
> > > 
> > > Yes, this should be port and apb here.
> > > We'll integrate phy driver into ctrl driver, and move phy reset to here 
> > > also.
> > 
> > Why? That's the wrong thing to do if they are separate h/w blocks. You 
> > can do whatever you like in the drivers, but the DT should reflect the 
> > h/w.
> > 
> > Rob
> > 
> > .
> > 
> 
> We have the dedicated phy driver which only process reset job,
> and we consider that it's too overkill to do just these things .
> So we will integrate phy reset job into the controller driver int the next 
> version.

Rob has a point there. Even if overkill, it does model the HW as it is.
+ I spotted in your v2 that there is also a register access, so not only the
reset

> 
> thanks. 




Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Jerome Brunet
On Thu, 2018-08-30 at 15:37 +0800, Hanjie Lin wrote:
> 
> On 2018/8/29 8:41, Rob Herring wrote:
> > On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
> > > 
> > > 
> > > On 2018/8/24 16:22, Jerome Brunet wrote:
> > > > On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
> > > > > From: Yue Wang 
> > > > > 
> > > > > The Amlogic Meson PCIe host controller is based on the Synopsys 
> > > > > DesignWare
> > > > > PCI core. This patch adds documentation for the DT bindings in Meson 
> > > > > PCIe
> > > > > controller.
> > > > > 
> > > > > Signed-off-by: Yue Wang 
> > > > > Signed-off-by: Hanjie Lin 
> > > > > ---
> > > > >  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
> > > > > ++
> > > > >  1 file changed, 63 insertions(+)
> > > > >  create mode 100644 
> > > > > Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> > > > > 
> > > > > diff --git 
> > > > > a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
> > > > > b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> > > > > new file mode 100644
> > > > > index 000..8a831d1
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> > > > > @@ -0,0 +1,63 @@
> > > > > +Amlogic Meson AXG DWC PCIE SoC controller
> > > > > +
> > > > > +Amlogic Meson PCIe host controller is based on the Synopsys 
> > > > > DesignWare PCI core.
> > > > > +It shares common functions with the PCIe DesignWare core driver and
> > > > > +inherits common properties defined in
> > > > > +Documentation/devicetree/bindings/pci/designware-pci.txt.
> > > > > +
> > > > > +Additional properties are described here:
> > > > > +
> > > > > +Required properties:
> > > > > +- compatible:
> > > > > + should contain "amlogic,axg-pcie" to identify the core.
> > > > > +- reg:
> > > > > + Should contain the configuration address space.
> > > > > +- reg-names: Must be
> > > > > + - "elbi"External local bus interface registers
> > > > > + - "cfg" Meson specific registers
> > > > > + - "config"  PCIe configuration space
> > > > > +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
> > > > > signal.
> > > > > +- clocks: Must contain an entry for each entry in clock-names.
> > > > > +- clock-names: Must include the following entries:
> > > > > + - "pclk"   PCIe GEN 100M PLL clock
> > > > > + - "port"   PCIe_x(A or B) RC clock gate
> > > > > + - "general"PCIe Phy clock
> > > > > + - "mipi"   PCIe_x(A or B) 100M ref clock gate
> > > > > +- resets: phandle to the reset lines.
> > > > > +- reset-names: must contain "phy" and "peripheral"
> > > > > +   - "port" Port A or B reset
> > > > > +   - "apb" APB reset
> > > > 
> > > > The above description is not coherent (phy <=> port)
> > > > 
> > > 
> > > Yes, this should be port and apb here.
> > > We'll integrate phy driver into ctrl driver, and move phy reset to here 
> > > also.
> > 
> > Why? That's the wrong thing to do if they are separate h/w blocks. You 
> > can do whatever you like in the drivers, but the DT should reflect the 
> > h/w.
> > 
> > Rob
> > 
> > .
> > 
> 
> We have the dedicated phy driver which only process reset job,
> and we consider that it's too overkill to do just these things .
> So we will integrate phy reset job into the controller driver int the next 
> version.

Rob has a point there. Even if overkill, it does model the HW as it is.
+ I spotted in your v2 that there is also a register access, so not only the
reset

> 
> thanks. 




Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Hanjie Lin



On 2018/8/29 8:41, Rob Herring wrote:
> On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
>>
>>
>> On 2018/8/24 16:22, Jerome Brunet wrote:
>>> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
 From: Yue Wang 

 The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
 PCI core. This patch adds documentation for the DT bindings in Meson PCIe
 controller.

 Signed-off-by: Yue Wang 
 Signed-off-by: Hanjie Lin 
 ---
  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
 ++
  1 file changed, 63 insertions(+)
  create mode 100644 
 Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt

 diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
 b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
 new file mode 100644
 index 000..8a831d1
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
 @@ -0,0 +1,63 @@
 +Amlogic Meson AXG DWC PCIE SoC controller
 +
 +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
 PCI core.
 +It shares common functions with the PCIe DesignWare core driver and
 +inherits common properties defined in
 +Documentation/devicetree/bindings/pci/designware-pci.txt.
 +
 +Additional properties are described here:
 +
 +Required properties:
 +- compatible:
 +  should contain "amlogic,axg-pcie" to identify the core.
 +- reg:
 +  Should contain the configuration address space.
 +- reg-names: Must be
 +  - "elbi"External local bus interface registers
 +  - "cfg" Meson specific registers
 +  - "config"  PCIe configuration space
 +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
 signal.
 +- clocks: Must contain an entry for each entry in clock-names.
 +- clock-names: Must include the following entries:
 +  - "pclk"   PCIe GEN 100M PLL clock
 +  - "port"   PCIe_x(A or B) RC clock gate
 +  - "general"PCIe Phy clock
 +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
 +- resets: phandle to the reset lines.
 +- reset-names: must contain "phy" and "peripheral"
 +   - "port" Port A or B reset
 +   - "apb" APB reset
>>>
>>> The above description is not coherent (phy <=> port)
>>>
>>
>> Yes, this should be port and apb here.
>> We'll integrate phy driver into ctrl driver, and move phy reset to here also.
> 
> Why? That's the wrong thing to do if they are separate h/w blocks. You 
> can do whatever you like in the drivers, but the DT should reflect the 
> h/w.
> 
> Rob
> 
> .
> 

We have the dedicated phy driver which only process reset job,
and we consider that it's too overkill to do just these things .
So we will integrate phy reset job into the controller driver int the next 
version.  

thanks. 


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-30 Thread Hanjie Lin



On 2018/8/29 8:41, Rob Herring wrote:
> On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
>>
>>
>> On 2018/8/24 16:22, Jerome Brunet wrote:
>>> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
 From: Yue Wang 

 The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
 PCI core. This patch adds documentation for the DT bindings in Meson PCIe
 controller.

 Signed-off-by: Yue Wang 
 Signed-off-by: Hanjie Lin 
 ---
  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
 ++
  1 file changed, 63 insertions(+)
  create mode 100644 
 Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt

 diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
 b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
 new file mode 100644
 index 000..8a831d1
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
 @@ -0,0 +1,63 @@
 +Amlogic Meson AXG DWC PCIE SoC controller
 +
 +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
 PCI core.
 +It shares common functions with the PCIe DesignWare core driver and
 +inherits common properties defined in
 +Documentation/devicetree/bindings/pci/designware-pci.txt.
 +
 +Additional properties are described here:
 +
 +Required properties:
 +- compatible:
 +  should contain "amlogic,axg-pcie" to identify the core.
 +- reg:
 +  Should contain the configuration address space.
 +- reg-names: Must be
 +  - "elbi"External local bus interface registers
 +  - "cfg" Meson specific registers
 +  - "config"  PCIe configuration space
 +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
 signal.
 +- clocks: Must contain an entry for each entry in clock-names.
 +- clock-names: Must include the following entries:
 +  - "pclk"   PCIe GEN 100M PLL clock
 +  - "port"   PCIe_x(A or B) RC clock gate
 +  - "general"PCIe Phy clock
 +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
 +- resets: phandle to the reset lines.
 +- reset-names: must contain "phy" and "peripheral"
 +   - "port" Port A or B reset
 +   - "apb" APB reset
>>>
>>> The above description is not coherent (phy <=> port)
>>>
>>
>> Yes, this should be port and apb here.
>> We'll integrate phy driver into ctrl driver, and move phy reset to here also.
> 
> Why? That's the wrong thing to do if they are separate h/w blocks. You 
> can do whatever you like in the drivers, but the DT should reflect the 
> h/w.
> 
> Rob
> 
> .
> 

We have the dedicated phy driver which only process reset job,
and we consider that it's too overkill to do just these things .
So we will integrate phy reset job into the controller driver int the next 
version.  

thanks. 


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-28 Thread Rob Herring
On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
> 
> 
> On 2018/8/24 16:22, Jerome Brunet wrote:
> > On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
> >> From: Yue Wang 
> >>
> >> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
> >> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
> >> controller.
> >>
> >> Signed-off-by: Yue Wang 
> >> Signed-off-by: Hanjie Lin 
> >> ---
> >>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
> >> ++
> >>  1 file changed, 63 insertions(+)
> >>  create mode 100644 
> >> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
> >> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> >> new file mode 100644
> >> index 000..8a831d1
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> >> @@ -0,0 +1,63 @@
> >> +Amlogic Meson AXG DWC PCIE SoC controller
> >> +
> >> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
> >> PCI core.
> >> +It shares common functions with the PCIe DesignWare core driver and
> >> +inherits common properties defined in
> >> +Documentation/devicetree/bindings/pci/designware-pci.txt.
> >> +
> >> +Additional properties are described here:
> >> +
> >> +Required properties:
> >> +- compatible:
> >> +  should contain "amlogic,axg-pcie" to identify the core.
> >> +- reg:
> >> +  Should contain the configuration address space.
> >> +- reg-names: Must be
> >> +  - "elbi"External local bus interface registers
> >> +  - "cfg" Meson specific registers
> >> +  - "config"  PCIe configuration space
> >> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
> >> signal.
> >> +- clocks: Must contain an entry for each entry in clock-names.
> >> +- clock-names: Must include the following entries:
> >> +  - "pclk"   PCIe GEN 100M PLL clock
> >> +  - "port"   PCIe_x(A or B) RC clock gate
> >> +  - "general"PCIe Phy clock
> >> +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
> >> +- resets: phandle to the reset lines.
> >> +- reset-names: must contain "phy" and "peripheral"
> >> +   - "port" Port A or B reset
> >> +   - "apb" APB reset
> > 
> > The above description is not coherent (phy <=> port)
> > 
> 
> Yes, this should be port and apb here.
> We'll integrate phy driver into ctrl driver, and move phy reset to here also.

Why? That's the wrong thing to do if they are separate h/w blocks. You 
can do whatever you like in the drivers, but the DT should reflect the 
h/w.

Rob



Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-28 Thread Rob Herring
On Mon, Aug 27, 2018 at 04:55:20PM +0800, Hanjie Lin wrote:
> 
> 
> On 2018/8/24 16:22, Jerome Brunet wrote:
> > On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
> >> From: Yue Wang 
> >>
> >> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
> >> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
> >> controller.
> >>
> >> Signed-off-by: Yue Wang 
> >> Signed-off-by: Hanjie Lin 
> >> ---
> >>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
> >> ++
> >>  1 file changed, 63 insertions(+)
> >>  create mode 100644 
> >> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
> >> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> >> new file mode 100644
> >> index 000..8a831d1
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> >> @@ -0,0 +1,63 @@
> >> +Amlogic Meson AXG DWC PCIE SoC controller
> >> +
> >> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare 
> >> PCI core.
> >> +It shares common functions with the PCIe DesignWare core driver and
> >> +inherits common properties defined in
> >> +Documentation/devicetree/bindings/pci/designware-pci.txt.
> >> +
> >> +Additional properties are described here:
> >> +
> >> +Required properties:
> >> +- compatible:
> >> +  should contain "amlogic,axg-pcie" to identify the core.
> >> +- reg:
> >> +  Should contain the configuration address space.
> >> +- reg-names: Must be
> >> +  - "elbi"External local bus interface registers
> >> +  - "cfg" Meson specific registers
> >> +  - "config"  PCIe configuration space
> >> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert 
> >> signal.
> >> +- clocks: Must contain an entry for each entry in clock-names.
> >> +- clock-names: Must include the following entries:
> >> +  - "pclk"   PCIe GEN 100M PLL clock
> >> +  - "port"   PCIe_x(A or B) RC clock gate
> >> +  - "general"PCIe Phy clock
> >> +  - "mipi"   PCIe_x(A or B) 100M ref clock gate
> >> +- resets: phandle to the reset lines.
> >> +- reset-names: must contain "phy" and "peripheral"
> >> +   - "port" Port A or B reset
> >> +   - "apb" APB reset
> > 
> > The above description is not coherent (phy <=> port)
> > 
> 
> Yes, this should be port and apb here.
> We'll integrate phy driver into ctrl driver, and move phy reset to here also.

Why? That's the wrong thing to do if they are separate h/w blocks. You 
can do whatever you like in the drivers, but the DT should reflect the 
h/w.

Rob



Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-27 Thread Hanjie Lin



On 2018/8/24 16:22, Jerome Brunet wrote:
> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
>> From: Yue Wang 
>>
>> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
>> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
>> controller.
>>
>> Signed-off-by: Yue Wang 
>> Signed-off-by: Hanjie Lin 
>> ---
>>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
>> ++
>>  1 file changed, 63 insertions(+)
>>  create mode 100644 
>> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
>> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> new file mode 100644
>> index 000..8a831d1
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> @@ -0,0 +1,63 @@
>> +Amlogic Meson AXG DWC PCIE SoC controller
>> +
>> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI 
>> core.
>> +It shares common functions with the PCIe DesignWare core driver and
>> +inherits common properties defined in
>> +Documentation/devicetree/bindings/pci/designware-pci.txt.
>> +
>> +Additional properties are described here:
>> +
>> +Required properties:
>> +- compatible:
>> +should contain "amlogic,axg-pcie" to identify the core.
>> +- reg:
>> +Should contain the configuration address space.
>> +- reg-names: Must be
>> +- "elbi"External local bus interface registers
>> +- "cfg" Meson specific registers
>> +- "config"  PCIe configuration space
>> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
>> +- clocks: Must contain an entry for each entry in clock-names.
>> +- clock-names: Must include the following entries:
>> +- "pclk"   PCIe GEN 100M PLL clock
>> +- "port"   PCIe_x(A or B) RC clock gate
>> +- "general"PCIe Phy clock
>> +- "mipi"   PCIe_x(A or B) 100M ref clock gate
>> +- resets: phandle to the reset lines.
>> +- reset-names: must contain "phy" and "peripheral"
>> +   - "port" Port A or B reset
>> +   - "apb" APB reset
> 
> The above description is not coherent (phy <=> port)
> 

Yes, this should be port and apb here.
We'll integrate phy driver into ctrl driver, and move phy reset to here also.

>> +
>> +Example configuration:
>> +
>> +pcie: pcie@f980 {
>> +compatible = "amlogic,axg-pcie", "snps,dw-pcie";
>> +reg = <0x0 0xf980 0x0 0x40
>> +0x0 0xff646000 0x0 0x2000
>> +0x0 0xf9f0 0x0 0x10>;
>> +reg-names = "elbi", "cfg", "config";
>> +reset-gpios = < GPIOX_19 GPIO_ACTIVE_HIGH>;
>> +interrupts = ;
>> +#interrupt-cells = <1>;
>> +interrupt-map-mask = <0 0 0 0>;
>> +interrupt-map = <0 0 0 0  GIC_SPI 179 
>> IRQ_TYPE_EDGE_RISING>;
>> +bus-range = <0x0 0xff>;
>> +#address-cells = <3>;
>> +#size-cells = <2>;
>> +device_type = "pci";
> 
> Not described above - is it even used ?
> 

It's necessary, specified in designware-pcie.txt:
 - device_type:
  Usage: required
  Value type: 
  Definition: Should be "pci". 

>> +phys = <_phy>;
> 
> Not documented and not necessary. Please remove this.
> 

We'll remove phy driver and this also.

>> +ranges = <0x8200 0 0 0x0 0xf9c0 0 0x0030>;
>> +
>> +clocks = < CLKID_USB
>> + CLKID_MIPI_ENABLE
>> + CLKID_PCIE_A
>> + CLKID_PCIE_CML_EN0>;
>> +clock-names = "general",
>> +"mipi",
>> +"pclk",
>> +"port";
>> +resets = < RESET_PCIE_A>,
>> +< RESET_PCIE_APB>;
>> +reset-names = "port",
>> +"apb";
>> +};
> 
> 
> .
> 


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-27 Thread Hanjie Lin



On 2018/8/24 16:22, Jerome Brunet wrote:
> On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
>> From: Yue Wang 
>>
>> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
>> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
>> controller.
>>
>> Signed-off-by: Yue Wang 
>> Signed-off-by: Hanjie Lin 
>> ---
>>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
>> ++
>>  1 file changed, 63 insertions(+)
>>  create mode 100644 
>> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>>
>> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
>> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> new file mode 100644
>> index 000..8a831d1
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
>> @@ -0,0 +1,63 @@
>> +Amlogic Meson AXG DWC PCIE SoC controller
>> +
>> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI 
>> core.
>> +It shares common functions with the PCIe DesignWare core driver and
>> +inherits common properties defined in
>> +Documentation/devicetree/bindings/pci/designware-pci.txt.
>> +
>> +Additional properties are described here:
>> +
>> +Required properties:
>> +- compatible:
>> +should contain "amlogic,axg-pcie" to identify the core.
>> +- reg:
>> +Should contain the configuration address space.
>> +- reg-names: Must be
>> +- "elbi"External local bus interface registers
>> +- "cfg" Meson specific registers
>> +- "config"  PCIe configuration space
>> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
>> +- clocks: Must contain an entry for each entry in clock-names.
>> +- clock-names: Must include the following entries:
>> +- "pclk"   PCIe GEN 100M PLL clock
>> +- "port"   PCIe_x(A or B) RC clock gate
>> +- "general"PCIe Phy clock
>> +- "mipi"   PCIe_x(A or B) 100M ref clock gate
>> +- resets: phandle to the reset lines.
>> +- reset-names: must contain "phy" and "peripheral"
>> +   - "port" Port A or B reset
>> +   - "apb" APB reset
> 
> The above description is not coherent (phy <=> port)
> 

Yes, this should be port and apb here.
We'll integrate phy driver into ctrl driver, and move phy reset to here also.

>> +
>> +Example configuration:
>> +
>> +pcie: pcie@f980 {
>> +compatible = "amlogic,axg-pcie", "snps,dw-pcie";
>> +reg = <0x0 0xf980 0x0 0x40
>> +0x0 0xff646000 0x0 0x2000
>> +0x0 0xf9f0 0x0 0x10>;
>> +reg-names = "elbi", "cfg", "config";
>> +reset-gpios = < GPIOX_19 GPIO_ACTIVE_HIGH>;
>> +interrupts = ;
>> +#interrupt-cells = <1>;
>> +interrupt-map-mask = <0 0 0 0>;
>> +interrupt-map = <0 0 0 0  GIC_SPI 179 
>> IRQ_TYPE_EDGE_RISING>;
>> +bus-range = <0x0 0xff>;
>> +#address-cells = <3>;
>> +#size-cells = <2>;
>> +device_type = "pci";
> 
> Not described above - is it even used ?
> 

It's necessary, specified in designware-pcie.txt:
 - device_type:
  Usage: required
  Value type: 
  Definition: Should be "pci". 

>> +phys = <_phy>;
> 
> Not documented and not necessary. Please remove this.
> 

We'll remove phy driver and this also.

>> +ranges = <0x8200 0 0 0x0 0xf9c0 0 0x0030>;
>> +
>> +clocks = < CLKID_USB
>> + CLKID_MIPI_ENABLE
>> + CLKID_PCIE_A
>> + CLKID_PCIE_CML_EN0>;
>> +clock-names = "general",
>> +"mipi",
>> +"pclk",
>> +"port";
>> +resets = < RESET_PCIE_A>,
>> +< RESET_PCIE_APB>;
>> +reset-names = "port",
>> +"apb";
>> +};
> 
> 
> .
> 


Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-24 Thread Jerome Brunet
On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
> From: Yue Wang 
> 
> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
> controller.
> 
> Signed-off-by: Yue Wang 
> Signed-off-by: Hanjie Lin 
> ---
>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
> ++
>  1 file changed, 63 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> 
> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> new file mode 100644
> index 000..8a831d1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> @@ -0,0 +1,63 @@
> +Amlogic Meson AXG DWC PCIE SoC controller
> +
> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI 
> core.
> +It shares common functions with the PCIe DesignWare core driver and
> +inherits common properties defined in
> +Documentation/devicetree/bindings/pci/designware-pci.txt.
> +
> +Additional properties are described here:
> +
> +Required properties:
> +- compatible:
> + should contain "amlogic,axg-pcie" to identify the core.
> +- reg:
> + Should contain the configuration address space.
> +- reg-names: Must be
> + - "elbi"External local bus interface registers
> + - "cfg" Meson specific registers
> + - "config"  PCIe configuration space
> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
> +- clocks: Must contain an entry for each entry in clock-names.
> +- clock-names: Must include the following entries:
> + - "pclk"   PCIe GEN 100M PLL clock
> + - "port"   PCIe_x(A or B) RC clock gate
> + - "general"PCIe Phy clock
> + - "mipi"   PCIe_x(A or B) 100M ref clock gate
> +- resets: phandle to the reset lines.
> +- reset-names: must contain "phy" and "peripheral"
> +   - "port" Port A or B reset
> +   - "apb" APB reset

The above description is not coherent (phy <=> port)

> +
> +Example configuration:
> +
> + pcie: pcie@f980 {
> + compatible = "amlogic,axg-pcie", "snps,dw-pcie";
> + reg = <0x0 0xf980 0x0 0x40
> + 0x0 0xff646000 0x0 0x2000
> + 0x0 0xf9f0 0x0 0x10>;
> + reg-names = "elbi", "cfg", "config";
> + reset-gpios = < GPIOX_19 GPIO_ACTIVE_HIGH>;
> + interrupts = ;
> + #interrupt-cells = <1>;
> + interrupt-map-mask = <0 0 0 0>;
> + interrupt-map = <0 0 0 0  GIC_SPI 179 
> IRQ_TYPE_EDGE_RISING>;
> + bus-range = <0x0 0xff>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";

Not described above - is it even used ?

> + phys = <_phy>;

Not documented and not necessary. Please remove this.

> + ranges = <0x8200 0 0 0x0 0xf9c0 0 0x0030>;
> +
> + clocks = < CLKID_USB
> +  CLKID_MIPI_ENABLE
> +  CLKID_PCIE_A
> +  CLKID_PCIE_CML_EN0>;
> + clock-names = "general",
> + "mipi",
> + "pclk",
> + "port";
> + resets = < RESET_PCIE_A>,
> + < RESET_PCIE_APB>;
> + reset-names = "port",
> + "apb";
> + };




Re: [PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-24 Thread Jerome Brunet
On Fri, 2018-08-24 at 15:36 +0800, Hanjie Lin wrote:
> From: Yue Wang 
> 
> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
> PCI core. This patch adds documentation for the DT bindings in Meson PCIe
> controller.
> 
> Signed-off-by: Yue Wang 
> Signed-off-by: Hanjie Lin 
> ---
>  .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 
> ++
>  1 file changed, 63 insertions(+)
>  create mode 100644 
> Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> 
> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
> b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> new file mode 100644
> index 000..8a831d1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> @@ -0,0 +1,63 @@
> +Amlogic Meson AXG DWC PCIE SoC controller
> +
> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI 
> core.
> +It shares common functions with the PCIe DesignWare core driver and
> +inherits common properties defined in
> +Documentation/devicetree/bindings/pci/designware-pci.txt.
> +
> +Additional properties are described here:
> +
> +Required properties:
> +- compatible:
> + should contain "amlogic,axg-pcie" to identify the core.
> +- reg:
> + Should contain the configuration address space.
> +- reg-names: Must be
> + - "elbi"External local bus interface registers
> + - "cfg" Meson specific registers
> + - "config"  PCIe configuration space
> +- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
> +- clocks: Must contain an entry for each entry in clock-names.
> +- clock-names: Must include the following entries:
> + - "pclk"   PCIe GEN 100M PLL clock
> + - "port"   PCIe_x(A or B) RC clock gate
> + - "general"PCIe Phy clock
> + - "mipi"   PCIe_x(A or B) 100M ref clock gate
> +- resets: phandle to the reset lines.
> +- reset-names: must contain "phy" and "peripheral"
> +   - "port" Port A or B reset
> +   - "apb" APB reset

The above description is not coherent (phy <=> port)

> +
> +Example configuration:
> +
> + pcie: pcie@f980 {
> + compatible = "amlogic,axg-pcie", "snps,dw-pcie";
> + reg = <0x0 0xf980 0x0 0x40
> + 0x0 0xff646000 0x0 0x2000
> + 0x0 0xf9f0 0x0 0x10>;
> + reg-names = "elbi", "cfg", "config";
> + reset-gpios = < GPIOX_19 GPIO_ACTIVE_HIGH>;
> + interrupts = ;
> + #interrupt-cells = <1>;
> + interrupt-map-mask = <0 0 0 0>;
> + interrupt-map = <0 0 0 0  GIC_SPI 179 
> IRQ_TYPE_EDGE_RISING>;
> + bus-range = <0x0 0xff>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";

Not described above - is it even used ?

> + phys = <_phy>;

Not documented and not necessary. Please remove this.

> + ranges = <0x8200 0 0 0x0 0xf9c0 0 0x0030>;
> +
> + clocks = < CLKID_USB
> +  CLKID_MIPI_ENABLE
> +  CLKID_PCIE_A
> +  CLKID_PCIE_CML_EN0>;
> + clock-names = "general",
> + "mipi",
> + "pclk",
> + "port";
> + resets = < RESET_PCIE_A>,
> + < RESET_PCIE_APB>;
> + reset-names = "port",
> + "apb";
> + };




[PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-24 Thread Hanjie Lin
From: Yue Wang 

The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
PCI core. This patch adds documentation for the DT bindings in Meson PCIe
controller.

Signed-off-by: Yue Wang 
Signed-off-by: Hanjie Lin 
---
 .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 ++
 1 file changed, 63 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt

diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
new file mode 100644
index 000..8a831d1
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
@@ -0,0 +1,63 @@
+Amlogic Meson AXG DWC PCIE SoC controller
+
+Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI 
core.
+It shares common functions with the PCIe DesignWare core driver and
+inherits common properties defined in
+Documentation/devicetree/bindings/pci/designware-pci.txt.
+
+Additional properties are described here:
+
+Required properties:
+- compatible:
+   should contain "amlogic,axg-pcie" to identify the core.
+- reg:
+   Should contain the configuration address space.
+- reg-names: Must be
+   - "elbi"External local bus interface registers
+   - "cfg" Meson specific registers
+   - "config"  PCIe configuration space
+- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
+- clocks: Must contain an entry for each entry in clock-names.
+- clock-names: Must include the following entries:
+   - "pclk"   PCIe GEN 100M PLL clock
+   - "port"   PCIe_x(A or B) RC clock gate
+   - "general"PCIe Phy clock
+   - "mipi"   PCIe_x(A or B) 100M ref clock gate
+- resets: phandle to the reset lines.
+- reset-names: must contain "phy" and "peripheral"
+   - "port" Port A or B reset
+   - "apb" APB reset
+
+Example configuration:
+
+   pcie: pcie@f980 {
+   compatible = "amlogic,axg-pcie", "snps,dw-pcie";
+   reg = <0x0 0xf980 0x0 0x40
+   0x0 0xff646000 0x0 0x2000
+   0x0 0xf9f0 0x0 0x10>;
+   reg-names = "elbi", "cfg", "config";
+   reset-gpios = < GPIOX_19 GPIO_ACTIVE_HIGH>;
+   interrupts = ;
+   #interrupt-cells = <1>;
+   interrupt-map-mask = <0 0 0 0>;
+   interrupt-map = <0 0 0 0  GIC_SPI 179 
IRQ_TYPE_EDGE_RISING>;
+   bus-range = <0x0 0xff>;
+   #address-cells = <3>;
+   #size-cells = <2>;
+   device_type = "pci";
+   phys = <_phy>;
+   ranges = <0x8200 0 0 0x0 0xf9c0 0 0x0030>;
+
+   clocks = < CLKID_USB
+CLKID_MIPI_ENABLE
+CLKID_PCIE_A
+CLKID_PCIE_CML_EN0>;
+   clock-names = "general",
+   "mipi",
+   "pclk",
+   "port";
+   resets = < RESET_PCIE_A>,
+   < RESET_PCIE_APB>;
+   reset-names = "port",
+   "apb";
+   };
-- 
2.7.4



[PATCH v2 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe controller

2018-08-24 Thread Hanjie Lin
From: Yue Wang 

The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare
PCI core. This patch adds documentation for the DT bindings in Meson PCIe
controller.

Signed-off-by: Yue Wang 
Signed-off-by: Hanjie Lin 
---
 .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 63 ++
 1 file changed, 63 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt

diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt 
b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
new file mode 100644
index 000..8a831d1
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
@@ -0,0 +1,63 @@
+Amlogic Meson AXG DWC PCIE SoC controller
+
+Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI 
core.
+It shares common functions with the PCIe DesignWare core driver and
+inherits common properties defined in
+Documentation/devicetree/bindings/pci/designware-pci.txt.
+
+Additional properties are described here:
+
+Required properties:
+- compatible:
+   should contain "amlogic,axg-pcie" to identify the core.
+- reg:
+   Should contain the configuration address space.
+- reg-names: Must be
+   - "elbi"External local bus interface registers
+   - "cfg" Meson specific registers
+   - "config"  PCIe configuration space
+- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
+- clocks: Must contain an entry for each entry in clock-names.
+- clock-names: Must include the following entries:
+   - "pclk"   PCIe GEN 100M PLL clock
+   - "port"   PCIe_x(A or B) RC clock gate
+   - "general"PCIe Phy clock
+   - "mipi"   PCIe_x(A or B) 100M ref clock gate
+- resets: phandle to the reset lines.
+- reset-names: must contain "phy" and "peripheral"
+   - "port" Port A or B reset
+   - "apb" APB reset
+
+Example configuration:
+
+   pcie: pcie@f980 {
+   compatible = "amlogic,axg-pcie", "snps,dw-pcie";
+   reg = <0x0 0xf980 0x0 0x40
+   0x0 0xff646000 0x0 0x2000
+   0x0 0xf9f0 0x0 0x10>;
+   reg-names = "elbi", "cfg", "config";
+   reset-gpios = < GPIOX_19 GPIO_ACTIVE_HIGH>;
+   interrupts = ;
+   #interrupt-cells = <1>;
+   interrupt-map-mask = <0 0 0 0>;
+   interrupt-map = <0 0 0 0  GIC_SPI 179 
IRQ_TYPE_EDGE_RISING>;
+   bus-range = <0x0 0xff>;
+   #address-cells = <3>;
+   #size-cells = <2>;
+   device_type = "pci";
+   phys = <_phy>;
+   ranges = <0x8200 0 0 0x0 0xf9c0 0 0x0030>;
+
+   clocks = < CLKID_USB
+CLKID_MIPI_ENABLE
+CLKID_PCIE_A
+CLKID_PCIE_CML_EN0>;
+   clock-names = "general",
+   "mipi",
+   "pclk",
+   "port";
+   resets = < RESET_PCIE_A>,
+   < RESET_PCIE_APB>;
+   reset-names = "port",
+   "apb";
+   };
-- 
2.7.4