ARM: dts: rockchip: rv1126: Add Edgeble Neural Compute Module 2(Neu2)
Neural Compute Module 2(Neu2) is a 96boards SoM-CB compute module based on Rockchip RV1126 from Edgeble AI. General features: - Rockchip RV1126 - 2/4GB LPDDR4 - 8/16/32GB eMMC - 2x MIPI CSI2 FPC connector - Fn-link 8223A-SR WiFi/BT Industrial grade (-40 °C to +85 °C) version of the same class of module called Neu2k powered with Rockchip RV1126K. Neu2 needs to mount on top of Edgeble IO boards for creating complete platform solutions. Add support for it. Signed-off-by: Jagan Teki <jagan@edgeble.ai>
This commit is contained in:
		
							parent
							
								
									6d70d826f5
								
							
						
					
					
						commit
						d12471c7be
					
				|  | @ -0,0 +1,338 @@ | |||
| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| /* | ||||
|  * Copyright (c) 2020 Rockchip Electronics Co., Ltd. | ||||
|  * Copyright (c) 2022 Edgeble AI Technologies Pvt. Ltd. | ||||
|  */ | ||||
| 
 | ||||
| / { | ||||
| 	compatible = "edgeble,neural-compute-module-2", "rockchip,rv1126"; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		mmc0 = &emmc; | ||||
| 	}; | ||||
| 
 | ||||
