Re: [PATCH v2 0/6] arm64: dts: meson-g12: add support for PCIe

Neil Armstrong
2019-10-15T13:38:59Z

Hi Lorenzo,

On 15/10/2019 15:14, Lorenzo Pieralisi wrote:
> On Mon, Sep 16, 2019 at 02:50:16PM +0200, Neil Armstrong wrote:
>> This patchset :
>> - updates the Amlogic PCI bindings for G12A
>> - reworks the Amlogic PCIe driver to make use of the
>> G12a USB3+PCIe Combo PHY instead of directly writing in
>> the PHY register
>> - adds the necessary operations to the G12a USB3+PCIe Combo PHY driver
>> - adds the PCIe Node for G12A, G12B and SM1 SoCs
>> - adds the commented support for the S922X, A311D and S905D3 based
>> VIM3 boards.
>>
>> The VIM3 schematic can be found at [1].
>>
>> This patchset is dependent on Remi's "Fix reset assertion via gpio descriptor"
>> patch at [2].
>
> Merged in pci/meson; however, I am not sure what should be done on
> Remi's patch, I would like to queue it up too otherwise it looks
> to me that merging this series is not right.

This serie depends on the fixed polarity in Remi's patch to work.

As Martin noted, no need to update the bindings since the example
is still valid. The GPIO polarity is dependent on the board layout,
but the naming of the gpio needed an update in how we handle the polarity
in the driver like other driver does (we must consider ACTIVE_HIGH in the
driver, whatever is set in the DT since the gpio core will do the
conversion automatically).

Neil

>
> Lorenzo
>
>> This patchset has been tested in a A311D VIM3 and S905D3 VIM3L using a
>> 128Go TS128GMTE110S NVMe PCIe module.
>>
>> For indication, here is a bonnie++ run as ext4 formatted on the VIM3:
>> ------Sequential Output------ --Sequential Input- --Random-
>> -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
>> Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
>> 4G 93865 99 312837 96 194487 23 102808 97 415501 21 +++++ +++
>>
>> and the S905D3 VIM3L version:
>> ------Sequential Output------ --Sequential Input- --Random-
>> -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
>> Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
>> 4G 52144 95 71766 21 47302 10 57078 98 415469 44 +++++ +++
>>
>> Changes since v1 at [3]:
>> - Collected Andrew's and Rob's Reviewed-by tags
>> - Added missing calls to phy_init/phy_exit
>> - Fixes has_shared_phy handling for MIPI clock
>> - Add comment in the DT concerning firmware setting the right properties
>> - Added SM1 Power Domain to PCIe node
>>
>> [1] https://docs.khadas.com/vim3/HardwareDocs.html
>> [2] https://patchwork.kernel.org/patch/11125261/
>> [3] https://patchwork.kernel.org/cover/11136927/
>>
>> Neil Armstrong (6):
>> dt-bindings: pci: amlogic,meson-pcie: Add G12A bindings
>> PCI: amlogic: Fix probed clock names
>> PCI: amlogic: meson: Add support for G12A
>> phy: meson-g12a-usb3-pcie: Add support for PCIe mode
>> arm64: dts: meson-g12a: Add PCIe node
>> arm64: dts: khadas-vim3: add commented support for PCIe
>>
>> .../bindings/pci/amlogic,meson-pcie.txt | 12 +-
>> .../boot/dts/amlogic/meson-g12-common.dtsi | 33 +++++
>> .../amlogic/meson-g12b-a311d-khadas-vim3.dts | 25 ++++
>> .../amlogic/meson-g12b-s922x-khadas-vim3.dts | 25 ++++
>> .../boot/dts/amlogic/meson-khadas-vim3.dtsi | 4 +
>> .../dts/amlogic/meson-sm1-khadas-vim3l.dts | 25 ++++
>> arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 4 +
>> drivers/pci/controller/dwc/pci-meson.c | 132 ++++++++++++++----
>> .../phy/amlogic/phy-meson-g12a-usb3-pcie.c | 70 ++++++++--
>> 9 files changed, 292 insertions(+), 38 deletions(-)
>>
>> --
>> 2.22.0
>>