Merge branch 'master' of git://git.denx.de/u-boot-sunxi
- Convert DM_MMC and DM_SCSI - A20, R40, H6 Linux dts(i) sync - CLK, RESET support for sunxi, sun8_emac net drivers
This commit is contained in:
		
						commit
						4b37f36d68
					
				|  | @ -857,6 +857,8 @@ config ARCH_SUNXI | |||
| 	select DM_ETH | ||||
| 	select DM_GPIO | ||||
| 	select DM_KEYBOARD | ||||
| 	select DM_MMC if MMC | ||||
| 	select DM_SCSI if SCSI | ||||
| 	select DM_SERIAL | ||||
| 	select DM_USB if DISTRO_DEFAULTS | ||||
| 	select OF_BOARD_SETUP | ||||
|  |  | |||
|  | @ -21,17 +21,55 @@ | |||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 
 | ||||
| 		power { | ||||
| 			label = "orangepi:red:power"; | ||||
| 			gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
| 
 | ||||
| 		status { | ||||
| 			label = "orangepi:green:status"; | ||||
| 			gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	reg_vcc5v: vcc5v { | ||||
| 		/* board wide 5V supply directly from the DC jack */ | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "vcc-5v"; | ||||
| 		regulator-min-microvolt = <5000000>; | ||||
| 		regulator-max-microvolt = <5000000>; | ||||
| 		regulator-always-on; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &ehci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ehci3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins>; | ||||
| 	vmmc-supply = <®_cldo1>; | ||||
| 	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; | ||||
| 	bus-width = <4>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ohci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ohci3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &r_i2c { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
|  | @ -43,6 +81,14 @@ | |||
| 		interrupt-controller; | ||||
| 		#interrupt-cells = <1>; | ||||
| 		x-powers,self-working-mode; | ||||
| 		vina-supply = <®_vcc5v>; | ||||
| 		vinb-supply = <®_vcc5v>; | ||||
| 		vinc-supply = <®_vcc5v>; | ||||
| 		vind-supply = <®_vcc5v>; | ||||
| 		vine-supply = <®_vcc5v>; | ||||
| 		aldoin-supply = <®_vcc5v>; | ||||
| 		bldoin-supply = <®_vcc5v>; | ||||
| 		cldoin-supply = <®_vcc5v>; | ||||
| 
 | ||||
| 		regulators { | ||||
| 			reg_aldo1: aldo1 { | ||||
|  | @ -148,3 +194,15 @@ | |||
| 	pinctrl-0 = <&uart0_ph_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb2otg { | ||||
| 	dr_mode = "otg"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb2phy { | ||||
| 	usb0_id_det-gpios = <&pio 2 6 GPIO_ACTIVE_HIGH>; /* PC6 */ | ||||
| 	usb0_vbus-supply = <®_vcc5v>; | ||||
| 	usb3_vbus-supply = <®_vcc5v>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ | |||
| 	compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &emac; | ||||
| 		serial0 = &uart0; | ||||
| 	}; | ||||
| 
 | ||||
|  | @ -21,6 +22,17 @@ | |||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	connector { | ||||
| 		compatible = "hdmi-connector"; | ||||
| 		type = "a"; | ||||
| 
 | ||||
| 		port { | ||||
| 			hdmi_con_in: endpoint { | ||||
| 				remote-endpoint = <&hdmi_out_con>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 
 | ||||
|  | @ -39,23 +51,79 @@ | |||
| 			gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	reg_usb_vbus: vbus { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		regulator-name = "usb-vbus"; | ||||
| 		regulator-min-microvolt = <5000000>; | ||||
| 		regulator-max-microvolt = <5000000>; | ||||
| 		startup-delay-us = <100000>; | ||||
| 		gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; | ||||
| 		enable-active-high; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &emac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ext_rgmii_pins>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-handle = <&ext_rgmii_phy>; | ||||
| 	phy-supply = <®_aldo2>; | ||||
| 	allwinner,rx-delay-ps = <200>; | ||||
| 	allwinner,tx-delay-ps = <200>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mdio { | ||||
| 	ext_rgmii_phy: ethernet-phy@1 { | ||||
| 		compatible = "ethernet-phy-ieee802.3-c22"; | ||||
| 		reg = <1>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &de { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &hdmi { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &hdmi_out { | ||||
| 	hdmi_out_con: endpoint { | ||||
| 		remote-endpoint = <&hdmi_con_in>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &ehci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ehci3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins>; | ||||
| 	vmmc-supply = <®_cldo1>; | ||||
| 	cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; | ||||
| 	bus-width = <4>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc2_pins>; | ||||
| 	vmmc-supply = <®_cldo1>; | ||||
| 	vqmmc-supply = <®_bldo2>; | ||||
| 	non-removable; | ||||
| 	cap-mmc-hw-reset; | ||||
| 	bus-width = <8>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ohci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ohci3 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -83,6 +151,7 @@ | |||
| 				regulator-min-microvolt = <3300000>; | ||||
| 				regulator-max-microvolt = <3300000>; | ||||
| 				regulator-name = "vcc-ac200"; | ||||
| 				regulator-enable-ramp-delay = <100000>; | ||||
| 			}; | ||||
| 
 | ||||
| 			reg_aldo3: aldo3 { | ||||
|  | @ -183,3 +252,14 @@ | |||
| 	pinctrl-0 = <&uart0_ph_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb2otg { | ||||
| 	dr_mode = "host"; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &usb2phy { | ||||
| 	usb0_vbus-supply = <®_usb_vbus>; | ||||
| 	usb3_vbus-supply = <®_usb_vbus>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -6,8 +6,11 @@ | |||
| #include <dt-bindings/interrupt-controller/arm-gic.h> | ||||
| #include <dt-bindings/clock/sun50i-h6-ccu.h> | ||||
| #include <dt-bindings/clock/sun50i-h6-r-ccu.h> | ||||
| #include <dt-bindings/clock/sun8i-de2.h> | ||||
| #include <dt-bindings/clock/sun8i-tcon-top.h> | ||||
| #include <dt-bindings/reset/sun50i-h6-ccu.h> | ||||
| #include <dt-bindings/reset/sun50i-h6-r-ccu.h> | ||||
| #include <dt-bindings/reset/sun8i-de2.h> | ||||
| 
 | ||||
| / { | ||||
| 	interrupt-parent = <&gic>; | ||||
|  | @ -19,34 +22,40 @@ | |||
| 		#size-cells = <0>; | ||||
| 
 | ||||
| 		cpu0: cpu@0 { | ||||
| 			compatible = "arm,cortex-a53", "arm,armv8"; | ||||
| 			compatible = "arm,cortex-a53"; | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <0>; | ||||
| 			enable-method = "psci"; | ||||
| 		}; | ||||
| 
 | ||||
| 		cpu1: cpu@1 { | ||||
| 			compatible = "arm,cortex-a53", "arm,armv8"; | ||||
| 			compatible = "arm,cortex-a53"; | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <1>; | ||||
| 			enable-method = "psci"; | ||||
| 		}; | ||||
| 
 | ||||
| 		cpu2: cpu@2 { | ||||
| 			compatible = "arm,cortex-a53", "arm,armv8"; | ||||
| 			compatible = "arm,cortex-a53"; | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <2>; | ||||
| 			enable-method = "psci"; | ||||
| 		}; | ||||
| 
 | ||||
| 		cpu3: cpu@3 { | ||||
| 			compatible = "arm,cortex-a53", "arm,armv8"; | ||||
| 			compatible = "arm,cortex-a53"; | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <3>; | ||||
| 			enable-method = "psci"; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	de: display-engine { | ||||
| 		compatible = "allwinner,sun50i-h6-display-engine"; | ||||
| 		allwinner,pipelines = <&mixer0>; | ||||
| 		status = "disabled"; | ||||
| 	}; | ||||
| 
 | ||||
| 	iosc: internal-osc-clk { | ||||
| 		#clock-cells = <0>; | ||||
| 		compatible = "fixed-clock"; | ||||
|  | @ -92,6 +101,99 @@ | |||
| 		#size-cells = <1>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		display-engine@1000000 { | ||||
| 			compatible = "allwinner,sun50i-h6-de3", | ||||
| 				     "allwinner,sun50i-a64-de2"; | ||||
| 			reg = <0x1000000 0x400000>; | ||||
| 			allwinner,sram = <&de2_sram 1>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
| 			ranges = <0 0x1000000 0x400000>; | ||||
| 
 | ||||
| 			display_clocks: clock@0 { | ||||
| 				compatible = "allwinner,sun50i-h6-de3-clk"; | ||||
| 				reg = <0x0 0x10000>; | ||||
| 				clocks = <&ccu CLK_DE>, | ||||
| 					 <&ccu CLK_BUS_DE>; | ||||
| 				clock-names = "mod", | ||||
| 					      "bus"; | ||||
| 				resets = <&ccu RST_BUS_DE>; | ||||
| 				#clock-cells = <1>; | ||||
| 				#reset-cells = <1>; | ||||
| 			}; | ||||
| 
 | ||||
| 			mixer0: mixer@100000 { | ||||
| 				compatible = "allwinner,sun50i-h6-de3-mixer-0"; | ||||
| 				reg = <0x100000 0x100000>; | ||||
| 				clocks = <&display_clocks CLK_BUS_MIXER0>, | ||||
| 					 <&display_clocks CLK_MIXER0>; | ||||
| 				clock-names = "bus", | ||||
| 					      "mod"; | ||||
| 				resets = <&display_clocks RST_MIXER0>; | ||||
| 
 | ||||
| 				ports { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 
 | ||||
| 					mixer0_out: port@1 { | ||||
| 						reg = <1>; | ||||
| 
 | ||||
| 						mixer0_out_tcon_top_mixer0: endpoint { | ||||
| 							remote-endpoint = <&tcon_top_mixer0_in_mixer0>; | ||||
| 						}; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		video-codec@1c0e000 { | ||||
| 			compatible = "allwinner,sun50i-h6-video-engine"; | ||||
| 			reg = <0x01c0e000 0x2000>; | ||||
| 			clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, | ||||
| 				 <&ccu CLK_MBUS_VE>; | ||||
| 			clock-names = "ahb", "mod", "ram"; | ||||
| 			resets = <&ccu RST_BUS_VE>; | ||||
| 			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			allwinner,sram = <&ve_sram 1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		syscon: syscon@3000000 { | ||||
| 			compatible = "allwinner,sun50i-h6-system-control", | ||||
| 				     "allwinner,sun50i-a64-system-control"; | ||||
| 			reg = <0x03000000 0x1000>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
| 			ranges; | ||||
| 
 | ||||
| 			sram_c: sram@28000 { | ||||
| 				compatible = "mmio-sram"; | ||||
| 				reg = <0x00028000 0x1e000>; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				ranges = <0 0x00028000 0x1e000>; | ||||
| 
 | ||||
| 				de2_sram: sram-section@0 { | ||||
| 					compatible = "allwinner,sun50i-h6-sram-c", | ||||
| 						     "allwinner,sun50i-a64-sram-c"; | ||||
| 					reg = <0x0000 0x1e000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			sram_c1: sram@1a00000 { | ||||
| 				compatible = "mmio-sram"; | ||||
| 				reg = <0x01a00000 0x200000>; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				ranges = <0 0x01a00000 0x200000>; | ||||
| 
 | ||||
| 				ve_sram: sram-section@0 { | ||||
| 					compatible = "allwinner,sun50i-h6-sram-c1", | ||||
| 						     "allwinner,sun4i-a10-sram-c1"; | ||||
| 					reg = <0x000000 0x200000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		ccu: clock@3001000 { | ||||
| 			compatible = "allwinner,sun50i-h6-ccu"; | ||||
| 			reg = <0x03001000 0x1000>; | ||||
|  | @ -101,15 +203,9 @@ | |||
| 			#reset-cells = <1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		gic: interrupt-controller@3021000 { | ||||
| 			compatible = "arm,gic-400"; | ||||
| 			reg = <0x03021000 0x1000>, | ||||
| 			      <0x03022000 0x2000>, | ||||
| 			      <0x03024000 0x2000>, | ||||
| 			      <0x03026000 0x2000>; | ||||
| 			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | ||||
| 			interrupt-controller; | ||||
| 			#interrupt-cells = <3>; | ||||
| 		sid: sid@3006000 { | ||||
| 			compatible = "allwinner,sun50i-h6-sid"; | ||||
| 			reg = <0x03006000 0x400>; | ||||
| 		}; | ||||
| 
 | ||||
| 		pio: pinctrl@300b000 { | ||||
|  | @ -126,6 +222,19 @@ | |||
| 			interrupt-controller; | ||||
| 			#interrupt-cells = <3>; | ||||
| 
 | ||||
| 			ext_rgmii_pins: rgmii-pins { | ||||
| 				pins = "PD0", "PD1", "PD2", "PD3", "PD4", | ||||
| 				       "PD5", "PD7", "PD8", "PD9", "PD10", | ||||
| 				       "PD11", "PD12", "PD13", "PD19", "PD20"; | ||||
| 				function = "emac"; | ||||
| 				drive-strength = <40>; | ||||
| 			}; | ||||
| 
 | ||||
| 			hdmi_pins: hdmi-pins { | ||||
| 				pins = "PH8", "PH9", "PH10"; | ||||
| 				function = "hdmi"; | ||||
| 			}; | ||||
| 
 | ||||
| 			mmc0_pins: mmc0-pins { | ||||
| 				pins = "PF0", "PF1", "PF2", "PF3", | ||||
| 				       "PF4", "PF5"; | ||||
|  | @ -143,12 +252,23 @@ | |||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart0_ph_pins: uart0-ph { | ||||
| 			uart0_ph_pins: uart0-ph-pins { | ||||
| 				pins = "PH0", "PH1"; | ||||
| 				function = "uart0"; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		gic: interrupt-controller@3021000 { | ||||
| 			compatible = "arm,gic-400"; | ||||
| 			reg = <0x03021000 0x1000>, | ||||
| 			      <0x03022000 0x2000>, | ||||
| 			      <0x03024000 0x2000>, | ||||
| 			      <0x03026000 0x2000>; | ||||
| 			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | ||||
| 			interrupt-controller; | ||||
| 			#interrupt-cells = <3>; | ||||
| 		}; | ||||
| 
 | ||||
| 		mmc0: mmc@4020000 { | ||||
| 			compatible = "allwinner,sun50i-h6-mmc", | ||||
| 				     "allwinner,sun50i-a64-mmc"; | ||||
|  | @ -158,6 +278,8 @@ | |||
| 			resets = <&ccu RST_BUS_MMC0>; | ||||
| 			reset-names = "ahb"; | ||||
| 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&mmc0_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -186,6 +308,8 @@ | |||
| 			resets = <&ccu RST_BUS_MMC2>; | ||||
| 			reset-names = "ahb"; | ||||
| 			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&mmc2_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -235,6 +359,250 @@ | |||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		emac: ethernet@5020000 { | ||||
| 			compatible = "allwinner,sun50i-h6-emac", | ||||
| 				     "allwinner,sun50i-a64-emac"; | ||||
| 			syscon = <&syscon>; | ||||
| 			reg = <0x05020000 0x10000>; | ||||
| 			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			interrupt-names = "macirq"; | ||||
| 			resets = <&ccu RST_BUS_EMAC>; | ||||
| 			reset-names = "stmmaceth"; | ||||
| 			clocks = <&ccu CLK_BUS_EMAC>; | ||||
| 			clock-names = "stmmaceth"; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			mdio: mdio { | ||||
| 				compatible = "snps,dwmac-mdio"; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		usb2otg: usb@5100000 { | ||||
| 			compatible = "allwinner,sun50i-h6-musb", | ||||
| 				     "allwinner,sun8i-a33-musb"; | ||||
| 			reg = <0x05100000 0x0400>; | ||||
| 			clocks = <&ccu CLK_BUS_OTG>; | ||||
| 			resets = <&ccu RST_BUS_OTG>; | ||||
| 			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			interrupt-names = "mc"; | ||||
| 			phys = <&usb2phy 0>; | ||||
| 			phy-names = "usb"; | ||||
| 			extcon = <&usb2phy 0>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		usb2phy: phy@5100400 { | ||||
| 			compatible = "allwinner,sun50i-h6-usb-phy"; | ||||
| 			reg = <0x05100400 0x24>, | ||||
| 			      <0x05101800 0x4>, | ||||
| 			      <0x05311800 0x4>; | ||||
| 			reg-names = "phy_ctrl", | ||||
| 				    "pmu0", | ||||
| 				    "pmu3"; | ||||
| 			clocks = <&ccu CLK_USB_PHY0>, | ||||
| 				 <&ccu CLK_USB_PHY3>; | ||||
| 			clock-names = "usb0_phy", | ||||
| 				      "usb3_phy"; | ||||
| 			resets = <&ccu RST_USB_PHY0>, | ||||
| 				 <&ccu RST_USB_PHY3>; | ||||
| 			reset-names = "usb0_reset", | ||||
| 				      "usb3_reset"; | ||||
| 			status = "disabled"; | ||||
| 			#phy-cells = <1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		ehci0: usb@5101000 { | ||||
| 			compatible = "allwinner,sun50i-h6-ehci", "generic-ehci"; | ||||
| 			reg = <0x05101000 0x100>; | ||||
| 			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_OHCI0>, | ||||
| 				 <&ccu CLK_BUS_EHCI0>, | ||||
| 				 <&ccu CLK_USB_OHCI0>; | ||||
| 			resets = <&ccu RST_BUS_OHCI0>, | ||||
| 				 <&ccu RST_BUS_EHCI0>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		ohci0: usb@5101400 { | ||||
| 			compatible = "allwinner,sun50i-h6-ohci", "generic-ohci"; | ||||
| 			reg = <0x05101400 0x100>; | ||||
| 			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_OHCI0>, | ||||
| 				 <&ccu CLK_USB_OHCI0>; | ||||
| 			resets = <&ccu RST_BUS_OHCI0>; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		ehci3: usb@5311000 { | ||||
| 			compatible = "allwinner,sun50i-h6-ehci", "generic-ehci"; | ||||
| 			reg = <0x05311000 0x100>; | ||||
| 			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_OHCI3>, | ||||
| 				 <&ccu CLK_BUS_EHCI3>, | ||||
| 				 <&ccu CLK_USB_OHCI3>; | ||||
| 			resets = <&ccu RST_BUS_OHCI3>, | ||||
| 				 <&ccu RST_BUS_EHCI3>; | ||||
| 			phys = <&usb2phy 3>; | ||||
| 			phy-names = "usb"; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		ohci3: usb@5311400 { | ||||
| 			compatible = "allwinner,sun50i-h6-ohci", "generic-ohci"; | ||||
| 			reg = <0x05311400 0x100>; | ||||
| 			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_OHCI3>, | ||||
| 				 <&ccu CLK_USB_OHCI3>; | ||||
| 			resets = <&ccu RST_BUS_OHCI3>; | ||||
| 			phys = <&usb2phy 3>; | ||||
| 			phy-names = "usb"; | ||||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		hdmi: hdmi@6000000 { | ||||
| 			compatible = "allwinner,sun50i-h6-dw-hdmi"; | ||||
| 			reg = <0x06000000 0x10000>; | ||||
| 			reg-io-width = <1>; | ||||
| 			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>, | ||||
| 				 <&ccu CLK_HDMI>, <&ccu CLK_HDMI_CEC>, | ||||
| 				 <&ccu CLK_HDCP>, <&ccu CLK_BUS_HDCP>; | ||||
| 			clock-names = "iahb", "isfr", "tmds", "cec", "hdcp", | ||||
| 				      "hdcp-bus"; | ||||
| 			resets = <&ccu RST_BUS_HDMI_SUB>, <&ccu RST_BUS_HDCP>; | ||||
| 			reset-names = "ctrl", "hdcp"; | ||||
| 			phys = <&hdmi_phy>; | ||||
| 			phy-names = "hdmi-phy"; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&hdmi_pins>; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				hdmi_in: port@0 { | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					hdmi_in_tcon_top: endpoint { | ||||
| 						remote-endpoint = <&tcon_top_hdmi_out_hdmi>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				hdmi_out: port@1 { | ||||
| 					reg = <1>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		hdmi_phy: hdmi-phy@6010000 { | ||||
| 			compatible = "allwinner,sun50i-h6-hdmi-phy"; | ||||
| 			reg = <0x06010000 0x10000>; | ||||
| 			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>; | ||||
| 			clock-names = "bus", "mod"; | ||||
| 			resets = <&ccu RST_BUS_HDMI>; | ||||
| 			reset-names = "phy"; | ||||
| 			#phy-cells = <0>; | ||||
| 		}; | ||||
| 
 | ||||
| 		tcon_top: tcon-top@6510000 { | ||||
| 			compatible = "allwinner,sun50i-h6-tcon-top"; | ||||
| 			reg = <0x06510000 0x1000>; | ||||
| 			clocks = <&ccu CLK_BUS_TCON_TOP>, | ||||
| 				 <&ccu CLK_TCON_TV0>; | ||||
| 			clock-names = "bus", | ||||
| 				      "tcon-tv0"; | ||||
| 			clock-output-names = "tcon-top-tv0"; | ||||
| 			resets = <&ccu RST_BUS_TCON_TOP>; | ||||
| 			reset-names = "rst"; | ||||
| 			#clock-cells = <1>; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				tcon_top_mixer0_in: port@0 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					tcon_top_mixer0_in_mixer0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 						remote-endpoint = <&mixer0_out_tcon_top_mixer0>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_mixer0_out: port@1 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <1>; | ||||
| 
 | ||||
| 					tcon_top_mixer0_out_tcon_tv: endpoint@2 { | ||||
| 						reg = <2>; | ||||
| 						remote-endpoint = <&tcon_tv_in_tcon_top_mixer0>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_hdmi_in: port@4 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <4>; | ||||
| 
 | ||||
| 					tcon_top_hdmi_in_tcon_tv: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 						remote-endpoint = <&tcon_tv_out_tcon_top>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_hdmi_out: port@5 { | ||||
| 					reg = <5>; | ||||
| 
 | ||||
| 					tcon_top_hdmi_out_hdmi: endpoint { | ||||
| 						remote-endpoint = <&hdmi_in_tcon_top>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		tcon_tv: lcd-controller@6515000 { | ||||
| 			compatible = "allwinner,sun50i-h6-tcon-tv", | ||||
| 				     "allwinner,sun8i-r40-tcon-tv"; | ||||
| 			reg = <0x06515000 0x1000>; | ||||
| 			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_TCON_TV0>, | ||||
| 				 <&tcon_top CLK_TCON_TOP_TV0>; | ||||
| 			clock-names = "ahb", | ||||
| 				      "tcon-ch1"; | ||||
| 			resets = <&ccu RST_BUS_TCON_TV0>; | ||||
| 			reset-names = "lcd"; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				tcon_tv_in: port@0 { | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					tcon_tv_in_tcon_top_mixer0: endpoint { | ||||
| 						remote-endpoint = <&tcon_top_mixer0_out_tcon_tv>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_tv_out: port@1 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <1>; | ||||
| 
 | ||||
| 					tcon_tv_out_tcon_top: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&tcon_top_hdmi_in_tcon_tv>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		r_ccu: clock@7010000 { | ||||
| 			compatible = "allwinner,sun50i-h6-r-ccu"; | ||||
| 			reg = <0x07010000 0x400>; | ||||
|  | @ -266,7 +634,7 @@ | |||
| 			interrupt-controller; | ||||
| 			#interrupt-cells = <3>; | ||||
| 
 | ||||
| 			r_i2c_pins: r-i2c { | ||||
| 			r_i2c_pins: r-i2c-pins { | ||||
| 				pins = "PL0", "PL1"; | ||||
| 				function = "s_i2c"; | ||||
| 			}; | ||||
|  |  | |||
|  | @ -23,6 +23,6 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -73,8 +73,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_bpi_m1p>; | ||||
| 
 | ||||
| 		green { | ||||
| 			label = "bananapi-m1-plus:green:usr"; | ||||
|  | @ -90,15 +88,11 @@ | |||
| 
 | ||||
| 	mmc3_pwrseq: mmc3_pwrseq { | ||||
| 		compatible = "mmc-pwrseq-simple"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&mmc3_pwrseq_pin_bpi_m1p>; | ||||
| 		reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 WL-PMU-EN */ | ||||
| 	}; | ||||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_bpi_m1p>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -134,7 +128,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
|  | @ -156,8 +150,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -175,13 +167,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ | ||||
|  | @ -191,8 +181,6 @@ | |||
| &mmc3 { | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <0>; | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&mmc3_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
|  | @ -209,11 +197,6 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mmc3_pins_a { | ||||
| 	/* AP6210 requires pull-up */ | ||||
| 	bias-pull-up; | ||||
| }; | ||||
| 
 | ||||
| &ohci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -226,29 +209,6 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	gmac_power_pin_bpi_m1p: gmac_power_pin@0 { | ||||
| 		pins = "PH23"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_bpi_m1p: led_pins@0 { | ||||
| 		pins = "PH24", "PH25"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc0_cd_pin_bpi_m1p: mmc0_cd_pin@0 { | ||||
| 		pins = "PH10"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc3_pwrseq_pin_bpi_m1p: mmc3_pwrseq_pin@0 { | ||||
| 		pins = "PH22"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_dcdc2 { | ||||
| 	regulator-always-on; | ||||
| 	regulator-min-microvolt = <1000000>; | ||||
|  | @ -280,7 +240,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -76,8 +76,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_bananapi>; | ||||
| 
 | ||||
| 		green { | ||||
| 			label = "bananapi:green:usr"; | ||||
|  | @ -87,8 +85,6 @@ | |||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_bananapi>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -134,7 +130,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
|  | @ -156,8 +152,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -168,20 +162,16 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ | ||||
|  | @ -201,6 +191,11 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	vcc-pa-supply = <®_vcc3v3>; | ||||
| 	vcc-pc-supply = <®_vcc3v3>; | ||||
| 	vcc-pe-supply = <®_vcc3v3>; | ||||
| 	vcc-pf-supply = <®_vcc3v3>; | ||||
| 	vcc-pg-supply = <®_vcc3v3>; | ||||
| 	gpio-line-names = | ||||
| 		/* PA */ | ||||
| 		"ERXD3", "ERXD2", "ERXD1", "ERXD0", "ETXD3", | ||||
|  | @ -252,27 +247,11 @@ | |||
| 		"IO-6", "IO-3", "IO-2", "IO-0", "", "", "", "", | ||||
| 		"", "", "", "", "", "", "", ""; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc0_cd_pin_bananapi: mmc0_cd_pin@0 { | ||||
| 		pins = "PH10"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	gmac_power_pin_bananapi: gmac_power_pin@0 { | ||||
| 		pins = "PH23"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_bananapi: led_pins@0 { | ||||
| 		pins = "PH24"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| #include "axp209.dtsi" | ||||
|  | @ -316,27 +295,27 @@ | |||
| 
 | ||||
| &spi0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi0_pins_a>, | ||||
| 		    <&spi0_cs0_pins_a>, | ||||
| 		    <&spi0_cs1_pins_a>; | ||||
| 	pinctrl-0 = <&spi0_pi_pins>, | ||||
| 		    <&spi0_cs0_pi_pin>, | ||||
| 		    <&spi0_cs1_pi_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart3_pins_b>; | ||||
| 	pinctrl-0 = <&uart3_ph_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart7 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart7_pins_a>; | ||||
| 	pinctrl-0 = <&uart7_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -62,8 +62,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_bananapro>; | ||||
| 
 | ||||
| 		blue { | ||||
| 			label = "bananapro:blue:usr"; | ||||
|  | @ -78,15 +76,11 @@ | |||
| 
 | ||||
| 	wifi_pwrseq: wifi-pwrseq { | ||||
| 		compatible = "mmc-pwrseq-simple"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&vmmc3_pin_bananapro>; | ||||
| 		reset-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; | ||||
| 	}; | ||||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_bananapro>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -114,7 +108,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
|  | @ -126,8 +120,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -142,20 +134,16 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ | ||||
|  | @ -163,8 +151,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&wifi_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
|  | @ -188,74 +174,39 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	gmac_power_pin_bananapro: gmac_power_pin@0 { | ||||
| 		pins = "PH23"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_bananapro: led_pins@0 { | ||||
| 		pins = "PH24", "PG2"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc0_cd_pin_bananapro: mmc0_cd_pin@0 { | ||||
| 		pins = "PH10"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb1_vbus_pin_bananapro: usb1_vbus_pin@0 { | ||||
| 		pins = "PH0"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb2_vbus_pin_bananapro: usb2_vbus_pin@0 { | ||||
| 		pins = "PH1"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	vmmc3_pin_bananapro: vmmc3_pin@0 { | ||||
| 		pins = "PH22"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_usb1_vbus { | ||||
| 	pinctrl-0 = <&usb1_vbus_pin_bananapro>; | ||||
| 	gpio = <&pio 7 0 GPIO_ACTIVE_HIGH>; /* PH0 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| ®_usb2_vbus { | ||||
| 	pinctrl-0 = <&usb2_vbus_pin_bananapro>; | ||||
| 	gpio = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &spi0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi0_pins_a>, | ||||
| 		    <&spi0_cs0_pins_a>, | ||||
| 		    <&spi0_cs1_pins_a>; | ||||
| 	pinctrl-0 = <&spi0_pi_pins>, | ||||
| 		    <&spi0_cs0_pi_pin>, | ||||
| 		    <&spi0_cs1_pi_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart4 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart4_pins_b>; | ||||
| 	pinctrl-0 = <&uart4_ph_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart7 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart7_pins_a>; | ||||
| 	pinctrl-0 = <&uart7_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -74,8 +74,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_cubieboard2>; | ||||
| 
 | ||||
| 		blue { | ||||
| 			label = "cubieboard2:blue:usr"; | ||||
|  | @ -116,7 +114,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -137,8 +135,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -149,20 +145,16 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -182,12 +174,7 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	led_pins_cubieboard2: led_pins@0 { | ||||
| 		pins = "PH20", "PH21"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
|  | @ -239,7 +226,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -74,8 +74,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_cubietruck>; | ||||
| 
 | ||||
| 		blue { | ||||
| 			label = "cubietruck:blue:usr"; | ||||
|  | @ -100,9 +98,9 @@ | |||
| 
 | ||||
| 	mmc3_pwrseq: mmc3_pwrseq { | ||||
| 		compatible = "mmc-pwrseq-simple"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&mmc3_pwrseq_pin_cubietruck>; | ||||
| 		reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */ | ||||
| 		clocks = <&ccu CLK_OUT_A>; | ||||
| 		clock-names = "ext_clock"; | ||||
| 	}; | ||||
| 
 | ||||
| 	sound { | ||||
|  | @ -151,7 +149,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	status = "okay"; | ||||
|  | @ -172,8 +170,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -185,25 +181,20 @@ | |||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -211,8 +202,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&mmc3_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
|  | @ -228,11 +217,6 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mmc3_pins_a { | ||||
| 	/* AP6210 requires pull-up */ | ||||
| 	bias-pull-up; | ||||
| }; | ||||
| 
 | ||||
| &ohci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -246,45 +230,18 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 { | ||||
| 		pins = "PH12"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_cubietruck: led_pins@0 { | ||||
| 		pins = "PH7", "PH11", "PH20", "PH21"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc3_pwrseq_pin_cubietruck: mmc3_pwrseq_pin@0 { | ||||
| 		pins = "PH9"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_pin_a: usb0_vbus_pin@0 { | ||||
| 		pins = "PH17"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 		pins = "PH19"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||||
| 		pins = "PH22"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| 	/* Pin outputs low power clock for WiFi and BT */ | ||||
| 	pinctrl-0 = <&clk_out_a_pin>; | ||||
| 	pinctrl-names = "default"; | ||||
| }; | ||||
| 
 | ||||
| &pwm { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&pwm0_pins_a>, <&pwm1_pins_a>; | ||||
| 	pinctrl-0 = <&pwm0_pin>, <&pwm1_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| ®_ahci_5v { | ||||
| 	pinctrl-0 = <&ahci_pwr_pin_cubietruck>; | ||||
| 	gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -325,7 +282,6 @@ | |||
| }; | ||||
| 
 | ||||
| ®_usb0_vbus { | ||||
| 	pinctrl-0 = <&usb0_vbus_pin_a>; | ||||
| 	gpio = <&pio 7 17 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -340,16 +296,33 @@ | |||
| 
 | ||||
| &spdif { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spdif_tx_pins_a>; | ||||
| 	pinctrl-0 = <&spdif_tx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>; | ||||
| 	uart-has-rtscts; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	bluetooth { | ||||
| 		compatible = "brcm,bcm20702a1"; | ||||
| 		clocks = <&ccu CLK_OUT_A>; | ||||
| 		clock-names = "lpo"; | ||||
| 		device-wakeup-gpios = <&pio 7 24 GPIO_ACTIVE_LOW>; /* PH24 */ | ||||
| 		host-wakeup-gpios = <&pio 7 25 GPIO_ACTIVE_LOW>; /* PH25 */ | ||||
| 		shutdown-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */ | ||||
| 		max-speed = <1500000>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &usb_otg { | ||||
| 	dr_mode = "otg"; | ||||
| 	status = "okay"; | ||||
|  | @ -360,8 +333,6 @@ | |||
| }; | ||||
| 
 | ||||
| &usbphy { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; | ||||
| 	usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */ | ||||
| 	usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ | ||||
| 	usb0_vbus_power-supply = <&usb_power_supply>; | ||||
|  |  | |||
|  | @ -67,8 +67,6 @@ | |||
| 
 | ||||
| 	reg_mmc3_vdd: mmc3_vdd { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&mmc3_vdd_pin_a20_hummingbird>; | ||||
| 		regulator-name = "mmc3_vdd"; | ||||
| 		regulator-min-microvolt = <3000000>; | ||||
| 		regulator-max-microvolt = <3000000>; | ||||
|  | @ -78,8 +76,6 @@ | |||
| 
 | ||||
| 	reg_gmac_vdd: gmac_vdd { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_vdd_pin_a20_hummingbird>; | ||||
| 		regulator-name = "gmac_vdd"; | ||||
| 		regulator-min-microvolt = <3000000>; | ||||
| 		regulator-max-microvolt = <3000000>; | ||||
|  | @ -103,7 +99,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_vdd>; | ||||
|  | @ -120,8 +116,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -135,32 +129,24 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c3_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v0>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -168,8 +154,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_mmc3_vdd>; | ||||
| 	bus-width = <4>; | ||||
| 	non-removable; | ||||
|  | @ -184,42 +168,18 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	ahci_pwr_pin_a20_hummingbird: ahci_pwr_pin@0 { | ||||
| 		pins = "PH15"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb1_vbus_pin_a20_hummingbird: usb1_vbus_pin@0 { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc3_vdd_pin_a20_hummingbird: mmc3_vdd_pin@0 { | ||||
| 		pins = "PH9"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	gmac_vdd_pin_a20_hummingbird: gmac_vdd_pin@0 { | ||||
| 		pins = "PH16"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &pwm { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&pwm0_pins_a>; | ||||
| 	pinctrl-0 = <&pwm0_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| ®_ahci_5v { | ||||
| 	pinctrl-0 = <&ahci_pwr_pin_a20_hummingbird>; | ||||
| 	gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| ®_usb1_vbus { | ||||
| 	pinctrl-0 = <&usb1_vbus_pin_a20_hummingbird>; | ||||
| 	gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -230,38 +190,38 @@ | |||
| 
 | ||||
| &spi2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi2_pins_b>, | ||||
| 		    <&spi2_cs0_pins_b>; | ||||
| 	pinctrl-0 = <&spi2_pb_pins>, | ||||
| 		    <&spi2_cs0_pb_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart2_pins_a>; | ||||
| 	pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart3_pins_a>; | ||||
| 	pinctrl-0 = <&uart3_pg_pins>, <&uart3_cts_rts_pg_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart4 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart4_pins_a>; | ||||
| 	pinctrl-0 = <&uart4_pg_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart5 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart5_pins_a>; | ||||
| 	pinctrl-0 = <&uart5_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -61,8 +61,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_i12_tvbox>; | ||||
| 
 | ||||
| 		red { | ||||
| 			label = "i12_tvbox:red:usr"; | ||||
|  | @ -77,8 +75,6 @@ | |||
| 
 | ||||
| 	reg_vmmc3: vmmc3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&vmmc3_pin_i12_tvbox>; | ||||
| 		regulator-name = "vmmc3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -88,8 +84,6 @@ | |||
| 
 | ||||
| 	reg_vmmc3_io: vmmc3-io { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&vmmc3_io_pin_i12_tvbox>; | ||||
| 		regulator-name = "vmmc3-io"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -101,8 +95,6 @@ | |||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_i12_tvbox>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -122,7 +114,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
|  | @ -134,8 +126,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -151,13 +141,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -165,8 +153,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_vmmc3>; | ||||
| 	bus-width = <4>; | ||||
| 	non-removable; | ||||
|  | @ -181,11 +167,6 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mmc3_pins_a { | ||||
| 	/* AP6210 / AP6330 requires pull-up */ | ||||
| 	bias-pull-up; | ||||
| }; | ||||
| 
 | ||||
| &ohci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -194,28 +175,6 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	vmmc3_pin_i12_tvbox: vmmc3_pin@0 { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	vmmc3_io_pin_i12_tvbox: vmmc3_io_pin@0 { | ||||
| 		pins = "PH12"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	gmac_power_pin_i12_tvbox: gmac_power_pin@0 { | ||||
| 		pins = "PH21"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_i12_tvbox: led_pins@0 { | ||||
| 		pins = "PH9", "PH20"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_usb1_vbus { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -226,7 +185,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -74,7 +74,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -85,8 +85,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -97,14 +95,10 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 8 5 GPIO_ACTIVE_LOW>; /* PI5 */ | ||||
|  | @ -156,7 +150,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -96,7 +96,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -115,13 +115,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -129,7 +127,7 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	led_pins_itead_core: led_pins@0 { | ||||
| 	led_pins_itead_core: led-pins { | ||||
| 		pins = "PH20","PH21"; | ||||
| 		function = "gpio_out"; | ||||
| 		drive-strength = <20>; | ||||
|  | @ -142,6 +140,6 @@ | |||
| 
 | ||||
| &spdif { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spdif_tx_pins_a>; | ||||
| 	pinctrl-0 = <&spdif_tx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -74,8 +74,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_lamobo_r1>; | ||||
| 
 | ||||
| 		green { | ||||
| 			label = "lamobo_r1:green:usr"; | ||||
|  | @ -85,8 +83,6 @@ | |||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_lamobo_r1>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -123,10 +119,12 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
| 	status = "okay"; | ||||
| 	/delete-property/#address-cells; | ||||
| 	/delete-property/#size-cells; | ||||
| 
 | ||||
| 	fixed-link { | ||||
| 		speed = <1000>; | ||||
|  | @ -141,8 +139,6 @@ | |||
| 		switch: ethernet-switch@1e { | ||||
| 			compatible = "brcm,bcm53125"; | ||||
| 			reg = <30>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
|  | @ -199,8 +195,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -211,20 +205,16 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ | ||||
|  | @ -240,27 +230,11 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc0_cd_pin_lamobo_r1: mmc0_cd_pin@0 { | ||||
| 		pins = "PH10"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	gmac_power_pin_lamobo_r1: gmac_power_pin@0 { | ||||
| 		pins = "PH23"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_lamobo_r1: led_pins@0 { | ||||
| 		pins = "PH24"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| #include "axp209.dtsi" | ||||
|  | @ -314,27 +288,27 @@ | |||
| 
 | ||||
| &spi0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi0_pins_a>, | ||||
| 		    <&spi0_cs0_pins_a>, | ||||
| 		    <&spi0_cs1_pins_a>; | ||||
| 	pinctrl-0 = <&spi0_pi_pins>, | ||||
| 		    <&spi0_cs0_pi_pin>, | ||||
| 		    <&spi0_cs1_pi_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart3_pins_b>; | ||||
| 	pinctrl-0 = <&uart3_ph_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart7 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart7_pins_a>; | ||||
| 	pinctrl-0 = <&uart7_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -63,8 +63,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_m3>; | ||||
| 
 | ||||
| 		blue { | ||||
| 			label = "m3:blue:usr"; | ||||
|  | @ -83,7 +81,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -94,8 +92,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -111,13 +107,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -125,8 +119,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc2_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	non-removable; | ||||
|  | @ -141,13 +133,6 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	led_pins_m3: led_pins@0 { | ||||
| 		pins = "PH20"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_usb1_vbus { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -158,7 +143,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -21,6 +21,10 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &ahci { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ehci0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -31,7 +35,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -51,6 +55,6 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -106,8 +106,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -121,20 +119,14 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v0>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -153,18 +145,6 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||||
| 		pins = "PH5"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_usb0_vbus { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -179,13 +159,13 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart2_pins_a>; | ||||
| 	pinctrl-0 = <&uart2_pi_pins>, <&uart2_cts_rts_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -195,8 +175,6 @@ | |||
| }; | ||||
| 
 | ||||
| &usbphy { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; | ||||
| 	usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ | ||||
| 	usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ | ||||
| 	usb0_vbus-supply = <®_usb0_vbus>; | ||||
|  |  | |||
|  | @ -0,0 +1,35 @@ | |||
| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | ||||
| /* | ||||
|  * Device Tree Source for A20-Olimex-SOM-EVB-eMMC Board | ||||
|  * | ||||
|  * Copyright (C) 2018 Olimex Ltd. | ||||
|  *   Author: Stefan Mavrodiev <stefan@olimex.com> | ||||
|  */ | ||||
| 
 | ||||
| /dts-v1/; | ||||
| #include "sun7i-a20-olimex-som-evb.dts" | ||||
| 
 | ||||
| / { | ||||
| 
 | ||||
| 	model = "Olimex A20-Olimex-SOM-EVB-eMMC"; | ||||
| 	compatible = "olimex,a20-olimex-som-evb-emmc", "allwinner,sun7i-a20"; | ||||
| 
 | ||||
| 	mmc2_pwrseq: mmc2_pwrseq { | ||||
| 		compatible = "mmc-pwrseq-emmc"; | ||||
| 		reset-gpios = <&pio 2 18 GPIO_ACTIVE_LOW>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&mmc2_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
| 	non-removable; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	emmc: emmc@0 { | ||||
| 		reg = <0>; | ||||
| 		compatible = "mmc-card"; | ||||
| 		broken-hpi; | ||||
| 	}; | ||||
| }; | ||||
|  | @ -74,8 +74,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_olimex_som_evb>; | ||||
| 
 | ||||
| 		green { | ||||
| 			label = "a20-olimex-som-evb:green:usr"; | ||||
|  | @ -112,7 +110,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	status = "okay"; | ||||
|  | @ -133,8 +131,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -145,14 +141,10 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -160,49 +152,49 @@ | |||
| 	vref-supply = <®_vcc3v0>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	button@190 { | ||||
| 	button-190 { | ||||
| 		label = "Volume Up"; | ||||
| 		linux,code = <KEY_VOLUMEUP>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <190000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@390 { | ||||
| 	button-390 { | ||||
| 		label = "Volume Down"; | ||||
| 		linux,code = <KEY_VOLUMEDOWN>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <390000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@600 { | ||||
| 	button-600 { | ||||
| 		label = "Menu"; | ||||
| 		linux,code = <KEY_MENU>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <600000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@800 { | ||||
| 	button-800 { | ||||
| 		label = "Search"; | ||||
| 		linux,code = <KEY_SEARCH>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <800000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@980 { | ||||
| 	button-980 { | ||||
| 		label = "Home"; | ||||
| 		linux,code = <KEY_HOMEPAGE>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <980000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@1180 { | ||||
| 	button-1180 { | ||||
| 		label = "Esc"; | ||||
| 		linux,code = <KEY_ESC>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <1180000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@1400 { | ||||
| 	button-1400 { | ||||
| 		label = "Enter"; | ||||
| 		linux,code = <KEY_ENTER>; | ||||
| 		channel = <0>; | ||||
|  | @ -211,8 +203,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -220,8 +210,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 0 GPIO_ACTIVE_LOW>; /* PH0 */ | ||||
|  | @ -241,36 +229,14 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	ahci_pwr_pin_olimex_som_evb: ahci_pwr_pin@1 { | ||||
| 		pins = "PC3"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_olimex_som_evb: led_pins@0 { | ||||
| 	led_pins_olimex_som_evb: led-pins { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 		drive-strength = <20>; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc3_cd_pin_olimex_som_evb: mmc3_cd_pin@0 { | ||||
| 		pins = "PH0"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||||
| 		pins = "PH5"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_ahci_5v { | ||||
| 	pinctrl-0 = <&ahci_pwr_pin_olimex_som_evb>; | ||||
| 	gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -316,33 +282,33 @@ | |||
| 
 | ||||
| &spi1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi1_pins_a>, | ||||
| 		    <&spi1_cs0_pins_a>; | ||||
| 	pinctrl-0 = <&spi1_pi_pins>, | ||||
| 		    <&spi1_cs0_pi_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &spi2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi2_pins_a>, | ||||
| 		    <&spi2_cs0_pins_a>; | ||||
| 	pinctrl-0 = <&spi2_pc_pins>, | ||||
| 		    <&spi2_cs0_pc_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart6 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart6_pins_a>; | ||||
| 	pinctrl-0 = <&uart6_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart7 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart7_pins_a>; | ||||
| 	pinctrl-0 = <&uart7_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -352,8 +318,6 @@ | |||
| }; | ||||
| 
 | ||||
| &usbphy { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; | ||||
| 	usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH04 */ | ||||
| 	usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH05 */ | ||||
| 	usb0_vbus-supply = <®_usb0_vbus>; | ||||
|  |  | |||
|  | @ -20,8 +20,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc2_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&mmc2_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
|  |  | |||
|  | @ -78,7 +78,7 @@ | |||
| 
 | ||||
| &can0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&can0_pins_a>; | ||||
| 	pinctrl-0 = <&can_ph_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -104,7 +104,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy3>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_vcc3v3>; | ||||
|  | @ -130,8 +130,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -143,8 +141,6 @@ | |||
| 
 | ||||
| /* Exposed to UEXT1 */ | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	eeprom: eeprom@50 { | ||||
|  | @ -156,20 +152,16 @@ | |||
| 
 | ||||
| /* Exposed to UEXT2 */ | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; | ||||
|  | @ -177,8 +169,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&rtl_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
|  | @ -203,8 +193,8 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	bt_uart_pins: bt_uart_pins@0 { | ||||
| 		pins = "PG6", "PG7", "PG8"; | ||||
| 	uart3_rts_pin: uart3-rts-pin { | ||||
| 		pins = "PG8"; | ||||
| 		function = "uart3"; | ||||
| 	}; | ||||
| }; | ||||
|  | @ -274,43 +264,43 @@ | |||
| /* Exposed to UEXT1 */ | ||||
| &spi1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi1_pins_a>, | ||||
| 		    <&spi1_cs0_pins_a>; | ||||
| 	pinctrl-0 = <&spi1_pi_pins>, | ||||
| 		    <&spi1_cs0_pi_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| /* Exposed to UEXT2 */ | ||||
| &spi2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi2_pins_a>, | ||||
| 		    <&spi2_cs0_pins_a>; | ||||
| 	pinctrl-0 = <&spi2_pc_pins>, | ||||
| 		    <&spi2_cs0_pc_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| /* Used for RTL8723BS bluetooth */ | ||||
| &uart3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&bt_uart_pins>; | ||||
| 	pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| /* Exposed to UEXT1 */ | ||||
| &uart4 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart4_pins_a>; | ||||
| 	pinctrl-0 = <&uart4_pg_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| /* Exposed to UEXT2 */ | ||||
| &uart7 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart7_pins_a>; | ||||
| 	pinctrl-0 = <&uart7_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -105,7 +105,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -126,8 +126,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -142,8 +140,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	eeprom: eeprom@50 { | ||||
|  | @ -154,8 +150,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -175,24 +169,19 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 { | ||||
| 		pins = "PC3"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_olinuxinolime: led_pins@0 { | ||||
| 	led_pins_olinuxinolime: led-pins { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 		drive-strength = <20>; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||||
| 	usb0_vbus_detect_pin: usb0-vbus-detect-pin { | ||||
| 		pins = "PH5"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-down; | ||||
|  | @ -200,7 +189,6 @@ | |||
| }; | ||||
| 
 | ||||
| ®_ahci_5v { | ||||
| 	pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>; | ||||
| 	gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -219,7 +207,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -48,23 +48,12 @@ | |||
| 	compatible = "olimex,a20-olinuxino-lime2-emmc", "allwinner,sun7i-a20"; | ||||
| 
 | ||||
| 	mmc2_pwrseq: pwrseq { | ||||
| 		pinctrl-0 = <&mmc2_pins_nrst>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		compatible = "mmc-pwrseq-emmc"; | ||||
| 		reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	mmc2_pins_nrst: mmc2-rst-pin { | ||||
| 		pins = "PC16"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc2_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	vqmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
|  |  | |||
|  | @ -110,7 +110,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	status = "okay"; | ||||
|  | @ -131,8 +131,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -143,8 +141,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	eeprom: eeprom@50 { | ||||
|  | @ -154,9 +150,11 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &lradc { | ||||
| 	vref-supply = <®_vcc3v0>; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -176,37 +174,26 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 { | ||||
| 		pins = "PC3"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_olinuxinolime: led_pins@0 { | ||||
| 	led_pins_olinuxinolime: led-pins { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 		drive-strength = <20>; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||||
| 	usb0_vbus_detect_pin: usb0-vbus-detect-pin { | ||||
| 		pins = "PH5"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-down; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_pin_lime2: usb0_vbus_pin@0 { | ||||
| 		pins = "PC17"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_ahci_5v { | ||||
| 	pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>; | ||||
| 	gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -245,6 +232,8 @@ | |||
| 	regulator-min-microvolt = <2800000>; | ||||
| 	regulator-max-microvolt = <2800000>; | ||||
| 	regulator-name = "vddio-csi0"; | ||||
| 	regulator-soft-start; | ||||
| 	regulator-ramp-delay = <1600>; | ||||
| }; | ||||
| 
 | ||||
| ®_ldo4 { | ||||
|  | @ -254,7 +243,6 @@ | |||
| }; | ||||
| 
 | ||||
| ®_usb0_vbus { | ||||
| 	pinctrl-0 = <&usb0_vbus_pin_lime2>; | ||||
| 	gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -269,7 +257,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -54,8 +54,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc2_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	non-removable; | ||||
|  |  | |||
|  | @ -117,7 +117,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>, <&gmac_txerr>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -138,8 +138,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -150,8 +148,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	eeprom: eeprom@50 { | ||||
|  | @ -162,8 +158,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -171,49 +165,49 @@ | |||
| 	vref-supply = <®_vcc3v0>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	button@191 { | ||||
| 	button-191 { | ||||
| 		label = "Volume Up"; | ||||
| 		linux,code = <KEY_VOLUMEUP>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <191274>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@392 { | ||||
| 	button-392 { | ||||
| 		label = "Volume Down"; | ||||
| 		linux,code = <KEY_VOLUMEDOWN>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <392644>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@601 { | ||||
| 	button-601 { | ||||
| 		label = "Menu"; | ||||
| 		linux,code = <KEY_MENU>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <601151>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@795 { | ||||
| 	button-795 { | ||||
| 		label = "Search"; | ||||
| 		linux,code = <KEY_SEARCH>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <795090>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@987 { | ||||
| 	button-987 { | ||||
| 		label = "Home"; | ||||
| 		linux,code = <KEY_HOMEPAGE>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <987387>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@1184 { | ||||
| 	button-1184 { | ||||
| 		label = "Esc"; | ||||
| 		linux,code = <KEY_ESC>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <1184678>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@1398 { | ||||
| 	button-1398 { | ||||
| 		label = "Enter"; | ||||
| 		linux,code = <KEY_ENTER>; | ||||
| 		channel = <0>; | ||||
|  | @ -222,8 +216,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -231,8 +223,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */ | ||||
|  | @ -252,30 +242,24 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	gmac_txerr: gmac_txerr@0 { | ||||
| 	gmac_txerr: gmac-txerr-pin { | ||||
| 		pins = "PA17"; | ||||
| 		function = "gmac"; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc3_cd_pin_olinuxinom: mmc3_cd_pin@0 { | ||||
| 		pins = "PH11"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_olinuxino: led_pins@0 { | ||||
| 	led_pins_olinuxino: led-pins { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 		drive-strength = <20>; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { | ||||
| 	usb0_vbus_detect_pin: usb0-vbus-detect-pin { | ||||
| 		pins = "PH5"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-down; | ||||
|  | @ -331,33 +315,33 @@ | |||
| 
 | ||||
| &spi1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi1_pins_a>, | ||||
| 		    <&spi1_cs0_pins_a>; | ||||
| 	pinctrl-0 = <&spi1_pi_pins>, | ||||
| 		    <&spi1_cs0_pi_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &spi2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&spi2_pins_a>, | ||||
| 		    <&spi2_cs0_pins_a>; | ||||
| 	pinctrl-0 = <&spi2_pc_pins>, | ||||
| 		    <&spi2_cs0_pc_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart6 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart6_pins_a>; | ||||
| 	pinctrl-0 = <&uart6_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart7 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart7_pins_a>; | ||||
| 	pinctrl-0 = <&uart7_pi_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -74,8 +74,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_orangepi>; | ||||
| 
 | ||||
| 		green { | ||||
| 			label = "orangepi:green:usr"; | ||||
|  | @ -90,8 +88,6 @@ | |||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_orangepi>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -123,7 +119,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
|  | @ -145,8 +141,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -160,13 +154,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ | ||||
|  | @ -174,8 +166,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */ | ||||
|  | @ -187,43 +177,11 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc0_cd_pin_orangepi: mmc0_cd_pin@0 { | ||||
| 		pins = "PH10"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc3_cd_pin_orangepi: mmc3_cd_pin@0 { | ||||
| 		pins = "PH11"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb2_vbus_pin_bananapro: usb2_vbus_pin@0 { | ||||
| 		pins = "PH22"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	gmac_power_pin_orangepi: gmac_power_pin@0 { | ||||
| 		pins = "PH23"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_orangepi: led_pins@0 { | ||||
| 		pins = "PH24", "PH25"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb1_vbus_pin_bananapro: usb1_vbus_pin@0 { | ||||
| 		pins = "PH26"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_dcdc2 { | ||||
|  | @ -256,20 +214,18 @@ | |||
| }; | ||||
| 
 | ||||
| ®_usb1_vbus { | ||||
| 	pinctrl-0 = <&usb1_vbus_pin_bananapro>; | ||||
| 	gpio = <&pio 7 26 GPIO_ACTIVE_HIGH>; /* PH26 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| ®_usb2_vbus { | ||||
| 	pinctrl-0 = <&usb2_vbus_pin_bananapro>; | ||||
| 	gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -63,8 +63,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_orangepi>; | ||||
| 
 | ||||
| 		green { | ||||
| 			label = "orangepi:green:usr"; | ||||
|  | @ -74,8 +72,6 @@ | |||
| 
 | ||||
| 	reg_gmac_3v3: gmac-3v3 { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&gmac_power_pin_orangepi>; | ||||
| 		regulator-name = "gmac-3v3"; | ||||
| 		regulator-min-microvolt = <3300000>; | ||||
| 		regulator-max-microvolt = <3300000>; | ||||
|  | @ -99,7 +95,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	phy-supply = <®_gmac_3v3>; | ||||
|  | @ -111,8 +107,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -126,13 +120,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */ | ||||
|  | @ -144,37 +136,11 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	mmc0_cd_pin_orangepi: mmc0_cd_pin@0 { | ||||
| 		pins = "PH10"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb2_vbus_pin_bananapro: usb2_vbus_pin@0 { | ||||
| 		pins = "PH22"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	gmac_power_pin_orangepi: gmac_power_pin@0 { | ||||
| 		pins = "PH23"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_orangepi: led_pins@0 { | ||||
| 		pins = "PH24"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb1_vbus_pin_bananapro: usb1_vbus_pin@0 { | ||||
| 		pins = "PH26"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_dcdc2 { | ||||
|  | @ -207,20 +173,18 @@ | |||
| }; | ||||
| 
 | ||||
| ®_usb1_vbus { | ||||
| 	pinctrl-0 = <&usb1_vbus_pin_bananapro>; | ||||
| 	gpio = <&pio 7 26 GPIO_ACTIVE_HIGH>; /* PH26 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| ®_usb2_vbus { | ||||
| 	pinctrl-0 = <&usb2_vbus_pin_bananapro>; | ||||
| 	gpio = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -71,8 +71,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_pcduino3_nano>; | ||||
| 
 | ||||
| 		/* Marked "LED3" on the PCB. */ | ||||
| 		usr1 { | ||||
|  | @ -115,7 +113,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	status = "okay"; | ||||
|  | @ -136,8 +134,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -149,13 +145,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -175,30 +169,14 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	ahci_pwr_pin_pcduino3_nano: ahci_pwr_pin@0 { | ||||
| 		pins = "PH2"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	led_pins_pcduino3_nano: led_pins@0 { | ||||
| 		pins = "PH16", "PH15"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb1_vbus_pin_pcduino3_nano: usb1_vbus_pin@0 { | ||||
| 		pins = "PD2"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| ®_ahci_5v { | ||||
| 	pinctrl-0 = <&ahci_pwr_pin_pcduino3_nano>; | ||||
| 	gpio = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -232,14 +210,13 @@ | |||
| 
 | ||||
| /* A single regulator (U24) powers both USB host ports. */ | ||||
| ®_usb1_vbus { | ||||
| 	pinctrl-0 = <&usb1_vbus_pin_pcduino3_nano>; | ||||
| 	gpio = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -63,8 +63,6 @@ | |||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&led_pins_pcduino3>; | ||||
| 
 | ||||
| 		tx { | ||||
| 			label = "pcduino3:green:tx"; | ||||
|  | @ -77,23 +75,22 @@ | |||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	gpio_keys { | ||||
| 	gpio-keys { | ||||
| 		compatible = "gpio-keys"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&key_pins_pcduino3>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		button@0 { | ||||
| 
 | ||||
| 		back { | ||||
| 			label = "Key Back"; | ||||
| 			linux,code = <KEY_BACK>; | ||||
| 			gpios = <&pio 7 17 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 		button@1 { | ||||
| 
 | ||||
| 		home { | ||||
| 			label = "Key Home"; | ||||
| 			linux,code = <KEY_HOME>; | ||||
| 			gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 		button@2 { | ||||
| 
 | ||||
| 		menu { | ||||
| 			label = "Key Menu"; | ||||
| 			linux,code = <KEY_MENU>; | ||||
| 			gpios = <&pio 7 19 GPIO_ACTIVE_LOW>; | ||||
|  | @ -124,7 +121,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_mii_a>; | ||||
| 	pinctrl-0 = <&gmac_mii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "mii"; | ||||
| 	status = "okay"; | ||||
|  | @ -135,8 +132,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -150,13 +145,11 @@ | |||
| 
 | ||||
| &ir0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&ir0_rx_pins_a>; | ||||
| 	pinctrl-0 = <&ir0_rx_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -176,17 +169,7 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	led_pins_pcduino3: led_pins@0 { | ||||
| 		pins = "PH15", "PH16"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	key_pins_pcduino3: key_pins@0 { | ||||
| 		pins = "PH17", "PH18", "PH19"; | ||||
| 		function = "gpio_in"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
|  | @ -233,7 +216,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -67,8 +67,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -82,7 +80,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -63,8 +63,6 @@ | |||
| 		pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; | ||||
| 		brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; | ||||
| 		default-brightness-level = <8>; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&bl_enable_pin>; | ||||
| 		enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ | ||||
| 	}; | ||||
| 
 | ||||
|  | @ -74,8 +72,6 @@ | |||
| }; | ||||
| 
 | ||||
| &codec { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&codec_pa_pin>; | ||||
| 	allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -93,8 +89,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -107,14 +101,10 @@ | |||
| #include "axp209.dtsi" | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	gt911: touchscreen@5d { | ||||
|  | @ -122,8 +112,6 @@ | |||
| 		reg = <0x5d>; | ||||
| 		interrupt-parent = <&pio>; | ||||
| 		interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>; /* EINT21 (PH21) */ | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&ts_reset_pin>; | ||||
| 		irq-gpios = <&pio 7 21 GPIO_ACTIVE_HIGH>; /* INT (PH21) */ | ||||
| 		reset-gpios = <&pio 1 13 GPIO_ACTIVE_HIGH>; /* RST (PB13) */ | ||||
| 		touchscreen-swapped-x-y; | ||||
|  | @ -134,14 +122,14 @@ | |||
| 	vref-supply = <®_vcc3v0>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	button@571 { | ||||
| 	button-571 { | ||||
| 		label = "Volume Up"; | ||||
| 		linux,code = <KEY_VOLUMEUP>; | ||||
| 		channel = <0>; | ||||
| 		voltage = <571428>; | ||||
| 	}; | ||||
| 
 | ||||
| 	button@761 { | ||||
| 	button-761 { | ||||
| 		label = "Volume Down"; | ||||
| 		linux,code = <KEY_VOLUMEDOWN>; | ||||
| 		channel = <0>; | ||||
|  | @ -150,8 +138,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -171,22 +157,7 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	bl_enable_pin: bl_enable_pin@0 { | ||||
| 		pins = "PH7"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	codec_pa_pin: codec_pa_pin@0 { | ||||
| 		pins = "PH15"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	ts_reset_pin: ts_reset_pin@0 { | ||||
| 		pins = "PB13"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
|  | @ -195,7 +166,7 @@ | |||
| 
 | ||||
| &pwm { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&pwm0_pins_a>; | ||||
| 	pinctrl-0 = <&pwm0_pin>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -238,7 +209,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,10 @@ | |||
| // SPDX-License-Identifier: GPL-2.0+ | ||||
| /* | ||||
|  * Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com> | ||||
|  */ | ||||
| 
 | ||||
| #include "sunxi-u-boot.dtsi" | ||||
| 
 | ||||
| &ahci { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -62,8 +62,6 @@ | |||
| 
 | ||||
| 	mmc3_pwrseq: mmc3_pwrseq { | ||||
| 		compatible = "mmc-pwrseq-simple"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&vmmc3_pin_ap6xxx_wl_regon>; | ||||
| 		reset-gpios = <&pio 7 9 GPIO_ACTIVE_LOW>; /* PH9 WIFI_EN */ | ||||
| 	}; | ||||
| }; | ||||
|  | @ -82,7 +80,7 @@ | |||
| 
 | ||||
| &gmac { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&gmac_pins_rgmii_a>; | ||||
| 	pinctrl-0 = <&gmac_rgmii_pins>; | ||||
| 	phy = <&phy1>; | ||||
| 	phy-mode = "rgmii"; | ||||
| 	status = "okay"; | ||||
|  | @ -93,8 +91,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -105,22 +101,16 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &i2c2 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c2_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| #include "axp209.dtsi" | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc0_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ | ||||
|  | @ -128,8 +118,6 @@ | |||
| }; | ||||
| 
 | ||||
| &mmc3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&mmc3_pins_a>; | ||||
| 	vmmc-supply = <®_vcc3v3>; | ||||
| 	mmc-pwrseq = <&mmc3_pwrseq>; | ||||
| 	bus-width = <4>; | ||||
|  | @ -158,12 +146,7 @@ | |||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	vmmc3_pin_ap6xxx_wl_regon: vmmc3_pin@0 { | ||||
| 		pins = "PH9"; | ||||
| 		function = "gpio_out"; | ||||
| 	}; | ||||
| 
 | ||||
| 	usb0_id_detect_pin: usb0_id_detect_pin@0 { | ||||
| 	usb0_id_detect_pin: usb0-id-detect-pin { | ||||
| 		pins = "PH4"; | ||||
| 		function = "gpio_in"; | ||||
| 		bias-pull-up; | ||||
|  | @ -209,7 +192,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -23,6 +23,6 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  |  | |||
|  | @ -42,8 +42,6 @@ | |||
|  *     OTHER DEALINGS IN THE SOFTWARE. | ||||
|  */ | ||||
| 
 | ||||
| #include "skeleton.dtsi" | ||||
| 
 | ||||
| #include <dt-bindings/interrupt-controller/arm-gic.h> | ||||
| #include <dt-bindings/thermal/thermal.h> | ||||
| #include <dt-bindings/dma/sun4i-a10.h> | ||||
|  | @ -52,6 +50,8 @@ | |||
| 
 | ||||
| / { | ||||
| 	interrupt-parent = <&gic>; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <1>; | ||||
| 
 | ||||
| 	aliases { | ||||
| 		ethernet0 = &gmac; | ||||
|  | @ -62,7 +62,7 @@ | |||
| 		#size-cells = <1>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		framebuffer@0 { | ||||
| 		framebuffer-lcd0-hdmi { | ||||
| 			compatible = "allwinner,simple-framebuffer", | ||||
| 				     "simple-framebuffer"; | ||||
| 			allwinner,pipeline = "de_be0-lcd0-hdmi"; | ||||
|  | @ -73,7 +73,7 @@ | |||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		framebuffer@1 { | ||||
| 		framebuffer-lcd0 { | ||||
| 			compatible = "allwinner,simple-framebuffer", | ||||
| 				     "simple-framebuffer"; | ||||
| 			allwinner,pipeline = "de_be0-lcd0"; | ||||
|  | @ -83,7 +83,7 @@ | |||
| 			status = "disabled"; | ||||
| 		}; | ||||
| 
 | ||||
| 		framebuffer@2 { | ||||
| 		framebuffer-lcd0-tve0 { | ||||
| 			compatible = "allwinner,simple-framebuffer", | ||||
| 				     "simple-framebuffer"; | ||||
| 			allwinner,pipeline = "de_be0-lcd0-tve0"; | ||||
|  | @ -118,10 +118,23 @@ | |||
| 			#cooling-cells = <2>; | ||||
| 		}; | ||||
| 
 | ||||
| 		cpu@1 { | ||||
| 		cpu1: cpu@1 { | ||||
| 			compatible = "arm,cortex-a7"; | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <1>; | ||||
| 			clocks = <&ccu CLK_CPU>; | ||||
| 			clock-latency = <244144>; /* 8 32k periods */ | ||||
| 			operating-points = < | ||||
| 				/* kHz	  uV */ | ||||
| 				960000	1400000 | ||||
| 				912000	1400000 | ||||
| 				864000	1300000 | ||||
| 				720000	1200000 | ||||
| 				528000	1100000 | ||||
| 				312000	1000000 | ||||
| 				144000	1000000 | ||||
| 				>; | ||||
| 			#cooling-cells = <2>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
|  | @ -135,7 +148,8 @@ | |||
| 			cooling-maps { | ||||
| 				map0 { | ||||
| 					trip = <&cpu_alert0>; | ||||
| 					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | ||||
| 					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, | ||||
| 							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
|  | @ -157,8 +171,19 @@ | |||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 		reg = <0x40000000 0x80000000>; | ||||
| 	reserved-memory { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		/* Address must be kept in the lower 256 MiBs of DRAM for VE. */ | ||||
| 		default-pool { | ||||
| 			compatible = "shared-dma-pool"; | ||||
| 			size = <0x6000000>; | ||||
| 			alloc-ranges = <0x4a000000 0x6000000>; | ||||
| 			reusable; | ||||
| 			linux,cma-default; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	timer { | ||||
|  | @ -170,7 +195,7 @@ | |||
| 	}; | ||||
| 
 | ||||
| 	pmu { | ||||
| 		compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; | ||||
| 		compatible = "arm,cortex-a7-pmu"; | ||||
| 		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, | ||||
| 			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 	}; | ||||
|  | @ -180,14 +205,14 @@ | |||
| 		#size-cells = <1>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		osc24M: clk@1c20050 { | ||||
| 		osc24M: clk-24M { | ||||
| 			#clock-cells = <0>; | ||||
| 			compatible = "fixed-clock"; | ||||
| 			clock-frequency = <24000000>; | ||||
| 			clock-output-names = "osc24M"; | ||||
| 		}; | ||||
| 
 | ||||
| 		osc32k: clk@0 { | ||||
| 		osc32k: clk-32k { | ||||
| 			#clock-cells = <0>; | ||||
| 			compatible = "fixed-clock"; | ||||
| 			clock-frequency = <32768>; | ||||
|  | @ -203,14 +228,14 @@ | |||
| 		 * The actual TX clock rate is not controlled by the | ||||
| 		 * gmac_tx clock. | ||||
| 		 */ | ||||
| 		mii_phy_tx_clk: clk@1 { | ||||
| 		mii_phy_tx_clk: clk-mii-phy-tx { | ||||
| 			#clock-cells = <0>; | ||||
| 			compatible = "fixed-clock"; | ||||
| 			clock-frequency = <25000000>; | ||||
| 			clock-output-names = "mii_phy_tx"; | ||||
| 		}; | ||||
| 
 | ||||
| 		gmac_int_tx_clk: clk@2 { | ||||
| 		gmac_int_tx_clk: clk-gmac-int-tx { | ||||
| 			#clock-cells = <0>; | ||||
| 			compatible = "fixed-clock"; | ||||
| 			clock-frequency = <125000000>; | ||||
|  | @ -233,14 +258,15 @@ | |||
| 		status = "disabled"; | ||||
| 	}; | ||||
| 
 | ||||
| 	soc@1c00000 { | ||||
| 	soc { | ||||
| 		compatible = "simple-bus"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		sram-controller@1c00000 { | ||||
| 			compatible = "allwinner,sun4i-a10-sram-controller"; | ||||
| 		system-control@1c00000 { | ||||
| 			compatible = "allwinner,sun7i-a20-system-control", | ||||
| 				     "allwinner,sun4i-a10-system-control"; | ||||
| 			reg = <0x01c00000 0x30>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
|  | @ -254,7 +280,8 @@ | |||
| 				ranges = <0 0x00000000 0xc000>; | ||||
| 
 | ||||
| 				emac_sram: sram-section@8000 { | ||||
| 					compatible = "allwinner,sun4i-a10-sram-a3-a4"; | ||||
| 					compatible = "allwinner,sun7i-a20-sram-a3-a4", | ||||
| 						     "allwinner,sun4i-a10-sram-a3-a4"; | ||||
| 					reg = <0x8000 0x4000>; | ||||
| 					status = "disabled"; | ||||
| 				}; | ||||
|  | @ -268,11 +295,26 @@ | |||
| 				ranges = <0 0x00010000 0x1000>; | ||||
| 
 | ||||
| 				otg_sram: sram-section@0 { | ||||
| 					compatible = "allwinner,sun4i-a10-sram-d"; | ||||
| 					compatible = "allwinner,sun7i-a20-sram-d", | ||||
| 						     "allwinner,sun4i-a10-sram-d"; | ||||
| 					reg = <0x0000 0x1000>; | ||||
| 					status = "disabled"; | ||||
| 				}; | ||||
| 			}; | ||||
| 
 | ||||
| 			sram_c: sram@1d00000 { | ||||
| 				compatible = "mmio-sram"; | ||||
| 				reg = <0x01d00000 0xd0000>; | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <1>; | ||||
| 				ranges = <0 0x01d00000 0xd0000>; | ||||
| 
 | ||||
| 				ve_sram: sram-section@0 { | ||||
| 					compatible = "allwinner,sun7i-a20-sram-c1", | ||||
| 						     "allwinner,sun4i-a10-sram-c1"; | ||||
| 					reg = <0x000000 0x80000>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		nmi_intc: interrupt-controller@1c00030 { | ||||
|  | @ -449,6 +491,17 @@ | |||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		video-codec@1c0e000 { | ||||
| 			compatible = "allwinner,sun7i-a20-video-engine"; | ||||
| 			reg = <0x01c0e000 0x1000>; | ||||
| 			clocks = <&ccu CLK_AHB_VE>, <&ccu CLK_VE>, | ||||
| 				 <&ccu CLK_DRAM_VE>; | ||||
| 			clock-names = "ahb", "mod", "ram"; | ||||
| 			resets = <&ccu RST_VE>; | ||||
| 			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			allwinner,sram = <&ve_sram 1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		mmc0: mmc@1c0f000 { | ||||
| 			compatible = "allwinner,sun7i-a20-mmc"; | ||||
| 			reg = <0x01c0f000 0x1000>; | ||||
|  | @ -461,6 +514,8 @@ | |||
| 				      "output", | ||||
| 				      "sample"; | ||||
| 			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&mmc0_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -495,6 +550,8 @@ | |||
| 				      "output", | ||||
| 				      "sample"; | ||||
| 			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&mmc2_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -512,6 +569,8 @@ | |||
| 				      "output", | ||||
| 				      "sample"; | ||||
| 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&mmc3_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -609,8 +668,6 @@ | |||
| 				}; | ||||
| 
 | ||||
| 				hdmi_out: port@1 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <1>; | ||||
| 				}; | ||||
| 			}; | ||||
|  | @ -694,22 +751,22 @@ | |||
| 			#interrupt-cells = <3>; | ||||
| 			#gpio-cells = <3>; | ||||
| 
 | ||||
| 			can0_pins_a: can0@0 { | ||||
| 			can_ph_pins: can-ph-pins { | ||||
| 				pins = "PH20", "PH21"; | ||||
| 				function = "can"; | ||||
| 			}; | ||||
| 
 | ||||
| 			clk_out_a_pins_a: clk_out_a@0 { | ||||
| 			clk_out_a_pin: clk-out-a-pin { | ||||
| 				pins = "PI12"; | ||||
| 				function = "clk_out_a"; | ||||
| 			}; | ||||
| 
 | ||||
| 			clk_out_b_pins_a: clk_out_b@0 { | ||||
| 			clk_out_b_pin: clk-out-b-pin { | ||||
| 				pins = "PI13"; | ||||
| 				function = "clk_out_b"; | ||||
| 			}; | ||||
| 
 | ||||
| 			emac_pins_a: emac0@0 { | ||||
| 			emac_pa_pins: emac-pa-pins { | ||||
| 				pins = "PA0", "PA1", "PA2", | ||||
| 				       "PA3", "PA4", "PA5", "PA6", | ||||
| 				       "PA7", "PA8", "PA9", "PA10", | ||||
|  | @ -718,7 +775,7 @@ | |||
| 				function = "emac"; | ||||
| 			}; | ||||
| 
 | ||||
| 			gmac_pins_mii_a: gmac_mii@0 { | ||||
| 			gmac_mii_pins: gmac-mii-pins { | ||||
| 				pins = "PA0", "PA1", "PA2", | ||||
| 				       "PA3", "PA4", "PA5", "PA6", | ||||
| 				       "PA7", "PA8", "PA9", "PA10", | ||||
|  | @ -727,7 +784,7 @@ | |||
| 				function = "gmac"; | ||||
| 			}; | ||||
| 
 | ||||
| 			gmac_pins_rgmii_a: gmac_rgmii@0 { | ||||
| 			gmac_rgmii_pins: gmac-rgmii-pins { | ||||
| 				pins = "PA0", "PA1", "PA2", | ||||
| 				       "PA3", "PA4", "PA5", "PA6", | ||||
| 				        "PA7", "PA8", "PA10", | ||||
|  | @ -741,47 +798,47 @@ | |||
| 				drive-strength = <40>; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c0_pins_a: i2c0@0 { | ||||
| 			i2c0_pins: i2c0-pins { | ||||
| 				pins = "PB0", "PB1"; | ||||
| 				function = "i2c0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c1_pins_a: i2c1@0 { | ||||
| 			i2c1_pins: i2c1-pins { | ||||
| 				pins = "PB18", "PB19"; | ||||
| 				function = "i2c1"; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c2_pins_a: i2c2@0 { | ||||
| 			i2c2_pins: i2c2-pins { | ||||
| 				pins = "PB20", "PB21"; | ||||
| 				function = "i2c2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			i2c3_pins_a: i2c3@0 { | ||||
| 			i2c3_pins: i2c3-pins { | ||||
| 				pins = "PI0", "PI1"; | ||||
| 				function = "i2c3"; | ||||
| 			}; | ||||
| 
 | ||||
| 			ir0_rx_pins_a: ir0@0 { | ||||
| 			ir0_rx_pin: ir0-rx-pin { | ||||
| 				pins = "PB4"; | ||||
| 				function = "ir0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			ir0_tx_pins_a: ir0@1 { | ||||
| 			ir0_tx_pin: ir0-tx-pin { | ||||
| 				pins = "PB3"; | ||||
| 				function = "ir0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			ir1_rx_pins_a: ir1@0 { | ||||
| 			ir1_rx_pin: ir1-rx-pin { | ||||
| 				pins = "PB23"; | ||||
| 				function = "ir1"; | ||||
| 			}; | ||||
| 
 | ||||
| 			ir1_tx_pins_a: ir1@1 { | ||||
| 			ir1_tx_pin: ir1-tx-pin { | ||||
| 				pins = "PB22"; | ||||
| 				function = "ir1"; | ||||
| 			}; | ||||
| 
 | ||||
| 			mmc0_pins_a: mmc0@0 { | ||||
| 			mmc0_pins: mmc0-pins { | ||||
| 				pins = "PF0", "PF1", "PF2", | ||||
| 				       "PF3", "PF4", "PF5"; | ||||
| 				function = "mmc0"; | ||||
|  | @ -789,7 +846,7 @@ | |||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 
 | ||||
| 			mmc2_pins_a: mmc2@0 { | ||||
| 			mmc2_pins: mmc2-pins { | ||||
| 				pins = "PC6", "PC7", "PC8", | ||||
| 				       "PC9", "PC10", "PC11"; | ||||
| 				function = "mmc2"; | ||||
|  | @ -797,7 +854,7 @@ | |||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 
 | ||||
| 			mmc3_pins_a: mmc3@0 { | ||||
| 			mmc3_pins: mmc3-pins { | ||||
| 				pins = "PI4", "PI5", "PI6", | ||||
| 				       "PI7", "PI8", "PI9"; | ||||
| 				function = "mmc3"; | ||||
|  | @ -805,118 +862,128 @@ | |||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 
 | ||||
| 			ps20_pins_a: ps20@0 { | ||||
| 			ps2_0_pins: ps2-0-pins { | ||||
| 				pins = "PI20", "PI21"; | ||||
| 				function = "ps2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			ps21_pins_a: ps21@0 { | ||||
| 			ps2_1_ph_pins: ps2-1-ph-pins { | ||||
| 				pins = "PH12", "PH13"; | ||||
| 				function = "ps2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			pwm0_pins_a: pwm0@0 { | ||||
| 			pwm0_pin: pwm0-pin { | ||||
| 				pins = "PB2"; | ||||
| 				function = "pwm"; | ||||
| 			}; | ||||
| 
 | ||||
| 			pwm1_pins_a: pwm1@0 { | ||||
| 			pwm1_pin: pwm1-pin { | ||||
| 				pins = "PI3"; | ||||
| 				function = "pwm"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spdif_tx_pins_a: spdif@0 { | ||||
| 			spdif_tx_pin: spdif-tx-pin { | ||||
| 				pins = "PB13"; | ||||
| 				function = "spdif"; | ||||
| 				bias-pull-up; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi0_pins_a: spi0@0 { | ||||
| 			spi0_pi_pins: spi0-pi-pins { | ||||
| 				pins = "PI11", "PI12", "PI13"; | ||||
| 				function = "spi0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi0_cs0_pins_a: spi0_cs0@0 { | ||||
| 			spi0_cs0_pi_pin: spi0-cs0-pi-pin { | ||||
| 				pins = "PI10"; | ||||
| 				function = "spi0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi0_cs1_pins_a: spi0_cs1@0 { | ||||
| 			spi0_cs1_pi_pin: spi0-cs1-pi-pin { | ||||
| 				pins = "PI14"; | ||||
| 				function = "spi0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi1_pins_a: spi1@0 { | ||||
| 			spi1_pi_pins: spi1-pi-pins { | ||||
| 				pins = "PI17", "PI18", "PI19"; | ||||
| 				function = "spi1"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi1_cs0_pins_a: spi1_cs0@0 { | ||||
| 			spi1_cs0_pi_pin: spi1-cs0-pi-pin { | ||||
| 				pins = "PI16"; | ||||
| 				function = "spi1"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi2_pins_a: spi2@0 { | ||||
| 				pins = "PC20", "PC21", "PC22"; | ||||
| 				function = "spi2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi2_pins_b: spi2@1 { | ||||
| 			spi2_pb_pins: spi2-pb-pins { | ||||
| 				pins = "PB15", "PB16", "PB17"; | ||||
| 				function = "spi2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi2_cs0_pins_a: spi2_cs0@0 { | ||||
| 				pins = "PC19"; | ||||
| 				function = "spi2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi2_cs0_pins_b: spi2_cs0@1 { | ||||
| 			spi2_cs0_pb_pin: spi2-cs0-pb-pin { | ||||
| 				pins = "PB14"; | ||||
| 				function = "spi2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart0_pins_a: uart0@0 { | ||||
| 			spi2_pc_pins: spi2-pc-pins { | ||||
| 				pins = "PC20", "PC21", "PC22"; | ||||
| 				function = "spi2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			spi2_cs0_pc_pin: spi2-cs0-pc-pin { | ||||
| 				pins = "PC19"; | ||||
| 				function = "spi2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart0_pb_pins: uart0-pb-pins { | ||||
| 				pins = "PB22", "PB23"; | ||||
| 				function = "uart0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart2_pins_a: uart2@0 { | ||||
| 				pins = "PI16", "PI17", "PI18", "PI19"; | ||||
| 			uart2_pi_pins: uart2-pi-pins { | ||||
| 				pins = "PI18", "PI19"; | ||||
| 				function = "uart2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart3_pins_a: uart3@0 { | ||||
| 				pins = "PG6", "PG7", "PG8", "PG9"; | ||||
| 			uart2_cts_rts_pi_pins: uart2-cts-rts-pi-pins { | ||||
| 				pins = "PI16", "PI17"; | ||||
| 				function = "uart2"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart3_pg_pins: uart3-pg-pins { | ||||
| 				pins = "PG6", "PG7"; | ||||
| 				function = "uart3"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart3_pins_b: uart3@1 { | ||||
| 			uart3_cts_rts_pg_pins: uart3-cts-rts-pg-pins { | ||||
| 				pins = "PG8", "PG9"; | ||||
| 				function = "uart3"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart3_ph_pins: uart3-ph-pins { | ||||
| 				pins = "PH0", "PH1"; | ||||
| 				function = "uart3"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart4_pins_a: uart4@0 { | ||||
| 			uart4_pg_pins: uart4-pg-pins { | ||||
| 				pins = "PG10", "PG11"; | ||||
| 				function = "uart4"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart4_pins_b: uart4@1 { | ||||
| 			uart4_ph_pins: uart4-ph-pins { | ||||
| 				pins = "PH4", "PH5"; | ||||
| 				function = "uart4"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart5_pins_a: uart5@0 { | ||||
| 			uart5_pi_pins: uart5-pi-pins { | ||||
| 				pins = "PI10", "PI11"; | ||||
| 				function = "uart5"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart6_pins_a: uart6@0 { | ||||
| 			uart6_pi_pins: uart6-pi-pins { | ||||
| 				pins = "PI12", "PI13"; | ||||
| 				function = "uart6"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart7_pins_a: uart7@0 { | ||||
| 			uart7_pi_pins: uart7-pi-pins { | ||||
| 				pins = "PI20", "PI21"; | ||||
| 				function = "uart7"; | ||||
| 			}; | ||||
|  | @ -1157,6 +1224,8 @@ | |||
| 			reg = <0x01c2ac00 0x400>; | ||||
| 			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_APB1_I2C0>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&i2c0_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -1168,6 +1237,8 @@ | |||
| 			reg = <0x01c2b000 0x400>; | ||||
| 			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_APB1_I2C1>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&i2c1_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -1179,6 +1250,8 @@ | |||
| 			reg = <0x01c2b400 0x400>; | ||||
| 			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_APB1_I2C2>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&i2c2_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  | @ -1190,6 +1263,8 @@ | |||
| 			reg = <0x01c2b800 0x400>; | ||||
| 			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_APB1_I2C3>; | ||||
| 			pinctrl-names = "default"; | ||||
| 			pinctrl-0 = <&i2c3_pins>; | ||||
| 			status = "disabled"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
|  |  | |||
|  | @ -59,6 +59,17 @@ | |||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
| 
 | ||||
| 	connector { | ||||
| 		compatible = "hdmi-connector"; | ||||
| 		type = "a"; | ||||
| 
 | ||||
| 		port { | ||||
| 			hdmi_con_in: endpoint { | ||||
| 				remote-endpoint = <&hdmi_out_con>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 
 | ||||
|  | @ -91,9 +102,21 @@ | |||
| 	wifi_pwrseq: wifi_pwrseq { | ||||
| 		compatible = "mmc-pwrseq-simple"; | ||||
| 		reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */ | ||||
| 		clocks = <&ccu CLK_OUTA>; | ||||
| 		clock-names = "ext_clock"; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &ahci { | ||||
| 	ahci-supply = <®_dldo4>; | ||||
| 	phy-supply = <®_eldo3>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &de { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ehci1 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
|  | @ -118,6 +141,16 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &hdmi { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &hdmi_out { | ||||
| 	hdmi_out_con: endpoint { | ||||
| 		remote-endpoint = <&hdmi_con_in>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
|  | @ -134,8 +167,7 @@ | |||
| &mmc0 { | ||||
| 	vmmc-supply = <®_dcdc1>; | ||||
| 	bus-width = <4>; | ||||
| 	cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */ | ||||
| 	cd-inverted; | ||||
| 	cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -166,6 +198,11 @@ | |||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &pio { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&clk_out_a_pin>; | ||||
| }; | ||||
| 
 | ||||
| ®_aldo2 { | ||||
| 	regulator-always-on; | ||||
| 	regulator-min-microvolt = <2500000>; | ||||
|  | @ -220,18 +257,68 @@ | |||
| 	regulator-name = "vcc-wifi-io"; | ||||
| }; | ||||
| 
 | ||||
| /* | ||||
|  * Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same | ||||
|  * time, with the two being in sync, to be able to meet maximum power | ||||
|  * consumption during transmits. Since this is not really supported | ||||
|  * right now, just use the two as always on, and we will fix it later. | ||||
|  */ | ||||
| 
 | ||||
| ®_dldo2 { | ||||
| 	regulator-always-on; | ||||
| 	regulator-min-microvolt = <3300000>; | ||||
| 	regulator-max-microvolt = <3300000>; | ||||
| 	regulator-name = "vcc-wifi"; | ||||
| }; | ||||
| 
 | ||||
| ®_dldo3 { | ||||
| 	regulator-always-on; | ||||
| 	regulator-min-microvolt = <3300000>; | ||||
| 	regulator-max-microvolt = <3300000>; | ||||
| 	regulator-name = "vcc-wifi-2"; | ||||
| }; | ||||
| 
 | ||||
| ®_dldo4 { | ||||
| 	regulator-min-microvolt = <2500000>; | ||||
| 	regulator-max-microvolt = <2500000>; | ||||
| 	regulator-name = "vdd2v5-sata"; | ||||
| }; | ||||
| 
 | ||||
| ®_eldo3 { | ||||
| 	regulator-min-microvolt = <1200000>; | ||||
| 	regulator-max-microvolt = <1200000>; | ||||
| 	regulator-name = "vdd1v2-sata"; | ||||
| }; | ||||
| 
 | ||||
| &tcon_tv0 { | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &uart3 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_cts_pg_pins>; | ||||
| 	uart-has-rtscts; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	bluetooth { | ||||
| 		compatible = "brcm,bcm43438-bt"; | ||||
| 		clocks = <&ccu CLK_OUTA>; | ||||
| 		clock-names = "lpo"; | ||||
| 		vbat-supply = <®_dldo2>; | ||||
| 		vddio-supply = <®_dldo1>; | ||||
| 		device-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ | ||||
| 		/* TODO host wake line connected to PMIC GPIO pins */ | ||||
| 		shutdown-gpios = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */ | ||||
| 		max-speed = <1500000>; | ||||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &usbphy { | ||||
| 	usb1_vbus-supply = <®_vcc5v0>; | ||||
| 	usb2_vbus-supply = <®_vcc5v0>; | ||||
|  |  | |||
|  | @ -42,8 +42,10 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <dt-bindings/interrupt-controller/arm-gic.h> | ||||
| #include <dt-bindings/clock/sun8i-de2.h> | ||||
| #include <dt-bindings/clock/sun8i-r40-ccu.h> | ||||
| #include <dt-bindings/reset/sun8i-r40-ccu.h> | ||||
| #include <dt-bindings/reset/sun8i-de2.h> | ||||
| 
 | ||||
| / { | ||||
| 	#address-cells = <1>; | ||||
|  | @ -59,6 +61,7 @@ | |||
| 			#clock-cells = <0>; | ||||
| 			compatible = "fixed-clock"; | ||||
| 			clock-frequency = <24000000>; | ||||
| 			clock-accuracy = <50000>; | ||||
| 			clock-output-names = "osc24M"; | ||||
| 		}; | ||||
| 
 | ||||
|  | @ -66,7 +69,8 @@ | |||
| 			#clock-cells = <0>; | ||||
| 			compatible = "fixed-clock"; | ||||
| 			clock-frequency = <32768>; | ||||
| 			clock-output-names = "osc32k"; | ||||
| 			clock-accuracy = <20000>; | ||||
| 			clock-output-names = "ext-osc32k"; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
|  | @ -99,12 +103,75 @@ | |||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	de: display-engine { | ||||
| 		compatible = "allwinner,sun8i-r40-display-engine"; | ||||
| 		allwinner,pipelines = <&mixer0>, <&mixer1>; | ||||
| 		status = "disabled"; | ||||
| 	}; | ||||
| 
 | ||||
| 	soc { | ||||
| 		compatible = "simple-bus"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		ranges; | ||||
| 
 | ||||
| 		display_clocks: clock@1000000 { | ||||
| 			compatible = "allwinner,sun8i-r40-de2-clk", | ||||
| 				     "allwinner,sun8i-h3-de2-clk"; | ||||
| 			reg = <0x01000000 0x100000>; | ||||
| 			clocks = <&ccu CLK_DE>, | ||||
| 				 <&ccu CLK_BUS_DE>; | ||||
| 			clock-names = "mod", | ||||
| 				      "bus"; | ||||
| 			resets = <&ccu RST_BUS_DE>; | ||||
| 			#clock-cells = <1>; | ||||
| 			#reset-cells = <1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		mixer0: mixer@1100000 { | ||||
| 			compatible = "allwinner,sun8i-r40-de2-mixer-0"; | ||||
| 			reg = <0x01100000 0x100000>; | ||||
| 			clocks = <&display_clocks CLK_BUS_MIXER0>, | ||||
| 				 <&display_clocks CLK_MIXER0>; | ||||
| 			clock-names = "bus", | ||||
| 				      "mod"; | ||||
| 			resets = <&display_clocks RST_MIXER0>; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				mixer0_out: port@1 { | ||||
| 					reg = <1>; | ||||
| 					mixer0_out_tcon_top: endpoint { | ||||
| 						remote-endpoint = <&tcon_top_mixer0_in_mixer0>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		mixer1: mixer@1200000 { | ||||
| 			compatible = "allwinner,sun8i-r40-de2-mixer-1"; | ||||
| 			reg = <0x01200000 0x100000>; | ||||
| 			clocks = <&display_clocks CLK_BUS_MIXER1>, | ||||
| 				 <&display_clocks CLK_MIXER1>; | ||||
| 			clock-names = "bus", | ||||
| 				      "mod"; | ||||
| 			resets = <&display_clocks RST_WB>; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				mixer1_out: port@1 { | ||||
| 					reg = <1>; | ||||
| 					mixer1_out_tcon_top: endpoint { | ||||
| 						remote-endpoint = <&tcon_top_mixer1_in_mixer1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		nmi_intc: interrupt-controller@1c00030 { | ||||
| 			compatible = "allwinner,sun7i-a20-sc-nmi"; | ||||
| 			interrupt-controller; | ||||
|  | @ -248,23 +315,38 @@ | |||
| 		ccu: clock@1c20000 { | ||||
| 			compatible = "allwinner,sun8i-r40-ccu"; | ||||
| 			reg = <0x01c20000 0x400>; | ||||
| 			clocks = <&osc24M>, <&osc32k>; | ||||
| 			clocks = <&osc24M>, <&rtc 0>; | ||||
| 			clock-names = "hosc", "losc"; | ||||
| 			#clock-cells = <1>; | ||||
| 			#reset-cells = <1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		rtc: rtc@1c20400 { | ||||
| 			compatible = "allwinner,sun8i-r40-rtc", | ||||
| 				     "allwinner,sun8i-h3-rtc"; | ||||
| 			reg = <0x01c20400 0x400>; | ||||
| 			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clock-output-names = "osc32k", "osc32k-out"; | ||||
| 			clocks = <&osc32k>; | ||||
| 			#clock-cells = <1>; | ||||
| 		}; | ||||
| 
 | ||||
| 		pio: pinctrl@1c20800 { | ||||
| 			compatible = "allwinner,sun8i-r40-pinctrl"; | ||||
| 			reg = <0x01c20800 0x400>; | ||||
| 			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>; | ||||
| 			clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&rtc 0>; | ||||
| 			clock-names = "apb", "hosc", "losc"; | ||||
| 			gpio-controller; | ||||
| 			interrupt-controller; | ||||
| 			#interrupt-cells = <3>; | ||||
| 			#gpio-cells = <3>; | ||||
| 
 | ||||
| 			clk_out_a_pin: clk-out-a-pin { | ||||
| 				pins = "PI12"; | ||||
| 				function = "clk_out_a"; | ||||
| 			}; | ||||
| 
 | ||||
| 			gmac_rgmii_pins: gmac-rgmii-pins { | ||||
| 				pins = "PA0", "PA1", "PA2", "PA3", | ||||
| 				       "PA4", "PA5", "PA6", "PA7", | ||||
|  | @ -312,6 +394,16 @@ | |||
| 				pins = "PB22", "PB23"; | ||||
| 				function = "uart0"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart3_pg_pins: uart3-pg-pins { | ||||
| 				pins = "PG6", "PG7"; | ||||
| 				function = "uart3"; | ||||
| 			}; | ||||
| 
 | ||||
| 			uart3_rts_cts_pg_pins: uart3-rts-cts-pg-pins { | ||||
| 				pins = "PG8", "PG9"; | ||||
| 				function = "uart3"; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		wdt: watchdog@1c20c90 { | ||||
|  | @ -464,6 +556,19 @@ | |||
| 			#size-cells = <0>; | ||||
| 		}; | ||||
| 
 | ||||
| 		ahci: sata@1c18000 { | ||||
| 			compatible = "allwinner,sun8i-r40-ahci"; | ||||
| 			reg = <0x01c18000 0x1000>; | ||||
| 			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_SATA>, <&ccu CLK_SATA>; | ||||
| 			resets = <&ccu RST_BUS_SATA>; | ||||
| 			resets-name = "ahci"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 		}; | ||||
| 
 | ||||
| 		gmac: ethernet@1c50000 { | ||||
| 			compatible = "allwinner,sun8i-r40-gmac"; | ||||
| 			syscon = <&ccu>; | ||||
|  | @ -474,8 +579,6 @@ | |||
| 			reset-names = "stmmaceth"; | ||||
| 			clocks = <&ccu CLK_BUS_GMAC>; | ||||
| 			clock-names = "stmmaceth"; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			gmac_mdio: mdio { | ||||
|  | @ -485,6 +588,213 @@ | |||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		tcon_top: tcon-top@1c70000 { | ||||
| 			compatible = "allwinner,sun8i-r40-tcon-top"; | ||||
| 			reg = <0x01c70000 0x1000>; | ||||
| 			clocks = <&ccu CLK_BUS_TCON_TOP>, | ||||
| 				 <&ccu CLK_TCON_TV0>, | ||||
| 				 <&ccu CLK_TVE0>, | ||||
| 				 <&ccu CLK_TCON_TV1>, | ||||
| 				 <&ccu CLK_TVE1>, | ||||
| 				 <&ccu CLK_DSI_DPHY>; | ||||
| 			clock-names = "bus", | ||||
| 				      "tcon-tv0", | ||||
| 				      "tve0", | ||||
| 				      "tcon-tv1", | ||||
| 				      "tve1", | ||||
| 				      "dsi"; | ||||
| 			clock-output-names = "tcon-top-tv0", | ||||
| 					     "tcon-top-tv1", | ||||
| 					     "tcon-top-dsi"; | ||||
| 			resets = <&ccu RST_BUS_TCON_TOP>; | ||||
| 			#clock-cells = <1>; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				tcon_top_mixer0_in: port@0 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					tcon_top_mixer0_in_mixer0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 						remote-endpoint = <&mixer0_out_tcon_top>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_mixer0_out: port@1 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <1>; | ||||
| 
 | ||||
| 					tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_mixer0_out_tcon_lcd1: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_mixer0_out_tcon_tv0: endpoint@2 { | ||||
| 						reg = <2>; | ||||
| 						remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_mixer0_out_tcon_tv1: endpoint@3 { | ||||
| 						reg = <3>; | ||||
| 						remote-endpoint = <&tcon_tv1_in_tcon_top_mixer0>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_mixer1_in: port@2 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <2>; | ||||
| 
 | ||||
| 					tcon_top_mixer1_in_mixer1: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&mixer1_out_tcon_top>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_mixer1_out: port@3 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <3>; | ||||
| 
 | ||||
| 					tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_mixer1_out_tcon_lcd1: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_mixer1_out_tcon_tv0: endpoint@2 { | ||||
| 						reg = <2>; | ||||
| 						remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_mixer1_out_tcon_tv1: endpoint@3 { | ||||
| 						reg = <3>; | ||||
| 						remote-endpoint = <&tcon_tv1_in_tcon_top_mixer1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_hdmi_in: port@4 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <4>; | ||||
| 
 | ||||
| 					tcon_top_hdmi_in_tcon_tv0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 						remote-endpoint = <&tcon_tv0_out_tcon_top>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_top_hdmi_in_tcon_tv1: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&tcon_tv1_out_tcon_top>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_top_hdmi_out: port@5 { | ||||
| 					reg = <5>; | ||||
| 
 | ||||
| 					tcon_top_hdmi_out_hdmi: endpoint { | ||||
| 						remote-endpoint = <&hdmi_in_tcon_top>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		tcon_tv0: lcd-controller@1c73000 { | ||||
| 			compatible = "allwinner,sun8i-r40-tcon-tv"; | ||||
| 			reg = <0x01c73000 0x1000>; | ||||
| 			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>; | ||||
| 			clock-names = "ahb", "tcon-ch1"; | ||||
| 			resets = <&ccu RST_BUS_TCON_TV0>; | ||||
| 			reset-names = "lcd"; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				tcon_tv0_in: port@0 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					tcon_tv0_in_tcon_top_mixer0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 						remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_tv0_in_tcon_top_mixer1: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_tv0_out: port@1 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <1>; | ||||
| 
 | ||||
| 					tcon_tv0_out_tcon_top: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		tcon_tv1: lcd-controller@1c74000 { | ||||
| 			compatible = "allwinner,sun8i-r40-tcon-tv"; | ||||
| 			reg = <0x01c74000 0x1000>; | ||||
| 			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_TCON_TV1>, <&tcon_top 1>; | ||||
| 			clock-names = "ahb", "tcon-ch1"; | ||||
| 			resets = <&ccu RST_BUS_TCON_TV1>; | ||||
| 			reset-names = "lcd"; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				tcon_tv1_in: port@0 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					tcon_tv1_in_tcon_top_mixer0: endpoint@0 { | ||||
| 						reg = <0>; | ||||
| 						remote-endpoint = <&tcon_top_mixer0_out_tcon_tv1>; | ||||
| 					}; | ||||
| 
 | ||||
| 					tcon_tv1_in_tcon_top_mixer1: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&tcon_top_mixer1_out_tcon_tv1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				tcon_tv1_out: port@1 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					reg = <1>; | ||||
| 
 | ||||
| 					tcon_tv1_out_tcon_top: endpoint@1 { | ||||
| 						reg = <1>; | ||||
| 						remote-endpoint = <&tcon_top_hdmi_in_tcon_tv1>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		gic: interrupt-controller@1c81000 { | ||||
| 			compatible = "arm,gic-400"; | ||||
| 			reg = <0x01c81000 0x1000>, | ||||
|  | @ -495,6 +805,50 @@ | |||
| 			#interrupt-cells = <3>; | ||||
| 			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; | ||||
| 		}; | ||||
| 
 | ||||
| 		hdmi: hdmi@1ee0000 { | ||||
| 			compatible = "allwinner,sun8i-r40-dw-hdmi", | ||||
| 				     "allwinner,sun8i-a83t-dw-hdmi"; | ||||
| 			reg = <0x01ee0000 0x10000>; | ||||
| 			reg-io-width = <1>; | ||||
| 			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; | ||||
| 			clocks = <&ccu CLK_BUS_HDMI0>, <&ccu CLK_HDMI_SLOW>, | ||||
| 				 <&ccu CLK_HDMI>; | ||||
| 			clock-names = "iahb", "isfr", "tmds"; | ||||
| 			resets = <&ccu RST_BUS_HDMI1>; | ||||
| 			reset-names = "ctrl"; | ||||
| 			phys = <&hdmi_phy>; | ||||
| 			phy-names = "hdmi-phy"; | ||||
| 			status = "disabled"; | ||||
| 
 | ||||
| 			ports { | ||||
| 				#address-cells = <1>; | ||||
| 				#size-cells = <0>; | ||||
| 
 | ||||
| 				hdmi_in: port@0 { | ||||
| 					reg = <0>; | ||||
| 
 | ||||
| 					hdmi_in_tcon_top: endpoint { | ||||
| 						remote-endpoint = <&tcon_top_hdmi_out_hdmi>; | ||||
| 					}; | ||||
| 				}; | ||||
| 
 | ||||
| 				hdmi_out: port@1 { | ||||
| 					reg = <1>; | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		hdmi_phy: hdmi-phy@1ef0000 { | ||||
| 			compatible = "allwinner,sun8i-r40-hdmi-phy"; | ||||
| 			reg = <0x01ef0000 0x10000>; | ||||
| 			clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>, | ||||
| 				 <&ccu 7>, <&ccu 16>; | ||||
| 			clock-names = "bus", "mod", "pll-0", "pll-1"; | ||||
| 			resets = <&ccu RST_BUS_HDMI0>; | ||||
| 			reset-names = "phy"; | ||||
| 			#phy-cells = <0>; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	timer { | ||||
|  |  | |||
|  | @ -87,6 +87,12 @@ | |||
| 	}; | ||||
| }; | ||||
| 
 | ||||
| &ahci { | ||||
| 	phy-supply = <®_eldo3>;	/* VDD12-SATA */ | ||||
| 	ahci-supply = <®_dldo4>;	/* VDD25-SATA */ | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
| &ehci1 { | ||||
| 	/* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */ | ||||
| 	status = "okay"; | ||||
|  | @ -95,7 +101,7 @@ | |||
| &i2c0 { | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp22x: pmic@68 { | ||||
| 	axp22x: pmic@34 { | ||||
| 		compatible = "x-powers,axp221"; | ||||
| 		reg = <0x34>; | ||||
| 		interrupt-parent = <&nmi_intc>; | ||||
|  | @ -152,6 +158,18 @@ | |||
| 	regulator-name = "vcc-wifi"; | ||||
| }; | ||||
| 
 | ||||
| ®_dldo4 { | ||||
| 	regulator-min-microvolt = <2500000>; | ||||
| 	regulator-max-microvolt = <2500000>; | ||||
| 	regulator-name = "vdd2v5-sata"; | ||||
| }; | ||||
| 
 | ||||
| ®_eldo3 { | ||||
| 	regulator-min-microvolt = <1200000>; | ||||
| 	regulator-max-microvolt = <1200000>; | ||||
| 	regulator-name = "vdd1v2-sata"; | ||||
| }; | ||||
| 
 | ||||
| &mmc0 { | ||||
| 	vmmc-supply = <®_dcdc1>; | ||||
| 	bus-width = <4>; | ||||
|  |  | |||
|  | @ -65,8 +65,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c0_pins_a>; | ||||
| 	status = "okay"; | ||||
| 
 | ||||
| 	axp209: pmic@34 { | ||||
|  | @ -75,8 +73,6 @@ | |||
| }; | ||||
| 
 | ||||
| &i2c1 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&i2c1_pins_a>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  | @ -125,7 +121,7 @@ | |||
| 
 | ||||
| &uart0 { | ||||
| 	pinctrl-names = "default"; | ||||
| 	pinctrl-0 = <&uart0_pins_a>; | ||||
| 	pinctrl-0 = <&uart0_pb_pins>; | ||||
| 	status = "okay"; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -154,8 +154,6 @@ config MACH_SUN4I | |||
| 	bool "sun4i (Allwinner A10)" | ||||
| 	select CPU_V7A | ||||
| 	select ARM_CORTEX_CPU_IS_UP | ||||
| 	select DM_MMC if MMC | ||||
| 	select DM_SCSI if SCSI | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select DRAM_SUN4I | ||||
| 	select SUNXI_GEN_SUN4I | ||||
|  | @ -165,7 +163,6 @@ config MACH_SUN5I | |||
| 	bool "sun5i (Allwinner A13)" | ||||
| 	select CPU_V7A | ||||
| 	select ARM_CORTEX_CPU_IS_UP | ||||
| 	select DM_MMC if MMC | ||||
| 	select DRAM_SUN4I | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select SUNXI_GEN_SUN4I | ||||
|  | @ -178,7 +175,6 @@ config MACH_SUN6I | |||
| 	select CPU_V7_HAS_NONSEC | ||||
| 	select CPU_V7_HAS_VIRT | ||||
| 	select ARCH_SUPPORT_PSCI | ||||
| 	select DM_MMC if MMC | ||||
| 	select DRAM_SUN6I | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select SUN6I_P2WI | ||||
|  | @ -205,7 +201,6 @@ config MACH_SUN8I_A23 | |||
| 	select CPU_V7_HAS_NONSEC | ||||
| 	select CPU_V7_HAS_VIRT | ||||
| 	select ARCH_SUPPORT_PSCI | ||||
| 	select DM_MMC if MMC | ||||
| 	select DRAM_SUN8I_A23 | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select SUNXI_GEN_SUN6I | ||||
|  | @ -219,7 +214,6 @@ config MACH_SUN8I_A33 | |||
| 	select CPU_V7_HAS_NONSEC | ||||
| 	select CPU_V7_HAS_VIRT | ||||
| 	select ARCH_SUPPORT_PSCI | ||||
| 	select DM_MMC if MMC | ||||
| 	select DRAM_SUN8I_A33 | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select SUNXI_GEN_SUN6I | ||||
|  | @ -230,7 +224,6 @@ config MACH_SUN8I_A33 | |||
| config MACH_SUN8I_A83T | ||||
| 	bool "sun8i (Allwinner A83T)" | ||||
| 	select CPU_V7A | ||||
| 	select DM_MMC if MMC | ||||
| 	select DRAM_SUN8I_A83T | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select SUNXI_GEN_SUN6I | ||||
|  | @ -246,7 +239,6 @@ config MACH_SUN8I_H3 | |||
| 	select ARCH_SUPPORT_PSCI | ||||
| 	select MACH_SUNXI_H3_H5 | ||||
| 	select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT | ||||
| 	select DM_MMC if MMC | ||||
| 
 | ||||
| config MACH_SUN8I_R40 | ||||
| 	bool "sun8i (Allwinner R40)" | ||||
|  | @ -265,7 +257,6 @@ config MACH_SUN8I_V3S | |||
| 	select CPU_V7_HAS_NONSEC | ||||
| 	select CPU_V7_HAS_VIRT | ||||
| 	select ARCH_SUPPORT_PSCI | ||||
| 	select DM_MMC if MMC | ||||
| 	select SUNXI_GEN_SUN6I | ||||
| 	select SUNXI_DRAM_DW | ||||
| 	select SUNXI_DRAM_DW_16BIT | ||||
|  | @ -280,13 +271,11 @@ config MACH_SUN9I | |||
| 	select SUNXI_GEN_SUN6I | ||||
| 	select SUN8I_RSB | ||||
| 	select SUPPORT_SPL | ||||
| 	select DM_MMC if MMC | ||||
| 
 | ||||
| config MACH_SUN50I | ||||
| 	bool "sun50i (Allwinner A64)" | ||||
| 	select ARM64 | ||||
| 	select DM_I2C | ||||
| 	select DM_MMC if MMC | ||||
| 	select PHY_SUN4I_USB | ||||
| 	select SUN6I_PRCM | ||||
| 	select SUNXI_DE2 | ||||
|  | @ -303,7 +292,6 @@ config MACH_SUN50I_H5 | |||
| 	bool "sun50i (Allwinner H5)" | ||||
| 	select ARM64 | ||||
| 	select MACH_SUNXI_H3_H5 | ||||
| 	select DM_MMC if MMC | ||||
| 	select FIT | ||||
| 	select SPL_LOAD_FIT | ||||
| 
 | ||||
|  | @ -311,7 +299,6 @@ config MACH_SUN50I_H6 | |||
| 	bool "sun50i (Allwinner H6)" | ||||
| 	select ARM64 | ||||
| 	select SUPPORT_SPL | ||||
| 	select DM_MMC if MMC | ||||
| 	select FIT | ||||
| 	select SPL_LOAD_FIT | ||||
| 	select DRAM_SUN50I_H6 | ||||
|  |  | |||
|  | @ -8,9 +8,6 @@ | |||
| # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 | ||||
| obj-y	+= board.o | ||||
| obj-$(CONFIG_SUN7I_GMAC)	+= gmac.o | ||||
| ifndef CONFIG_SPL_BUILD | ||||
| obj-$(CONFIG_SUNXI_AHCI)	+= ahci.o | ||||
| endif | ||||
| obj-$(CONFIG_MACH_SUN4I)	+= dram_sun4i_auto.o | ||||
| obj-$(CONFIG_MACH_SUN5I)	+= dram_sun5i_auto.o | ||||
| obj-$(CONFIG_MACH_SUN7I)	+= dram_sun5i_auto.o | ||||
|  |  | |||
|  | @ -12,14 +12,6 @@ void eth_init_board(void) | |||
| 	struct sunxi_ccm_reg *const ccm = | ||||
| 		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE; | ||||
| 
 | ||||
| 	/* Set up clock gating */ | ||||
| #ifdef CONFIG_SUNXI_GEN_SUN6I | ||||
| 	setbits_le32(&ccm->ahb_reset0_cfg, 0x1 << AHB_RESET_OFFSET_GMAC); | ||||
| 	setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_GMAC); | ||||
| #else | ||||
| 	setbits_le32(&ccm->ahb_gate1, 0x1 << AHB_GATE_OFFSET_GMAC); | ||||
| #endif | ||||
| 
 | ||||
| 	/* Set MII clock */ | ||||
| #ifdef CONFIG_RGMII | ||||
| 	setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII | | ||||
|  |  | |||
|  | @ -109,6 +109,14 @@ config SATA_SIL3114 | |||
| 	help | ||||
| 	  Enable this driver to support the SIL3114 SATA controllers. | ||||
| 
 | ||||
| config SUNXI_AHCI | ||||
| 	bool "Enable Allwinner SATA driver support" | ||||
| 	depends on AHCI | ||||
| 	default y if ARCH_SUNXI | ||||
| 	help | ||||
| 	  Enable this driver to support the SATA controllers found in the | ||||
| 	  Allwinner A10, A20 and R40 SoCs. | ||||
| 
 | ||||
| config AHCI_MVEBU | ||||
| 	bool "Marvell EBU AHCI SATA support" | ||||
| 	depends on ARCH_MVEBU | ||||
|  |  | |||
|  | @ -18,3 +18,4 @@ obj-$(CONFIG_SATA_SIL3114) += sata_sil3114.o | |||
| obj-$(CONFIG_SATA_SIL) += sata_sil.o | ||||
| obj-$(CONFIG_SANDBOX) += sata_sandbox.o | ||||
| obj-$(CONFIG_AHCI_MVEBU) += ahci_mvebu.o | ||||
| obj-$(CONFIG_SUNXI_AHCI) += ahci_sunxi.o | ||||
|  |  | |||
|  | @ -70,15 +70,6 @@ static int sunxi_ahci_phy_init(u8 *reg_base) | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| #ifndef CONFIG_DM_SCSI | ||||
| void scsi_init(void) | ||||
| { | ||||
| 	if (sunxi_ahci_phy_init((u8 *)SUNXI_SATA_BASE) < 0) | ||||
| 		return; | ||||
| 
 | ||||
| 	ahci_init((void __iomem *)SUNXI_SATA_BASE); | ||||
| } | ||||
| #else | ||||
| static int sunxi_sata_probe(struct udevice *dev) | ||||
| { | ||||
| 	ulong base; | ||||
|  | @ -121,6 +112,7 @@ static int sunxi_sata_bind(struct udevice *dev) | |||
| 
 | ||||
| static const struct udevice_id sunxi_ahci_ids[] = { | ||||
| 	{ .compatible = "allwinner,sun4i-a10-ahci" }, | ||||
| 	{ .compatible = "allwinner,sun8i-r40-ahci" }, | ||||
| 	{ } | ||||
| }; | ||||
| 
 | ||||
|  | @ -131,4 +123,3 @@ U_BOOT_DRIVER(ahci_sunxi_drv) = { | |||
| 	.bind		= sunxi_sata_bind, | ||||
| 	.probe		= sunxi_sata_probe, | ||||
| }; | ||||
| #endif | ||||
|  | @ -62,7 +62,6 @@ static struct ccu_reset r40_resets[] = { | |||
| 	[RST_BUS_MMC1]		= RESET(0x2c0, BIT(9)), | ||||
| 	[RST_BUS_MMC2]		= RESET(0x2c0, BIT(10)), | ||||
| 	[RST_BUS_MMC3]		= RESET(0x2c0, BIT(11)), | ||||
| 	[RST_BUS_GMAC]		= RESET(0x2c0, BIT(17)), | ||||
| 	[RST_BUS_SPI0]		= RESET(0x2c0, BIT(20)), | ||||
| 	[RST_BUS_SPI1]		= RESET(0x2c0, BIT(21)), | ||||
| 	[RST_BUS_SPI2]		= RESET(0x2c0, BIT(22)), | ||||
|  | @ -75,6 +74,8 @@ static struct ccu_reset r40_resets[] = { | |||
| 	[RST_BUS_OHCI1]		= RESET(0x2c0, BIT(30)), | ||||
| 	[RST_BUS_OHCI2]		= RESET(0x2c0, BIT(31)), | ||||
| 
 | ||||
| 	[RST_BUS_GMAC]		= RESET(0x2c4, BIT(17)), | ||||
| 
 | ||||
| 	[RST_BUS_UART0]		= RESET(0x2d8, BIT(16)), | ||||
| 	[RST_BUS_UART1]		= RESET(0x2d8, BIT(17)), | ||||
| 	[RST_BUS_UART2]		= RESET(0x2d8, BIT(18)), | ||||
|  |  | |||
|  | @ -14,12 +14,14 @@ | |||
| #include <asm/arch/clock.h> | ||||
| #include <asm/arch/gpio.h> | ||||
| #include <common.h> | ||||
| #include <clk.h> | ||||
| #include <dm.h> | ||||
| #include <fdt_support.h> | ||||
| #include <linux/err.h> | ||||
| #include <malloc.h> | ||||
| #include <miiphy.h> | ||||
| #include <net.h> | ||||
| #include <reset.h> | ||||
| #include <dt-bindings/pinctrl/sun4i-a10.h> | ||||
| #ifdef CONFIG_DM_GPIO | ||||
| #include <asm-generic/gpio.h> | ||||
|  | @ -135,6 +137,8 @@ struct emac_eth_dev { | |||
| 	phys_addr_t sysctl_reg; | ||||
| 	struct phy_device *phydev; | ||||
| 	struct mii_dev *bus; | ||||
| 	struct clk tx_clk; | ||||
| 	struct reset_ctl tx_rst; | ||||
| #ifdef CONFIG_DM_GPIO | ||||
| 	struct gpio_desc reset_gpio; | ||||
| #endif | ||||
|  | @ -285,10 +289,18 @@ static int sun8i_emac_set_syscon(struct sun8i_eth_pdata *pdata, | |||
| 	int ret; | ||||
| 	u32 reg; | ||||
| 
 | ||||
| 	reg = readl(priv->sysctl_reg + 0x30); | ||||
| 	if (priv->variant == R40_GMAC) { | ||||
| 		/* Select RGMII for R40 */ | ||||
| 		reg = readl(priv->sysctl_reg + 0x164); | ||||
| 		reg |= CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII | | ||||
| 		       CCM_GMAC_CTRL_GPIT_RGMII | | ||||
| 		       CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY); | ||||
| 
 | ||||
| 	if (priv->variant == R40_GMAC) | ||||
| 		writel(reg, priv->sysctl_reg + 0x164); | ||||
| 		return 0; | ||||
| 	} | ||||
| 
 | ||||
| 	reg = readl(priv->sysctl_reg + 0x30); | ||||
| 
 | ||||
| 	if (priv->variant == H3_EMAC) { | ||||
| 		ret = sun8i_emac_set_syscon_ephy(priv, ®); | ||||
|  | @ -639,9 +651,24 @@ static int sun8i_eth_write_hwaddr(struct udevice *dev) | |||
| 	return _sun8i_write_hwaddr(priv, pdata->enetaddr); | ||||
| } | ||||
| 
 | ||||
| static void sun8i_emac_board_setup(struct emac_eth_dev *priv) | ||||
| static int sun8i_emac_board_setup(struct emac_eth_dev *priv) | ||||
| { | ||||
| 	struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	ret = clk_enable(&priv->tx_clk); | ||||
| 	if (ret) { | ||||
| 		dev_err(dev, "failed to enable TX clock\n"); | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	if (reset_valid(&priv->tx_rst)) { | ||||
| 		ret = reset_deassert(&priv->tx_rst); | ||||
| 		if (ret) { | ||||
| 			dev_err(dev, "failed to deassert TX reset\n"); | ||||
| 			goto err_tx_clk; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (priv->variant == H3_EMAC) { | ||||
| 		/* Only H3/H5 have clock controls for internal EPHY */ | ||||
|  | @ -656,26 +683,11 @@ static void sun8i_emac_board_setup(struct emac_eth_dev *priv) | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (priv->variant == R40_GMAC) { | ||||
| 		/* Set clock gating for emac */ | ||||
| 		setbits_le32(&ccm->ahb_reset1_cfg, BIT(AHB_RESET_OFFSET_GMAC)); | ||||
| 	return 0; | ||||
| 
 | ||||
| 		/* De-assert EMAC */ | ||||
| 		setbits_le32(&ccm->ahb_gate1, BIT(AHB_GATE_OFFSET_GMAC)); | ||||
| 
 | ||||
| 		/* Select RGMII for R40 */ | ||||
| 		setbits_le32(&ccm->gmac_clk_cfg, | ||||
| 			     CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII | | ||||
| 			     CCM_GMAC_CTRL_GPIT_RGMII); | ||||
| 		setbits_le32(&ccm->gmac_clk_cfg, | ||||
| 			     CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY)); | ||||
| 	} else { | ||||
| 		/* Set clock gating for emac */ | ||||
| 		setbits_le32(&ccm->ahb_gate0, BIT(AHB_GATE_OFFSET_GMAC)); | ||||
| 
 | ||||
| 		/* De-assert EMAC */ | ||||
| 		setbits_le32(&ccm->ahb_reset0_cfg, BIT(AHB_RESET_OFFSET_GMAC)); | ||||
| 	} | ||||
| err_tx_clk: | ||||
| 	clk_disable(&priv->tx_clk); | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| #if defined(CONFIG_DM_GPIO) | ||||
|  | @ -802,10 +814,14 @@ static int sun8i_emac_eth_probe(struct udevice *dev) | |||
| 	struct sun8i_eth_pdata *sun8i_pdata = dev_get_platdata(dev); | ||||
| 	struct eth_pdata *pdata = &sun8i_pdata->eth_pdata; | ||||
| 	struct emac_eth_dev *priv = dev_get_priv(dev); | ||||
| 	int ret; | ||||
| 
 | ||||
| 	priv->mac_reg = (void *)pdata->iobase; | ||||
| 
 | ||||
| 	sun8i_emac_board_setup(priv); | ||||
| 	ret = sun8i_emac_board_setup(priv); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
| 
 | ||||
| 	sun8i_emac_set_syscon(sun8i_pdata, priv); | ||||
| 
 | ||||
| 	sun8i_mdio_init(dev->name, dev); | ||||
|  | @ -834,8 +850,8 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev) | |||
| 	int offset = 0; | ||||
| #ifdef CONFIG_DM_GPIO | ||||
| 	int reset_flags = GPIOD_IS_OUT; | ||||
| 	int ret = 0; | ||||
| #endif | ||||
| 	int ret; | ||||
| 
 | ||||
| 	pdata->iobase = devfdt_get_addr(dev); | ||||
| 	if (pdata->iobase == FDT_ADDR_T_NONE) { | ||||
|  | @ -850,25 +866,35 @@ static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev) | |||
| 		return -EINVAL; | ||||
| 	} | ||||
| 
 | ||||
| 	if (priv->variant != R40_GMAC) { | ||||
| 		offset = fdtdec_lookup_phandle(gd->fdt_blob, node, "syscon"); | ||||
| 		if (offset < 0) { | ||||
| 			debug("%s: cannot find syscon node\n", __func__); | ||||
| 			return -EINVAL; | ||||
| 		} | ||||
| 		reg = fdt_getprop(gd->fdt_blob, offset, "reg", NULL); | ||||
| 		if (!reg) { | ||||
| 			debug("%s: cannot find reg property in syscon node\n", | ||||
| 			      __func__); | ||||
| 			return -EINVAL; | ||||
| 		} | ||||
| 		priv->sysctl_reg = fdt_translate_address((void *)gd->fdt_blob, | ||||
| 							 offset, reg); | ||||
| 		if (priv->sysctl_reg == FDT_ADDR_T_NONE) { | ||||
| 			debug("%s: Cannot find syscon base address\n", | ||||
| 			      __func__); | ||||
| 			return -EINVAL; | ||||
| 		} | ||||
| 	ret = clk_get_by_name(dev, "stmmaceth", &priv->tx_clk); | ||||
| 	if (ret) { | ||||
| 		dev_err(dev, "failed to get TX clock\n"); | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	ret = reset_get_by_name(dev, "stmmaceth", &priv->tx_rst); | ||||
| 	if (ret && ret != -ENOENT) { | ||||
| 		dev_err(dev, "failed to get TX reset\n"); | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	offset = fdtdec_lookup_phandle(gd->fdt_blob, node, "syscon"); | ||||
| 	if (offset < 0) { | ||||
| 		debug("%s: cannot find syscon node\n", __func__); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 
 | ||||
| 	reg = fdt_getprop(gd->fdt_blob, offset, "reg", NULL); | ||||
| 	if (!reg) { | ||||
| 		debug("%s: cannot find reg property in syscon node\n", | ||||
| 		      __func__); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 	priv->sysctl_reg = fdt_translate_address((void *)gd->fdt_blob, | ||||
| 						 offset, reg); | ||||
| 	if (priv->sysctl_reg == FDT_ADDR_T_NONE) { | ||||
| 		debug("%s: Cannot find syscon base address\n", __func__); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 
 | ||||
| 	pdata->phy_interface = -1; | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
|  */ | ||||
| 
 | ||||
| #include <common.h> | ||||
| #include <clk.h> | ||||
| #include <dm.h> | ||||
| #include <linux/err.h> | ||||
| #include <malloc.h> | ||||
|  | @ -157,6 +158,7 @@ struct sunxi_sramc_regs { | |||
| 
 | ||||
| struct emac_eth_dev { | ||||
| 	struct emac_regs *regs; | ||||
| 	struct clk clk; | ||||
| 	struct mii_dev *bus; | ||||
| 	struct phy_device *phydev; | ||||
| 	int link_printed; | ||||
|  | @ -500,14 +502,12 @@ static int _sunxi_emac_eth_send(struct emac_eth_dev *priv, void *packet, | |||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static void sunxi_emac_board_setup(struct emac_eth_dev *priv) | ||||
| static int sunxi_emac_board_setup(struct emac_eth_dev *priv) | ||||
| { | ||||
| 	struct sunxi_ccm_reg *const ccm = | ||||
| 		(struct sunxi_ccm_reg *)SUNXI_CCM_BASE; | ||||
| 	struct sunxi_sramc_regs *sram = | ||||
| 		(struct sunxi_sramc_regs *)SUNXI_SRAMC_BASE; | ||||
| 	struct emac_regs *regs = priv->regs; | ||||
| 	int pin; | ||||
| 	int pin, ret; | ||||
| 
 | ||||
| 	/* Map SRAM to EMAC */ | ||||
| 	setbits_le32(&sram->ctrl1, 0x5 << 2); | ||||
|  | @ -517,10 +517,16 @@ static void sunxi_emac_board_setup(struct emac_eth_dev *priv) | |||
| 		sunxi_gpio_set_cfgpin(pin, SUNXI_GPA_EMAC); | ||||
| 
 | ||||
| 	/* Set up clock gating */ | ||||
| 	setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_EMAC); | ||||
| 	ret = clk_enable(&priv->clk); | ||||
| 	if (ret) { | ||||
| 		dev_err(dev, "failed to enable emac clock\n"); | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	/* Set MII clock */ | ||||
| 	clrsetbits_le32(®s->mac_mcfg, 0xf << 2, 0xd << 2); | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static int sunxi_emac_eth_start(struct udevice *dev) | ||||
|  | @ -557,9 +563,19 @@ static int sunxi_emac_eth_probe(struct udevice *dev) | |||
| { | ||||
| 	struct eth_pdata *pdata = dev_get_platdata(dev); | ||||
| 	struct emac_eth_dev *priv = dev_get_priv(dev); | ||||
| 	int ret; | ||||
| 
 | ||||
| 	priv->regs = (struct emac_regs *)pdata->iobase; | ||||
| 	sunxi_emac_board_setup(priv); | ||||
| 
 | ||||
| 	ret = clk_get_by_index(dev, 0, &priv->clk); | ||||
| 	if (ret) { | ||||
| 		dev_err(dev, "failed to get emac clock\n"); | ||||
| 		return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	ret = sunxi_emac_board_setup(priv); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
| 
 | ||||
| 	return sunxi_emac_init_phy(priv, dev); | ||||
| } | ||||
|  |  | |||
|  | @ -104,13 +104,7 @@ | |||
| #define PHYS_SDRAM_0_SIZE		0x80000000 /* 2 GiB */ | ||||
| 
 | ||||
| #ifdef CONFIG_AHCI | ||||
| #define CONFIG_SCSI_AHCI_PLAT | ||||
| #define CONFIG_SUNXI_AHCI | ||||
| #define CONFIG_SYS_64BIT_LBA | ||||
| #define CONFIG_SYS_SCSI_MAX_SCSI_ID	1 | ||||
| #define CONFIG_SYS_SCSI_MAX_LUN		1 | ||||
| #define CONFIG_SYS_SCSI_MAX_DEVICE	(CONFIG_SYS_SCSI_MAX_SCSI_ID * \ | ||||
| 					 CONFIG_SYS_SCSI_MAX_LUN) | ||||
| #endif | ||||
| 
 | ||||
| #define CONFIG_SETUP_MEMORY_TAGS | ||||
|  |  | |||
|  | @ -0,0 +1,11 @@ | |||
| /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ | ||||
| /* Copyright (C) 2018 Jernej Skrabec <jernej.skrabec@siol.net> */ | ||||
| 
 | ||||
| #ifndef _DT_BINDINGS_CLOCK_SUN8I_TCON_TOP_H_ | ||||
| #define _DT_BINDINGS_CLOCK_SUN8I_TCON_TOP_H_ | ||||
| 
 | ||||
| #define CLK_TCON_TOP_TV0	0 | ||||
| #define CLK_TCON_TOP_TV1	1 | ||||
| #define CLK_TCON_TOP_DSI	2 | ||||
| 
 | ||||
| #endif /* _DT_BINDINGS_CLOCK_SUN8I_TCON_TOP_H_ */ | ||||
|  | @ -1939,7 +1939,6 @@ CONFIG_STV0991 | |||
| CONFIG_STV0991_HZ | ||||
| CONFIG_STV0991_HZ_CLOCK | ||||
| CONFIG_ST_SMI | ||||
| CONFIG_SUNXI_AHCI | ||||
| CONFIG_SUNXI_GPIO | ||||
| CONFIG_SUNXI_MAX_FB_SIZE | ||||
| CONFIG_SUPERH_ON_CHIP_R8A66597 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue