[PATCH v3] arm64: dts: rockchip: add PCIe3 support on rk3588-jaguar

Quentin Schulz quentin.schulz at theobroma-systems.com
Tue Apr 23 02:10:35 PDT 2024


Hi Jonas, Heiko,

On 4/22/24 20:36, Jonas Karlman wrote:
> Hi Heiko,
> 
> On 2024-04-22 15:35, Heiko Stuebner wrote:
>> From: Heiko Stuebner <heiko.stuebner at cherry.de>
>>
>> The Jaguar SBC provides an M.2 slot connected to the pcie3 controller.
>> In contrast to a number of other boards the pcie-refclk is gpio-controlled,
>> so the necessary clock and is added to the list of pcie3 clocks.
>>
>> Signed-off-by: Heiko Stuebner <heiko.stuebner at cherry.de>
>> Reviewed-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>> ---
>> changes in v3:
>> - drop unnecessary pinctrl comment (Quentin)
>> - add Quentin's review
>>
>> changes in v2:
>> - "an" M.2 slot (Dragan)
>> - pinctrl for refclk-en and reset pin (Quentin)
>> - don't repurpose the pcie30x4_pins pinctrl entry for only wake (Quentin)
>>
>>   .../arm64/boot/dts/rockchip/rk3588-jaguar.dts | 59 +++++++++++++++++++
>>   1 file changed, 59 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
>> index 4076c92668ba..0ad53d7768a3 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
>> @@ -72,6 +72,27 @@ led-1 {
>>   		};
>>   	};
>>   
>> +	/*
>> +	 * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE
>> +	 * clock generator.
>> +	 * The clock output is gated via the OE pin on the clock generator.
>> +	 * This is modeled as a fixed-clock plus a gpio-gate-clock.
>> +	 */
>> +	pcie_refclk_gen: pcie-refclk-gen-clock {
>> +		compatible = "fixed-clock";
>> +		#clock-cells = <0>;
>> +		clock-frequency = <1000000000>;
> 
> This should probably be 100000000 (100 MHz) and not 1 GHz?
> 

Good catch, we also need to fix this for Tiger where the same mistake 
was made it seems :/

Wondering if we couldn't have some kind of constant to make it more 
readable in DTSes? E.g.

#define 1K	1000
#define 1Ki	1024
#define 1M	1000000
#define 1Mi	1048576


And in the DT we could simply have <(100 * 1M)> wherever appropriate?

Thanks,
Quentin



More information about the linux-arm-kernel mailing list