| 	vcc5v0_sys: vcc5v0-sys-regulator { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "vcc5v0_sys"; | ||||
| 		regulator-always-on; | ||||
| 		regulator-boot-on; | ||||
| 		regulator-min-microvolt = <5000000>; | ||||
| 		regulator-max-microvolt = <5000000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	vccio_flash: vccio-flash-regulator { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		enable-active-high; | ||||
| 		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&flash_vol_sel>; | ||||
| 		regulator-name = "vccio_flash"; | ||||
| 		regulator-always-on; | ||||
| 		regulator-boot-on; | ||||
| 		regulator-min-microvolt = <1800000>; | ||||
| 		regulator-max-microvolt = <1800000>; | ||||
| 		vin-supply = <&vcc_3v3>; | ||||
| 	}; | ||||
| 
 | ||||
| 	sdio_pwrseq: pwrseq-sdio { | ||||
| 		compatible = "mmc-pwrseq-simple"; | ||||
| 		clocks = <&rk809 1>; | ||||
| 		clock-names = "ext_clock"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&wifi_enable_h>; | ||||
| 		reset-gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_LOW>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &cpu0 { | ||||
| 	cpu-supply = <&vdd_arm>; | ||||
| }; | ||||
| 
 | ||||
| &emmc { | ||||
| 	bus-width = <8>; | ||||
| 	non-removable; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_rstnout>; | ||||
| 	rockchip,default-sample-phase = <90>; | ||||
| 	vmmc-supply = <&vcc_3v3>; | ||||
| 	vqmmc-supply = <&vccio_flash>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	clock-frequency = <400000>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	rk809: pmic@20 { | ||||
| 		compatible = "rockchip,rk809"; | ||||
| 		reg = <0x20>; | ||||
| 		interrupt-parent = <&gpio0>; | ||||
| 		interrupts = <RK_PB1 IRQ_TYPE_LEVEL_LOW>; | ||||
| 		#clock-cells = <1>; | ||||
| 		clock-output-names = "rk808-clkout1", "rk808-clkout2"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&pmic_int_l>; | ||||
| 		rockchip,system-power-controller; | ||||
| 		wakeup-source; | ||||
| 
 | ||||
| 		vcc1-supply = <&vcc5v0_sys>; | ||||
| 		vcc2-supply = <&vcc5v0_sys>; | ||||
| 		vcc3-supply = <&vcc5v0_sys>; | ||||
| 		vcc4-supply = <&vcc5v0_sys>; | ||||
| 		vcc5-supply = <&vcc_buck5>; | ||||
| 		vcc6-supply = <&vcc_buck5>; | ||||
| 		vcc7-supply = <&vcc5v0_sys>; | ||||
| 		vcc8-supply = <&vcc3v3_sys>; | ||||
| 		vcc9-supply = <&vcc5v0_sys>; | ||||
| 
 | ||||
| 		regulators { | ||||
| 			vdd_npu_vepu: DCDC_REG1 { | ||||
| 				regulator-name = "vdd_npu_vepu"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-initial-mode = <0x2>; | ||||
| 				regulator-min-microvolt = <650000>; | ||||
| 				regulator-max-microvolt = <950000>; | ||||
| 				regulator-ramp-delay = <6001>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vdd_arm: DCDC_REG2 { | ||||
| 				regulator-name = "vdd_arm"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-initial-mode = <0x2>; | ||||
| 				regulator-min-microvolt = <725000>; | ||||
| 				regulator-max-microvolt = <1350000>; | ||||
| 				regulator-ramp-delay = <6001>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_ddr: DCDC_REG3 { | ||||
| 				regulator-name = "vcc_ddr"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-initial-mode = <0x2>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-on-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc3v3_sys: DCDC_REG4 { | ||||
| 				regulator-name = "vcc3v3_sys"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-initial-mode = <0x2>; | ||||
| 				regulator-min-microvolt = <3300000>; | ||||
| 				regulator-max-microvolt = <3300000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-on-in-suspend; | ||||
| 					regulator-suspend-microvolt = <3300000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_buck5: DCDC_REG5 { | ||||
| 				regulator-name = "vcc_buck5"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <2200000>; | ||||
| 				regulator-max-microvolt = <2200000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-on-in-suspend; | ||||
| 					regulator-suspend-microvolt = <2200000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_0v8: LDO_REG1 { | ||||
| 				regulator-name = "vcc_0v8"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <800000>; | ||||
| 				regulator-max-microvolt = <800000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc1v8_pmu: LDO_REG2 { | ||||
| 				regulator-name = "vcc1v8_pmu"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <1800000>; | ||||
| 				regulator-max-microvolt = <1800000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-on-in-suspend; | ||||
| 					regulator-suspend-microvolt = <1800000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vdd0v8_pmu: LDO_REG3 { | ||||
| 				regulator-name = "vcc0v8_pmu"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <800000>; | ||||
| 				regulator-max-microvolt = <800000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-on-in-suspend; | ||||
| 					regulator-suspend-microvolt = <800000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_1v8: LDO_REG4 { | ||||
| 				regulator-name = "vcc_1v8"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <1800000>; | ||||
| 				regulator-max-microvolt = <1800000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-on-in-suspend; | ||||
| 					regulator-suspend-microvolt = <1800000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_dovdd: LDO_REG5 { | ||||
| 				regulator-name = "vcc_dovdd"; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <1800000>; | ||||
| 				regulator-max-microvolt = <1800000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_dvdd: LDO_REG6 { | ||||
| 				regulator-name = "vcc_dvdd"; | ||||
| 				regulator-min-microvolt = <1200000>; | ||||
| 				regulator-max-microvolt = <1200000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_avdd: LDO_REG7 { | ||||
| 				regulator-name = "vcc_avdd"; | ||||
| 				regulator-min-microvolt = <2800000>; | ||||
| 				regulator-max-microvolt = <2800000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vccio_sd: LDO_REG8 { | ||||
| 				regulator-name = "vccio_sd"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <1800000>; | ||||
| 				regulator-max-microvolt = <3300000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc3v3_sd: LDO_REG9 { | ||||
| 				regulator-name = "vcc3v3_sd"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 				regulator-min-microvolt = <3300000>; | ||||
| 				regulator-max-microvolt = <3300000>; | ||||
| 				regulator-state-mem { | ||||
| 					regulator-off-in-suspend; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_5v0: SWITCH_REG1 { | ||||
| 				regulator-name = "vcc_5v0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			vcc_3v3: SWITCH_REG2 { | ||||
| 				regulator-name = "vcc_3v3"; | ||||
| 				regulator-always-on; | ||||
| 				regulator-boot-on; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &pinctrl { | ||||
| 	bt { | ||||
| 		bt_enable: bt-enable { | ||||
| 			rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	flash { | ||||
| 		flash_vol_sel: flash-vol-sel { | ||||
| 			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	pmic { | ||||
| 		pmic_int_l: pmic-int-l { | ||||
| 			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	wifi { | ||||
| 		wifi_enable_h: wifi-enable-h { | ||||
| 			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &pmu_io_domains { | ||||
| 	pmuio0-supply = <&vcc1v8_pmu>; | ||||
| 	pmuio1-supply = <&vcc3v3_sys>; | ||||
| 	vccio1-supply = <&vccio_flash>; | ||||
| 	vccio2-supply = <&vccio_sd>; | ||||
| 	vccio3-supply = <&vcc_1v8>; | ||||
| 	vccio4-supply = <&vcc_dovdd>; | ||||
| 	vccio5-supply = <&vcc_1v8>; | ||||
| 	vccio6-supply = <&vcc_1v8>; | ||||
| 	vccio7-supply = <&vcc_dovdd>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &saradc { | ||||
| 	vref-supply = <&vcc_1v8>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &sdio { | ||||
| 	bus-width = <4>; | ||||
| 	cap-sd-highspeed; | ||||
| 	cap-sdio-irq; | ||||
| 	keep-power-in-suspend; | ||||
| 	max-frequency = <100000000>; | ||||
| 	mmc-pwrseq = <&sdio_pwrseq>; | ||||
| 	non-removable; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>; | ||||
| 	rockchip,default-sample-phase = <90>; | ||||
| 	sd-uhs-sdr104; | ||||
| 	vmmc-supply = <&vcc3v3_sys>; | ||||
| 	vqmmc-supply = <&vcc_1v8>; | ||||
| 	status = "okay"; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	bluetooth { | ||||
| 		compatible = "qcom,qca9377-bt"; | ||||
| 		clocks = <&rk809 1>; | ||||
| 		enable-gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; /* BT_RST */ | ||||
| 		max-speed = <2000000>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&bt_enable>; | ||||
| 		vddxo-supply = <&vcc3v3_sys>; | ||||
| 		vddio-supply = <&vcc_1v8>; | ||||
| 	}; | ||||
| }; | ||||
		Loading…
	
		Reference in New Issue