18c2ecf20Sopenharmony_ciHiSilicon STB PCIE/SATA/USB3 PHY 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: Should be "hisilicon,hi3798cv200-combphy" 58c2ecf20Sopenharmony_ci- reg: Should be the address space for COMBPHY configuration and state 68c2ecf20Sopenharmony_ci registers in peripheral controller, e.g. PERI_COMBPHY0_CFG and 78c2ecf20Sopenharmony_ci PERI_COMBPHY0_STATE for COMBPHY0 Hi3798CV200 SoC. 88c2ecf20Sopenharmony_ci- #phy-cells: Should be 1. The cell number is used to select the phy mode 98c2ecf20Sopenharmony_ci as defined in <dt-bindings/phy/phy.h>. 108c2ecf20Sopenharmony_ci- clocks: The phandle to clock provider and clock specifier pair. 118c2ecf20Sopenharmony_ci- resets: The phandle to reset controller and reset specifier pair. 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciRefer to phy/phy-bindings.txt for the generic PHY binding properties. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciOptional properties: 168c2ecf20Sopenharmony_ci- hisilicon,fixed-mode: If the phy device doesn't support mode select 178c2ecf20Sopenharmony_ci but a fixed mode setting, the property should be present to specify 188c2ecf20Sopenharmony_ci the particular mode. 198c2ecf20Sopenharmony_ci- hisilicon,mode-select-bits: If the phy device support mode select, 208c2ecf20Sopenharmony_ci this property should be present to specify the register bits in 218c2ecf20Sopenharmony_ci peripheral controller, as a 3 integers tuple: 228c2ecf20Sopenharmony_ci <register_offset bit_shift bit_mask>. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciNotes: 258c2ecf20Sopenharmony_ci- Between hisilicon,fixed-mode and hisilicon,mode-select-bits, one and only 268c2ecf20Sopenharmony_ci one of them should be present. 278c2ecf20Sopenharmony_ci- The device node should be a child of peripheral controller that contains 288c2ecf20Sopenharmony_ci COMBPHY configuration/state and PERI_CTRL register used to select PHY mode. 298c2ecf20Sopenharmony_ci Refer to arm/hisilicon/hisilicon.txt for the parent peripheral controller 308c2ecf20Sopenharmony_ci bindings. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciExamples: 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciperictrl: peripheral-controller@8a20000 { 358c2ecf20Sopenharmony_ci compatible = "hisilicon,hi3798cv200-perictrl", "syscon", 368c2ecf20Sopenharmony_ci "simple-mfd"; 378c2ecf20Sopenharmony_ci reg = <0x8a20000 0x1000>; 388c2ecf20Sopenharmony_ci #address-cells = <1>; 398c2ecf20Sopenharmony_ci #size-cells = <1>; 408c2ecf20Sopenharmony_ci ranges = <0x0 0x8a20000 0x1000>; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci combphy0: phy@850 { 438c2ecf20Sopenharmony_ci compatible = "hisilicon,hi3798cv200-combphy"; 448c2ecf20Sopenharmony_ci reg = <0x850 0x8>; 458c2ecf20Sopenharmony_ci #phy-cells = <1>; 468c2ecf20Sopenharmony_ci clocks = <&crg HISTB_COMBPHY0_CLK>; 478c2ecf20Sopenharmony_ci resets = <&crg 0x188 4>; 488c2ecf20Sopenharmony_ci hisilicon,fixed-mode = <PHY_TYPE_USB3>; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci combphy1: phy@858 { 528c2ecf20Sopenharmony_ci compatible = "hisilicon,hi3798cv200-combphy"; 538c2ecf20Sopenharmony_ci reg = <0x858 0x8>; 548c2ecf20Sopenharmony_ci #phy-cells = <1>; 558c2ecf20Sopenharmony_ci clocks = <&crg HISTB_COMBPHY1_CLK>; 568c2ecf20Sopenharmony_ci resets = <&crg 0x188 12>; 578c2ecf20Sopenharmony_ci hisilicon,mode-select-bits = <0x0008 11 (0x3 << 11)>; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci}; 60