| 823 | #endif |
| 824 | |
| 825 | int |
| 826 | soc_decode_win(void) |
| 827 | { |
| 828 | uint32_t dev, rev; |
| 829 | int mask, err; |
| 830 | |
| 831 | mask = 0; |
| 832 | TUNABLE_INT_FETCH("hw.pm-disable-mask", &mask); |
| 833 | |
| 834 | if (mask != 0) |
| 835 | pm_disable_device(mask); |
| 836 | |
| 837 | /* Retrieve data about physical addresses from device tree. */ |
| 838 | if ((err = win_cpu_from_dt()) != 0) |
| 839 | return (err); |
| 840 | |
| 841 | /* Retrieve our ID: some windows facilities vary between SoC models */ |
| 842 | soc_id(&dev, &rev); |
| 843 | |
| 844 | if (soc_family == MV_SOC_ARMADA_XP) |
| 845 | if ((err = decode_win_sdram_fixup()) != 0) |
| 846 | return(err); |
| 847 | |
| 848 | decode_win_cpu_setup(); |
| 849 | if (MV_DUMP_WIN) |
| 850 | soc_dump_decode_win(); |
| 851 | |
| 852 | eth_port = 0; |
| 853 | usb_port = 0; |
| 854 | if ((err = fdt_win_setup()) != 0) |
| 855 | return (err); |
| 856 | |
| 857 | return (0); |
| 858 | } |
| 859 | |
| 860 | /************************************************************************** |
| 861 | * Decode windows registers accessors |
no test coverage detected