@ -29,204 +29,198 @@
};
};
soc {
soc {
pinmux@800000 {
mdio0: mdio {
i2c4_pins: i2c4_pinmux {
compatible = "virtual,mdio-gpio";
pins = "gpio12", "gpio13";
#address-cells = <1>;
function = "gsbi4";
#size-cells = <0>;
bias-disable;
gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>,
};
<&qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&mdio0_pins>;
spi_pins: spi_pins {
pinctrl-names = "default";
mux {
pins = "gpio18", "gpio19", "gpio21";
function = "gsbi5";
drive-strength = <10>;
bias-none;
};
};
nand_pins: nand_pins {
mux {
pins = "gpio34", "gpio35", "gpio36",
"gpio37", "gpio38", "gpio39",
"gpio40", "gpio41", "gpio42",
"gpio43", "gpio44", "gpio45",
"gpio46", "gpio47";
function = "nand";
drive-strength = <10>;
bias-disable;
};
pullups {
pins = "gpio39";
bias-pull-up;
};
hold {
pins = "gpio40", "gpio41", "gpio42",
"gpio43", "gpio44", "gpio45",
"gpio46", "gpio47";
bias-bus-hold;
};
};
mdio0_pins: mdio0_pins {
phy0: ethernet-phy@0 {
mux {
reg = <0>;
pins = "gpio0", "gpio1";
qca,ar8327-initvals = <
function = "gpio";
0x00004 0x7600000 /* PAD0_MODE */
drive-strength = <8>;
0x00008 0x1000000 /* PAD5_MODE */
bias-disable;
0x0000c 0x80 /* PAD6_MODE */
};
0x000e4 0x6a545 /* MAC_POWER_SEL */
0x000e0 0xc74164de /* SGMII_CTRL */
0x0007c 0x4e /* PORT0_STATUS */
0x00094 0x4e /* PORT6_STATUS */
>;
};
};
rgmii2_pins: rgmii2_pins {
phy4: ethernet-phy@4 {
mux {
reg = <4>;
pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
"gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ;
function = "rgmii2";
drive-strength = <8>;
bias-disable;
};
};
};
};
};
};
};
gsbi@16300000 {
&qcom_pinmux {
qcom,mode = <GSBI_PROT_I2C_UART>;
i2c4_pins: i2c4_pinmux {
status = "okay ";
pins = "gpio12", "gpio13";
serial@16340000 {
function = "gsbi4";
status = "okay" ;
bias-disable;
};
};
/*
nand_pins: nand_pins {
* The i2c device on gsbi4 should not be enabled.
mux {
* On ipq806x designs gsbi4 i2c is meant for exclusive
pins = "gpio34", "gpio35", "gpio36",
* RPM usage. Turning this on in kernel manifests as
"gpio37", "gpio38", "gpio39",
* i2c failure for the RPM.
"gpio40", "gpio41", "gpio42",
*/
"gpio43", "gpio44", "gpio45",
"gpio46", "gpio47";
function = "nand";
drive-strength = <10>;
bias-disable;
};
pullups {
pins = "gpio39";
bias-pull-up;
};
};
hold {
pins = "gpio40", "gpio41", "gpio42",
"gpio43", "gpio44", "gpio45",
"gpio46", "gpio47";
bias-bus-hold;
};
};
gsbi5: gsbi@1a200000 {
mdio0_pins: mdio0_pins {
qcom,mode = <GSBI_PROT_SPI>;
mux {
status = "okay";
pins = "gpio0", "gpio1";
function = "gpio";
drive-strength = <8>;
bias-disable;
};
};
spi4: spi@1a280000 {
rgmii2_pins: rgmii2_pins {
status = "okay";
mux {
spi-max-frequency = <50000000>;
pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
"gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ;
function = "rgmii2";
drive-strength = <8>;
bias-disable;
};
};
};
pinctrl-0 = <&spi_pins>;
&adm_dma {
pinctrl-names = "default";
status = "okay";
};
cs-gpios = <&qcom_pinmux 20 0>;
&gsbi4 {
qcom,mode = <GSBI_PROT_I2C_UART>;
status = "okay";
flash: m25p80@0 {
serial@16340000 {
compatible = "s25fl256s1";
status = "okay";
#address-cells = <1>;
};
#size-cells = <1>;
spi-max-frequency = <50000000>;
reg = <0>;
partitions {
/*
compatible = "qcom,smem";
* The i2c device on gsbi4 should not be enabled.
};
* On ipq806x designs gsbi4 i2c is meant for exclusive
};
* RPM usage. Turning this on in kernel manifests as
};
* i2c failure for the RPM.
};
*/
};
sata-phy@1b400000 {
&gsbi5 {
status = "okay" ;
qcom,mode = <GSBI_PROT_SPI> ;
} ;
status = "okay" ;
sata@2900 0000 {
spi4: spi@1a28 0000 {
status = "okay";
status = "okay";
} ;
spi-max-frequency = <50000000> ;
usb3_0: usb3@110f8800 {
pinctrl-0 = <&spi_pins>;
status = "okay";
pinctrl-names = "default";
};
usb3_1: usb3@100f8800 {
cs-gpios = <&qcom_pinmux 20 0>;
status = "okay";
};
pcie0: pci@1b500000 {
flash: m25p80@0 {
status = "okay";
compatible = "s25fl256s1";
};
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
reg = <0>;
pcie1: pci@1b700000 {
partitions {
status = "okay";
compatible = "qcom,smem ";
force_gen1 = <1> ;
} ;
};
};
};
};
nand@1ac00000 {
&usb3_0 {
status = "okay";
status = "okay";
};
pinctrl-0 = <&nand_pins>;
&usb3_1 {
pinctrl-names = "default";
status = "okay";
};
cs 0 {
&pcie 0 {
reg = <0> ;
status = "okay" ;
compatible = "qcom,nandcs" ;
} ;
nand-ecc-strength = <4>;
&pcie1 {
nand-bus-width = <8>;
status = "okay";
nand-ecc-step-size = <512>;
force_gen1 = <1>;
};
partitions {
&nand {
compatible = "qcom,smem";
status = "okay";
};
};
};
mdio0: mdio {
pinctrl-0 = <&nand_pins>;
compatible = "virtual,mdio-gpio";
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>;
pinctrl-0 = <&mdio0_pins>;
pinctrl-names = "default";
phy0: ethernet-phy@0 {
cs0 {
reg = <0>;
reg = <0>;
qca,ar8327-initvals = <
compatible = "qcom,nandcs";
0x00004 0x7600000 /* PAD0_MODE */
0x00008 0x1000000 /* PAD5_MODE */
0x0000c 0x80 /* PAD6_MODE */
0x000e4 0x6a545 /* MAC_POWER_SEL */
0x000e0 0xc74164de /* SGMII_CTRL */
0x0007c 0x4e /* PORT0_STATUS */
0x00094 0x4e /* PORT6_STATUS */
>;
};
phy4: ethernet-phy@4 {
nand-ecc-strength = <4>;
reg = <4>;
nand-bus-width = <8>;
};
nand-ecc-step-size = <512>;
partitions {
compatible = "qcom,smem";
};
};
};
};
gmac1: ethernet@37200000 {
&gmac1 {
status = "okay";
status = "okay";
phy-mode = "rgmii";
phy-mode = "rgmii";
qcom,id = <1>;
qcom,id = <1>;
pinctrl-0 = <&rgmii2_pins>;
pinctrl-0 = <&rgmii2_pins>;
pinctrl-names = "default";
pinctrl-names = "default";
fixed-link {
fixed-link {
speed = <1000>;
speed = <1000>;
full-duplex;
full-duplex;
};
};
};
};
gmac2: ethernet@37400000 {
&gmac2 {
status = "okay";
status = "okay";
phy-mode = "sgmii";
phy-mode = "sgmii";
qcom,id = <2>;
qcom,id = <2>;
fixed-link {
fixed-link {
speed = <1000>;
speed = <1000>;
full-duplex;
full-duplex;
};
};
};
};
};
};
&adm_dma {
&sata_phy {
status = "okay";
};
&sata {
status = "okay";
status = "okay";
};
};