Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

Motorola CPCAP PMIC USB PHY binding

Required properties:
compatible: Shall be either "motorola,cpcap-usb-phy" or
	    "motorola,mapphone-cpcap-usb-phy"
#phy-cells: Shall be 0
interrupts: CPCAP PMIC interrupts used by the USB PHY
interrupt-names: Interrupt names
io-channels: IIO ADC channels used by the USB PHY
io-channel-names: IIO ADC channel names
vusb-supply: Regulator for the PHY

Optional properties:
pinctrl: Optional alternate pin modes for the PHY
pinctrl-names: Names for optional pin modes
mode-gpios: Optional GPIOs for configuring alternate modes

Example:
cpcap_usb2_phy: phy {
	compatible = "motorola,mapphone-cpcap-usb-phy";
	pinctrl-0 = <&usb_gpio_mux_sel1 &usb_gpio_mux_sel2>;
	pinctrl-1 = <&usb_ulpi_pins>;
	pinctrl-2 = <&usb_utmi_pins>;
	pinctrl-3 = <&uart3_pins>;
	pinctrl-names = "default", "ulpi", "utmi", "uart";
	#phy-cells = <0>;
	interrupts-extended = <
		&cpcap 15 0 &cpcap 14 0 &cpcap 28 0 &cpcap 19 0
		&cpcap 18 0 &cpcap 17 0 &cpcap 16 0 &cpcap 49 0
		&cpcap 48 1
	>;
	interrupt-names =
		"id_ground", "id_float", "se0conn", "vbusvld",
		"sessvld", "sessend", "se1", "dm", "dp";
	mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH
		      &gpio1 0 GPIO_ACTIVE_HIGH>;
	io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
	io-channel-names = "vbus", "id";
	vusb-supply = <&vusb>;
};