thanks for the link and pictures. You even cut out a space for the fan, nicely done. A few notes.
1) The PWM-FAN patches can't possibly have an effect. The armada-385 doesn't have the required blink registers. Only armada 370 and xp have those. To use the pwm-fan driver for mamba you'd have to edit armada-38x.dtsi as well, and if you do you should see a kernel panic.
You are using your fan as a gpio-fan and the binding should look along the lines of:
compatible = "gpio-fan";
gpios = <&gpio0 18 0>;
gpio-fan,speed-map = <0 0>,
2) mvsw61xx vs swconfig node. The former is the one used in OpenWrt, as you noticed the DTC complains. Fixing this requires changes to swconfig core. As it happens the switches on our devices to not use indirect addressing and so just dropping the "reg" property works as a workaround. I used swconfig for the node name but switch@72004 or such would be even better. Either way mvsw61xx is clearly against conventions. There is no functional impact due to this change. The whole thing behaves exactly the same as the original bindings except for the DTC warning being gone.
3) tlc59116 vs pca9635. Those are different chips with separate drivers. They serve the same purpose and the drivers seem compatible enough according to your testing. However this is not how it's supposed to be handled at all. I suggest to revert this change.
4) You add an "usb_power" property to the usb nodes, don't know how you ended up with this, but it will just silently be ignored.
Linksys WRT1900ACS v1 (Shelby) | Linksys WRT3200ACM (Rango)