head 1.75; access; symbols netbsd-9-5-RELEASE:1.65.2.1 netbsd-11-0-RELEASE:1.72 netbsd-11-0-RC7:1.72 netbsd-11-0-RC6:1.72 netbsd-11-0-RC5:1.72 netbsd-11-0-RC4:1.72 netbsd-11-0-RC3:1.72 netbsd-11-0-RC2:1.72 netbsd-11-0-RC1:1.72 perseant-exfatfs-base-20250801:1.72 netbsd-11:1.72.0.12 netbsd-11-base:1.72 netbsd-10-1-RELEASE:1.72 perseant-exfatfs-base-20240630:1.72 perseant-exfatfs:1.72.0.10 perseant-exfatfs-base:1.72 netbsd-8-3-RELEASE:1.12.4.5 netbsd-9-4-RELEASE:1.65.2.1 netbsd-10-0-RELEASE:1.72 netbsd-10-0-RC6:1.72 netbsd-10-0-RC5:1.72 netbsd-10-0-RC4:1.72 netbsd-10-0-RC3:1.72 netbsd-10-0-RC2:1.72 thorpej-ifq:1.72.0.8 thorpej-ifq-base:1.72 thorpej-altq-separation:1.72.0.6 thorpej-altq-separation-base:1.72 netbsd-10-0-RC1:1.72 netbsd-10:1.72.0.4 netbsd-10-base:1.72 bouyer-sunxi-drm:1.72.0.2 bouyer-sunxi-drm-base:1.72 netbsd-9-3-RELEASE:1.65.2.1 thorpej-i2c-spi-conf2:1.69.0.10 thorpej-i2c-spi-conf2-base:1.69 thorpej-futex2:1.69.0.8 thorpej-futex2-base:1.69 thorpej-cfargs2:1.69.0.6 thorpej-cfargs2-base:1.69 cjep_sun2x-base1:1.69 cjep_sun2x:1.69.0.4 cjep_sun2x-base:1.69 cjep_staticlib_x-base1:1.69 netbsd-9-2-RELEASE:1.65.2.1 cjep_staticlib_x:1.69.0.2 cjep_staticlib_x-base:1.69 thorpej-i2c-spi-conf:1.68.0.8 thorpej-i2c-spi-conf-base:1.69 thorpej-cfargs:1.68.0.6 thorpej-cfargs-base:1.68 thorpej-futex:1.68.0.4 thorpej-futex-base:1.68 netbsd-9-1-RELEASE:1.65.2.1 bouyer-xenpvh-base2:1.68 phil-wifi-20200421:1.68 bouyer-xenpvh-base1:1.68 phil-wifi-20200411:1.68 bouyer-xenpvh:1.68.0.2 bouyer-xenpvh-base:1.68 is-mlppp:1.67.0.4 is-mlppp-base:1.67 phil-wifi-20200406:1.68 netbsd-8-2-RELEASE:1.12.4.5 ad-namecache-base3:1.67 netbsd-9-0-RELEASE:1.65 netbsd-9-0-RC2:1.65 ad-namecache-base2:1.67 ad-namecache-base1:1.67 ad-namecache:1.67.0.2 ad-namecache-base:1.67 netbsd-9-0-RC1:1.65 phil-wifi-20191119:1.66 netbsd-9:1.65.0.2 netbsd-9-base:1.65 phil-wifi-20190609:1.64 netbsd-8-1-RELEASE:1.12.4.5 netbsd-8-1-RC1:1.12.4.5 isaki-audio2:1.61.0.2 isaki-audio2-base:1.61 pgoyette-compat-merge-20190127:1.42.2.8 pgoyette-compat-20190127:1.60 pgoyette-compat-20190118:1.59 pgoyette-compat-1226:1.57 pgoyette-compat-1126:1.57 pgoyette-compat-1020:1.57 pgoyette-compat-0930:1.57 pgoyette-compat-0906:1.57 pgoyette-compat-0728:1.57 netbsd-8-0-RELEASE:1.12.4.5 phil-wifi:1.57.0.2 phil-wifi-base:1.57 pgoyette-compat-0625:1.57 netbsd-8-0-RC2:1.12.4.5 pgoyette-compat-0521:1.55 pgoyette-compat-0502:1.50 pgoyette-compat-0422:1.48 netbsd-8-0-RC1:1.12.4.5 pgoyette-compat-0415:1.48 pgoyette-compat-0407:1.48 pgoyette-compat-0330:1.45 pgoyette-compat-0322:1.45 pgoyette-compat-0315:1.43 pgoyette-compat:1.42.0.2 pgoyette-compat-base:1.42 tls-maxphys:1.38.0.2 tls-maxphys-base-20171202:1.38 matt-nb8-mediatek:1.12.4.5.0.2 matt-nb8-mediatek-base:1.12.4.5 nick-nhusb:1.21.0.2 nick-nhusb-base-20170825:1.17 netbsd-8:1.12.0.4 perseant-stdc-iso10646:1.12.0.2 perseant-stdc-iso10646-base:1.12; locks; strict; comment @# @; 1.75 date 2026.06.22.20.26.34; author jakllsch; state Exp; branches; next 1.74; commitid QQYcyjtO5nr5MPKG; 1.74 date 2025.09.19.05.18.22; author mrg; state Exp; branches; next 1.73; commitid ZLGoifTzxLEsBhbG; 1.73 date 2025.09.06.15.44.03; author thorpej; state Exp; branches; next 1.72; commitid 9V4ybx31NXy5wF9G; 1.72 date 2022.07.20.10.01.11; author riastradh; state Exp; branches 1.72.2.1; next 1.71; commitid VC7SYcVdMu8voCMD; 1.71 date 2022.06.28.05.19.03; author skrll; state Exp; branches; next 1.70; commitid CjsYsfWVxXhQwLJD; 1.70 date 2021.11.07.17.13.12; author jmcneill; state Exp; branches; next 1.69; commitid kcBm9FXgx2YUYSfD; 1.69 date 2021.05.05.10.24.04; author jmcneill; state Exp; branches; next 1.68; commitid LJqPnGY5qzhYGWRC; 1.68 date 2020.03.24.22.09.50; author tnn; state Exp; branches 1.68.8.1; next 1.67; commitid yCO67ENyy9doGH1C; 1.67 date 2019.12.09.04.51.03; author riastradh; state Exp; branches; next 1.66; commitid NLU8LaMKwEcllZNB; 1.66 date 2019.08.03.13.28.42; author tnn; state Exp; branches; next 1.65; commitid LM4dYHnSMNOajAxB; 1.65 date 2019.06.14.21.26.36; author tnn; state Exp; branches 1.65.2.1; next 1.64; commitid BbKscrYA3MmezcrB; 1.64 date 2019.05.28.21.56.04; author jmcneill; state Exp; branches; next 1.63; commitid 59M1o0Pra2Qzh1pB; 1.63 date 2019.05.27.21.12.54; author jmcneill; state Exp; branches; next 1.62; commitid JvpeNN2ZKNhN4ToB; 1.62 date 2019.05.08.13.40.14; author isaki; state Exp; branches; next 1.61; commitid LEGDdtzAItkeapmB; 1.61 date 2019.01.30.01.24.00; author jmcneill; state Exp; branches 1.61.2.1; next 1.60; commitid WF9vLjqT4bAQfK9B; 1.60 date 2019.01.22.20.17.36; author jmcneill; state Exp; branches; next 1.59; commitid S6B9X86X9RtQMO8B; 1.59 date 2019.01.03.14.44.21; author jmcneill; state Exp; branches; next 1.58; commitid U1pL2rbjJADlyl6B; 1.58 date 2019.01.03.11.01.59; author jmcneill; state Exp; branches; next 1.57; commitid Wq3kiNDcFat9kk6B; 1.57 date 2018.06.01.22.11.54; author jmcneill; state Exp; branches 1.57.2.1; next 1.56; commitid MwAhDFw3PIvnYCEA; 1.56 date 2018.05.27.17.14.23; author jmcneill; state Exp; branches; next 1.55; commitid cIaLjCHMg993uXDA; 1.55 date 2018.05.10.00.00.21; author jmcneill; state Exp; branches; next 1.54; commitid FtLLZKuLWhJrjGBA; 1.54 date 2018.05.06.10.34.34; author jmcneill; state Exp; branches; next 1.53; commitid 6olzXmitl7h2XdBA; 1.53 date 2018.05.05.09.54.53; author jmcneill; state Exp; branches; next 1.52; commitid uy4XmFp2BlkrL5BA; 1.52 date 2018.05.02.21.20.20; author jmcneill; state Exp; branches; next 1.51; commitid NNqydW0Q3aCvELAA; 1.51 date 2018.05.02.11.02.21; author jmcneill; state Exp; branches; next 1.50; commitid w71yPhT8ElWweIAA; 1.50 date 2018.05.01.23.59.42; author jmcneill; state Exp; branches; next 1.49; commitid KoCgXgzZVhxczEAA; 1.49 date 2018.05.01.19.53.14; author jmcneill; state Exp; branches; next 1.48; commitid zaBGoHLfmtKDcDAA; 1.48 date 2018.04.03.12.52.16; author bouyer; state Exp; branches; next 1.47; commitid JJRsNKyrxxxrJZwA; 1.47 date 2018.04.01.21.19.17; author bouyer; state Exp; branches; next 1.46; commitid PHOpE7EuT71BBMwA; 1.46 date 2018.04.01.04.35.04; author ryo; state Exp; branches; next 1.45; commitid Rbo0y8tEIcKr5HwA; 1.45 date 2018.03.19.16.18.30; author bouyer; state Exp; branches; next 1.44; commitid 4DYpbKTKOdbco5vA; 1.44 date 2018.03.17.18.34.09; author ryo; state Exp; branches; next 1.43; commitid b7lKxCAbcAnedQuA; 1.43 date 2018.03.07.20.55.31; author bouyer; state Exp; branches; next 1.42; commitid VFjJtvDnArJnjztA; 1.42 date 2018.02.18.10.28.37; author jmcneill; state Exp; branches 1.42.2.1; next 1.41; commitid MrOBMpvI3k3qokrA; 1.41 date 2018.02.14.20.10.17; author jakllsch; state Exp; branches; next 1.40; commitid ZCEgvrA19YhgJRqA; 1.40 date 2018.02.14.19.09.09; author jakllsch; state Exp; branches; next 1.39; commitid J8EBQMLOR0cUoRqA; 1.39 date 2018.01.31.16.24.11; author jakllsch; state Exp; branches; next 1.38; commitid dtd1pWEgfip9W2pA; 1.38 date 2017.11.10.00.09.23; author jmcneill; state Exp; branches 1.38.2.1; next 1.37; commitid jGirWm8tSughbqeA; 1.37 date 2017.10.23.11.06.31; author jmcneill; state Exp; branches; next 1.36; commitid ebAeCULBVK9PnacA; 1.36 date 2017.10.20.22.29.15; author jmcneill; state Exp; branches; next 1.35; commitid EoV4ZwezGY0JgQbA; 1.35 date 2017.10.11.10.52.54; author jmcneill; state Exp; branches; next 1.34; commitid DcaMU8qjQs0PHCaA; 1.34 date 2017.10.09.15.53.28; author jmcneill; state Exp; branches; next 1.33; commitid vWsccn9bEKMUqoaA; 1.33 date 2017.10.09.14.55.31; author jmcneill; state Exp; branches; next 1.32; commitid x1CKeO9LWMp67oaA; 1.32 date 2017.10.08.18.00.36; author jmcneill; state Exp; branches; next 1.31; commitid awEaQqtg6W3wahaA; 1.31 date 2017.10.07.21.53.16; author jmcneill; state Exp; branches; next 1.30; commitid sPYZYE3wwfPmuaaA; 1.30 date 2017.10.07.15.12.35; author jmcneill; state Exp; branches; next 1.29; commitid jZXsER34dOLWg8aA; 1.29 date 2017.10.07.13.28.59; author jmcneill; state Exp; branches; next 1.28; commitid WTGfdUlmIc1pH7aA; 1.28 date 2017.10.06.21.20.59; author jmcneill; state Exp; branches; next 1.27; commitid bxbSnz9MbGZgl2aA; 1.27 date 2017.10.06.21.09.21; author jmcneill; state Exp; branches; next 1.26; commitid rcvn9Fcse7Bfh2aA; 1.26 date 2017.10.05.01.30.26; author jmcneill; state Exp; branches; next 1.25; commitid SKrU2SPZpPOMMN9A; 1.25 date 2017.10.03.23.42.17; author jmcneill; state Exp; branches; next 1.24; commitid hcKxeH6m5dXIdF9A; 1.24 date 2017.09.30.12.48.58; author jmcneill; state Exp; branches; next 1.23; commitid WtrcKFsq3nJwHd9A; 1.23 date 2017.09.09.12.01.04; author jmcneill; state Exp; branches; next 1.22; commitid efMCcC6zTheX6w6A; 1.22 date 2017.09.07.01.07.04; author jmcneill; state Exp; branches; next 1.21; commitid H7OSMMUQlVBuyc6A; 1.21 date 2017.08.27.19.17.54; author jmcneill; state Exp; branches 1.21.2.1; next 1.20; commitid 6pP8v6LrcCMHWS4A; 1.20 date 2017.08.27.16.05.26; author jmcneill; state Exp; branches; next 1.19; commitid MtzT6mOx4hMISR4A; 1.19 date 2017.08.27.02.19.46; author jmcneill; state Exp; branches; next 1.18; commitid aqLXrGWBmcCujN4A; 1.18 date 2017.08.26.22.24.50; author jmcneill; state Exp; branches; next 1.17; commitid jolxFfpc0toI0M4A; 1.17 date 2017.08.25.00.07.03; author jmcneill; state Exp; branches; next 1.16; commitid 7JGg1PIDofAODw4A; 1.16 date 2017.08.06.17.15.45; author jmcneill; state Exp; branches; next 1.15; commitid cITl1idyMhNCWa2A; 1.15 date 2017.08.05.17.51.49; author jmcneill; state Exp; branches; next 1.14; commitid sD8V2wUeRYe0b32A; 1.14 date 2017.07.25.17.04.52; author jmcneill; state Exp; branches; next 1.13; commitid iJNd5ACJgH0JgD0A; 1.13 date 2017.07.23.10.16.08; author jmcneill; state Exp; branches; next 1.12; commitid 5qNzlQBsO4bE4l0A; 1.12 date 2017.07.17.23.26.17; author jmcneill; state Exp; branches 1.12.2.1 1.12.4.1; next 1.11; commitid zN82aEeRJMDADDZz; 1.11 date 2017.07.08.11.12.24; author jmcneill; state Exp; branches; next 1.10; commitid 0IWdfuAMejdJRpYz; 1.10 date 2017.07.07.13.11.31; author jmcneill; state Exp; branches; next 1.9; commitid MDmZD1CULv5LyiYz; 1.9 date 2017.07.02.18.06.45; author jmcneill; state Exp; branches; next 1.8; commitid WFuiTsJDeLwJlGXz; 1.8 date 2017.07.02.13.36.46; author jmcneill; state Exp; branches; next 1.7; commitid WsKcwgj9yXzdREXz; 1.7 date 2017.07.02.00.14.09; author jmcneill; state Exp; branches; next 1.6; commitid 7uMu3PyYA0bVpAXz; 1.6 date 2017.07.01.16.25.16; author jmcneill; state Exp; branches; next 1.5; commitid Ql44LdmfrxqFOxXz; 1.5 date 2017.06.29.19.38.24; author jmcneill; state Exp; branches; next 1.4; commitid gw7U5zY8L02oXiXz; 1.4 date 2017.06.29.19.16.08; author jmcneill; state Exp; branches; next 1.3; commitid tBXGd3tQqN7IPiXz; 1.3 date 2017.06.29.17.08.52; author jmcneill; state Exp; branches; next 1.2; commitid em59mYGAtXp48iXz; 1.2 date 2017.06.29.09.26.06; author jmcneill; state Exp; branches; next 1.1; commitid ebqq05f5V5FmzfXz; 1.1 date 2017.06.28.23.51.29; author jmcneill; state Exp; branches; next ; commitid 8kM9BOSnzI88ocXz; 1.72.2.1 date 2022.10.02.10.37.12; author bouyer; state Exp; branches; next ; commitid Ug4WAVwxlINzb8WD; 1.68.8.1 date 2021.05.13.00.47.24; author thorpej; state Exp; branches; next ; commitid hlq0lOvHnylpfVSC; 1.65.2.1 date 2020.05.18.18.45.40; author martin; state Exp; branches; next ; commitid pgiHRc35tytOMK8C; 1.61.2.1 date 2019.05.05.02.31.40; author isaki; state Exp; branches; next ; commitid P6qg5pdPOH2RzXlB; 1.57.2.1 date 2019.06.10.22.05.56; author christos; state Exp; branches; next 1.57.2.2; commitid jtc8rnCzWiEEHGqB; 1.57.2.2 date 2020.04.08.14.07.31; author martin; state Exp; branches; next 1.57.2.3; commitid Qli2aW9E74UFuA3C; 1.57.2.3 date 2020.04.13.08.03.37; author martin; state Exp; branches; next ; commitid X01YhRUPVUDaec4C; 1.42.2.1 date 2018.03.15.09.12.02; author pgoyette; state Exp; branches; next 1.42.2.2; commitid lb7w3QtkrVH4axuA; 1.42.2.2 date 2018.03.22.01.44.43; author pgoyette; state Exp; branches; next 1.42.2.3; commitid fxb4Rxa9G9QMsovA; 1.42.2.3 date 2018.04.07.04.12.12; author pgoyette; state Exp; branches; next 1.42.2.4; commitid ZMkKSYuBapz7LsxA; 1.42.2.4 date 2018.05.02.07.20.04; author pgoyette; state Exp; branches; next 1.42.2.5; commitid o3kRuNRzl9360HAA; 1.42.2.5 date 2018.05.21.04.35.59; author pgoyette; state Exp; branches; next 1.42.2.6; commitid X5L8kSrBWQcDt7DA; 1.42.2.6 date 2018.06.25.07.25.39; author pgoyette; state Exp; branches; next 1.42.2.7; commitid 8PtAu9af7VvhiDHA; 1.42.2.7 date 2019.01.18.08.50.15; author pgoyette; state Exp; branches; next 1.42.2.8; commitid Lmlzg3OVT2cd6f8B; 1.42.2.8 date 2019.01.26.22.00.01; author pgoyette; state Exp; branches; next ; commitid JKpcmvSjdT25dl9B; 1.38.2.1 date 2017.11.10.00.09.23; author jdolecek; state dead; branches; next 1.38.2.2; commitid XcIYRZTAh1LmerhA; 1.38.2.2 date 2017.12.03.11.35.56; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.21.2.1 date 2017.08.27.19.17.54; author skrll; state dead; branches; next 1.21.2.2; commitid UQQpnjvcNkUZn05A; 1.21.2.2 date 2017.08.28.17.51.32; author skrll; state Exp; branches; next ; commitid UQQpnjvcNkUZn05A; 1.12.2.1 date 2017.07.17.23.26.17; author jmcneill; state dead; branches; next 1.12.2.2; 1.12.2.2 date 2017.07.17.23.26.18; author jmcneill; state Exp; branches; next ; 1.12.4.1 date 2017.07.17.23.26.17; author snj; state dead; branches; next 1.12.4.2; commitid xwp7839uh5fpcKZz; 1.12.4.2 date 2017.07.18.19.13.08; author snj; state Exp; branches; next 1.12.4.3; commitid xwp7839uh5fpcKZz; 1.12.4.3 date 2017.07.25.02.03.16; author snj; state Exp; branches; next 1.12.4.4; commitid 6lD0zt9Z4F8nhy0A; 1.12.4.4 date 2017.07.26.07.32.06; author martin; state Exp; branches; next 1.12.4.5; commitid emuJc2ZpV76s4I0A; 1.12.4.5 date 2017.08.09.05.49.50; author snj; state Exp; branches; next ; commitid 1CivJ5zvMfzz2v2A; desc @@ 1.75 log @Break out and expand FDT property parsing for awge(4) FDT attachment frontends This uses the device tree's possible burst length bus interface settings, and improves performance on, for instance, Rockchip RK3399 @ text @# $NetBSD: files.sunxi,v 1.74 2025/09/19 05:18:22 mrg Exp $ # # Configuration info for Allwinner sunxi family SoCs # # file arch/arm/sunxi/sunxi_platform.c soc_sunxi file arch/arm/sunxi/sunxi_mc_smp.c soc_sunxi_mc file arch/arm/sunxi/sunxi_mc_mpstart.S soc_sunxi_mc # CCU define sunxi_ccu: fdt_clock, fdt_reset file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_fixed_factor.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_fractional.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_mux.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_display.c sunxi_ccu # CCU (A10/A20) device sun4ia10ccu: sunxi_ccu attach sun4ia10ccu at fdt with sunxi_a10_ccu file arch/arm/sunxi/sun4i_a10_ccu.c sunxi_a10_ccu # CCU (A13) device sun5ia13ccu: sunxi_ccu attach sun5ia13ccu at fdt with sunxi_a13_ccu file arch/arm/sunxi/sun5i_a13_ccu.c sunxi_a13_ccu # CCU (A31) device sun6ia31ccu: sunxi_ccu attach sun6ia31ccu at fdt with sunxi_a31_ccu file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu # CCU (A83T) device sun8ia83tccu: sunxi_ccu attach sun8ia83tccu at fdt with sunxi_a83t_ccu file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu # CCU (H3) device sun8ih3ccu: sunxi_ccu attach sun8ih3ccu at fdt with sunxi_h3_ccu file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu # CCU (H3 PRCM) device sun8ih3rccu: sunxi_ccu attach sun8ih3rccu at fdt with sunxi_h3_r_ccu file arch/arm/sunxi/sun8i_h3_r_ccu.c sunxi_h3_r_ccu # CCU (V3s) device sun8iv3sccu: sunxi_ccu attach sun8iv3sccu at fdt with sunxi_v3s_ccu file arch/arm/sunxi/sun8i_v3s_ccu.c sunxi_v3s_ccu # CCU (A80) device sun9ia80ccu: sunxi_ccu attach sun9ia80ccu at fdt with sunxi_a80_ccu file arch/arm/sunxi/sun9i_a80_ccu.c sunxi_a80_ccu # CCU (A64) device sun50ia64ccu: sunxi_ccu attach sun50ia64ccu at fdt with sunxi_a64_ccu file arch/arm/sunxi/sun50i_a64_ccu.c sunxi_a64_ccu # CCU (A64 PRCM) device sun50ia64rccu: sunxi_ccu attach sun50ia64rccu at fdt with sunxi_a64_r_ccu file arch/arm/sunxi/sun50i_a64_r_ccu.c sunxi_a64_r_ccu # CCU (H6) device sun50ih6ccu: sunxi_ccu attach sun50ih6ccu at fdt with sunxi_h6_ccu file arch/arm/sunxi/sun50i_h6_ccu.c sunxi_h6_ccu # CCU (H6 PRCM) device sun50ih6rccu: sunxi_ccu attach sun50ih6rccu at fdt with sunxi_h6_r_ccu file arch/arm/sunxi/sun50i_h6_r_ccu.c sunxi_h6_r_ccu # Misc. clock resets device sunxiresets: fdt_reset attach sunxiresets at fdt with sunxi_resets file arch/arm/sunxi/sunxi_resets.c sunxi_resets # Misc. clock gates device sunxigates: fdt_clock attach sunxigates at fdt with sunxi_gates file arch/arm/sunxi/sunxi_gates.c sunxi_gates # GMAC MII/RGMII clock mux device sunxigmacclk: fdt_clock attach sunxigmacclk at fdt with sunxi_gmacclk file arch/arm/sunxi/sunxi_gmacclk.c sunxi_gmacclk # SD/MMC-COMM (A80) device sun9immcclk: fdt_clock, fdt_reset attach sun9immcclk at fdt with sunxi_a80_mmcclk file arch/arm/sunxi/sun9i_a80_mmcclk.c sunxi_a80_mmcclk # USB HCI clocks (A80) device sun9iusbclk: fdt_clock attach sun9iusbclk at fdt with sunxi_a80_usbclk file arch/arm/sunxi/sun9i_a80_usbclk.c sunxi_a80_usbclk # CPUS clock driver (A80) device sun9icpusclk: fdt_clock attach sun9icpusclk at fdt with sunxi_a80_cpusclk file arch/arm/sunxi/sun9i_a80_cpusclk.c sunxi_a80_cpusclk # APB0 clock driver (A80) device sun8iapbclk: fdt_clock attach sun8iapbclk at fdt with sunxi_a23_apbclk file arch/arm/sunxi/sun8i_a23_apbclk.c sunxi_a23_apbclk # Interrupt controller device sunxiintc: pic, pic_splfuncs attach sunxiintc at fdt with sunxi_intc file arch/arm/sunxi/sunxi_intc.c sunxi_intc device sunxinmi attach sunxinmi at fdt with sunxi_nmi file arch/arm/sunxi/sunxi_nmi.c sunxi_nmi # GPIO device sunxigpio: fdt_clock, fdt_gpio, fdt_regulator, fdt_reset, fdt_pinctrl, gpiobus attach sunxigpio at fdt with sunxi_gpio file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio file arch/arm/sunxi/sun4i_a10_gpio.c sunxi_gpio & soc_sun4i_a10 file arch/arm/sunxi/sun5i_a13_gpio.c sunxi_gpio & soc_sun5i_a13 file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 file arch/arm/sunxi/sun7i_a20_gpio.c sunxi_gpio & soc_sun7i_a20 file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 file arch/arm/sunxi/sun8i_v3s_gpio.c sunxi_gpio & soc_sun8i_v3s file arch/arm/sunxi/sun9i_a80_gpio.c sunxi_gpio & soc_sun9i_a80 file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64 file arch/arm/sunxi/sun50i_h6_gpio.c sunxi_gpio & soc_sun50i_h6 # PWM device sunxipwm: fdt_clock, fdt_pwm attach sunxipwm at fdt with sunxi_pwm file arch/arm/sunxi/sunxi_pwm.c sunxi_pwm # SD/MMC device sunximmc: fdt_clock, fdt_gpio, fdt_mmc_pwrseq, fdt_regulator, fdt_reset, sdmmcbus attach sunximmc at fdt with sunxi_mmc file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc defparam opt_sunximmc.h SUNXI_MMC_DEBUG # USB PHY device sunxiusbphy: fdt_clock, fdt_phy, fdt_regulator, fdt_reset attach sunxiusbphy at fdt with sunxi_usbphy file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy device sunxiusb3phy: fdt_clock, fdt_phy, fdt_regulator, fdt_reset attach sunxiusb3phy at fdt with sunxi_usb3phy file arch/arm/sunxi/sunxi_usb3phy.c sunxi_usb3phy device sun9iusbphy: fdt_clock, fdt_phy, fdt_regulator, fdt_reset attach sun9iusbphy at fdt with sunxi_a80_usbphy file arch/arm/sunxi/sun9i_a80_usbphy.c sunxi_a80_usbphy # TWI device sunxitwi: fdt_clock, fdt_i2c, fdt_reset, i2cbus, i2cexec, mvi2c attach sunxitwi at fdt with sunxi_twi file arch/arm/sunxi/sunxi_twi.c sunxi_twi # P2WI/RSB device sunxirsb: fdt_clock, fdt_i2c, fdt_reset, i2cbus, i2cexec attach sunxirsb at fdt with sunxi_rsb file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb # RTC device sunxirtc: fdt_clock attach sunxirtc at fdt with sunxi_rtc file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc # EMAC (common) device emac: arp, ether, ifnet, mii # EMAC (sun4i/sun5i/sun7i) ifdef arm attach emac at fdt with sun4i_emac: fdt_clock file arch/arm/sunxi/sun4i_emac.c sun4i_emac endif # EMAC (sun8i/sun50i) attach emac at fdt with sunxi_emac: fdt_clock, fdt_gpio, fdt_regulator, fdt_reset, fdt_syscon file arch/arm/sunxi/sunxi_emac.c sunxi_emac # GMAC attach awge at fdt with sunxi_gmac: fdt_clock, fdt_gpio, fdt_regulator, dwc_gmac_fdt_subr file arch/arm/sunxi/sunxi_gmac.c sunxi_gmac # Timer device sunxitimer: fdt_clock attach sunxitimer at fdt with sunxi_timer file arch/arm/sunxi/sunxi_timer.c sunxi_timer # High Speed Timer device sunxihstimer: fdt_clock attach sunxihstimer at fdt with sunxi_hstimer file arch/arm/sunxi/sunxi_hstimer.c sunxi_hstimer # Watchdog device sunxiwdt: sysmon_wdog attach sunxiwdt at fdt with sunxi_wdt file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt # DMA controller (sun4i) device sun4idma: fdt_clock, fdt_dma attach sun4idma at fdt with sun4i_dma file arch/arm/sunxi/sun4i_dma.c sun4i_dma # DMA controller (sun6i) device sun6idma: fdt_clock, fdt_dma, fdt_reset attach sun6idma at fdt with sun6i_dma file arch/arm/sunxi/sun6i_dma.c sun6i_dma # Audio codec device sunxicodec: fdt_clock, fdt_dma, fdt_gpio, fdt_reset, audiobus attach sunxicodec at fdt with sunxi_codec file arch/arm/sunxi/sunxi_codec.c sunxi_codec file arch/arm/sunxi/sun4i_a10_codec.c sunxi_codec file arch/arm/sunxi/sun6i_a31_codec.c sunxi_codec # Audio codec (sun8i) device sun8icodec: fdt_clock, fdt_dai, fdt_gpio attach sun8icodec at fdt with sun8i_codec file arch/arm/sunxi/sun8i_codec.c sun8i_codec # H3 Audio codec (analog part) device h3codec attach h3codec at fdt with h3_codec file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag # V3s Audio codec (analog part) device v3scodec attach v3scodec at fdt with v3s_codec file arch/arm/sunxi/sun8i_v3s_codec.c v3s_codec needs-flag # A64 Audio codec (analog part) device a64acodec: fdt_dai attach a64acodec at fdt with a64_acodec file arch/arm/sunxi/sun50i_a64_acodec.c a64_acodec # I2S/PCM controller device sunxii2s: fdt_clock, fdt_dai, fdt_dma, fdt_reset attach sunxii2s at fdt with sunxi_i2s file arch/arm/sunxi/sunxi_i2s.c sunxi_i2s # A10/A20 LCD/TV timing controller (TCON) device sunxitcon: fdt_clock, fdt_reset attach sunxitcon at fdt with sunxi_tcon file arch/arm/sunxi/sunxi_tcon.c sunxi_tcon needs-flag # A10/A20 Display engine backend (DE-BE) device sunxidebe { }: fdt_clock, fdt_reset attach sunxidebe at fdt with sunxi_debe file arch/arm/sunxi/sunxi_debe.c sunxi_debe needs-flag attach genfb at sunxidebe with sunxi_befb # A10/A20 HDMI device sunxihdmi: fdt_clock, edid, videomode attach sunxihdmi at fdt with sunxi_hdmi file arch/arm/sunxi/sunxi_hdmi.c sunxi_hdmi needs-flag # A10/A20 display engine pipeline device sunxidep attach sunxidep at fdt with sunxi_dep file arch/arm/sunxi/sunxi_dep.c sunxi_dep # Touch Screen controller device sunxits: wsmousedev, tpcalib, sysmon_envsys attach sunxits at fdt with sunxi_ts file arch/arm/sunxi/sunxi_ts.c sunxi_ts # USB OTG attach motg at fdt with sunxi_musb: fdt_clock, fdt_phy, fdt_reset file arch/arm/sunxi/sunxi_musb.c sunxi_musb # Security ID EFUSE device sunxisid attach sunxisid at fdt with sunxi_sid file arch/arm/sunxi/sunxi_sid.c sunxi_sid # Thermal sensor controller device sunxithermal: fdt_clock, fdt_reset, sysmon_envsys, sysmon_taskq attach sunxithermal at fdt with sunxi_thermal file arch/arm/sunxi/sunxi_thermal.c sunxi_thermal # SATA attach ahcisata at fdt with sunxi_sata: fdt_clock file arch/arm/sunxi/sunxi_sata.c sunxi_sata # SRAM Controller device sunxisramc: fdt_syscon attach sunxisramc at fdt with sunxi_sramc file arch/arm/sunxi/sunxi_sramc.c sunxi_sramc # NAND Flash Controller device sunxinand: fdt_clock, fdt_reset, nandbus attach sunxinand at fdt with sunxi_nand file arch/arm/sunxi/sunxi_nand.c sunxi_nand # SPI Controller device sun4ispi: fdt_clock, fdt_spi, spibus attach sun4ispi at fdt with sun4i_spi file arch/arm/sunxi/sun4i_spi.c sun4i_spi device sun6ispi: fdt_clock, fdt_reset, spibus attach sun6ispi at fdt with sun6i_spi file arch/arm/sunxi/sun6i_spi.c sun6i_spi # A10/A20 CAN device sunxican { } : fdt_clock, fdt_reset, ifnet attach sunxican at fdt with sunxi_can file arch/arm/sunxi/sunxi_can.c sunxi_can # LRADC device sunxilradc: fdt_clock, fdt_regulator, fdt_reset attach sunxilradc at fdt with sunxi_lradc file arch/arm/sunxi/sunxi_lradc.c sunxi_lradc # DE2 bus device sunxide2bus { }: fdt, sunxi_sramc attach sunxide2bus at fdt with sunxi_de2bus file arch/arm/sunxi/sunxi_de2.c sunxi_de2bus # DE2 clocks device sunxide2ccu: fdt_reset, sunxi_ccu attach sunxide2ccu at fdt with sunxi_de2ccu file arch/arm/sunxi/sunxi_de2_ccu.c sunxi_de2ccu # DE2 mixer device sunximixer: fdt_clock, fdt_reset, drmkms attach sunximixer at fdt with sunxi_mixer file arch/arm/sunxi/sunxi_mixer.c sunxi_mixer makeoptions sunxi_mixer "CPPFLAGS.sunxi_mixer"+="${CPPFLAGS.drmkms}" # DE2 timing controller device sunxilcdc: fdt_clock, fdt_reset, drmkms attach sunxilcdc at fdt with sunxi_lcdc file arch/arm/sunxi/sunxi_lcdc.c sunxi_lcdc makeoptions sunxi_lcdc "CPPFLAGS.sunxi_lcdc"+="${CPPFLAGS.drmkms}" # Display Pipeline define sunxifbbus { } device sunxidrm: drmkms, ddc_read_edid, sunxifbbus attach sunxidrm at fdt with sunxi_drm file arch/arm/sunxi/sunxi_drm.c sunxi_drm makeoptions sunxi_drm "CPPFLAGS.sunxi_drm"+="${CPPFLAGS.drmkms}" # DRM framebuffer console device sunxifb: sunxifbbus, drmfb, wsemuldisplaydev attach sunxifb at sunxifbbus with sunxi_fb file arch/arm/sunxi/sunxi_fb.c sunxi_fb makeoptions sunxi_fb "CPPFLAGS.sunxi_fb"+="${CPPFLAGS.drmkms}" # Allwinner HDMI (Designware based) attach dwhdmi at fdt with sunxi_dwhdmi: fdt_clock, fdt_dai, fdt_phy, fdt_regulator, fdt_reset file arch/arm/sunxi/sunxi_dwhdmi.c sunxi_dwhdmi makeoptions sunxi_dwhdmi "CPPFLAGS.sunxi_dwhdmi"+="${CPPFLAGS.drmkms}" # Allwinner HDMI TX PHY device sunxihdmiphy: fdt_clock, fdt_phy, fdt_reset, drmkms attach sunxihdmiphy at fdt with sunxi_hdmiphy file arch/arm/sunxi/sunxi_hdmiphy.c sunxi_hdmiphy | sunxi_dwhdmi # Allwinner Crypto Engine device sun8icrypto: fdt_clock, fdt_reset attach sun8icrypto at fdt with sun8i_crypto file arch/arm/sunxi/sun8i_crypto.c sun8i_crypto # SOC parameters defflag opt_soc.h SOC_SUNXI defflag opt_soc.h SOC_SUNXI_MC defflag opt_soc.h SOC_SUN4I: SOC_SUNXI defflag opt_soc.h SOC_SUN4I_A10: SOC_SUN4I defflag opt_soc.h SOC_SUN5I: SOC_SUNXI defflag opt_soc.h SOC_SUN5I_A13: SOC_SUN5I defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I defflag opt_soc.h SOC_SUN7I: SOC_SUNXI defflag opt_soc.h SOC_SUN7I_A20: SOC_SUN7I defflag opt_soc.h SOC_SUN8I: SOC_SUNXI defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I defflag opt_soc.h SOC_SUN8I_V3S: SOC_SUN8I defflag opt_soc.h SOC_SUN9I: SOC_SUNXI defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC defflag opt_soc.h SOC_SUN50I: SOC_SUNXI defflag opt_soc.h SOC_SUN50I_A64: SOC_SUN50I defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3 defflag opt_soc.h SOC_SUN50I_H6: SOC_SUN50I makeoptions sunxi_ccu "CWARNFLAGS.sunxi_ccu_nm.c"+="${CC_WNO_MAYBE_UNINITIALIZED}" @ 1.74 log @avoid various seemingly bogus warnings with GCC 14. i couldn't see any real case for any of these issues. it seems like the "maybe uninit" checker has gotten worse. additionally, the "dangling pointer" checker also failing. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.73 2025/09/06 15:44:03 thorpej Exp $ d198 1 a198 1 attach awge at fdt with sunxi_gmac: fdt_clock, fdt_gpio, fdt_regulator @ 1.73 log @Step towards modularizing the Flattened Device Tree code. Define attributes for each of the specific device bindings: clock, dai, dma, gpio, i2c, iommu, mbox, mmc_pwrseq, phy, power, power domain, pwm, regulator, reset controller, spi, system controller, pin controller. Include these support files only if either a provider or consumer with one of these attributes is present in the kernel config. Add the necessary attributes to the device / attach declarations for each provider and consumer. There are some bindings that are consumed by generic code (iommu, pinctrl, power, power domain). Provide weak stubs for these routines to handle situations where there is no provider. No actual code changed; NFCI. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.72 2022/07/20 10:01:11 riastradh Exp $ d403 3 @ 1.72 log @drm: Use CPPFLAGS.drmkms in all local drm drivers too. This way we don't pollute the NetBSD kernel namespace with all the Linux compat shim definitions needed to build drm, except for the local drm drivers that need the API. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.71 2022/06/28 05:19:03 skrll Exp $ d13 1 a13 1 define sunxi_ccu d87 1 a87 1 device sunxiresets d92 1 a92 1 device sunxigates d97 1 a97 1 device sunxigmacclk d102 1 a102 1 device sun9immcclk d107 1 a107 1 device sun9iusbclk d112 1 a112 1 device sun9icpusclk d117 1 a117 1 device sun8iapbclk d131 1 a131 1 device sunxigpio: gpiobus d146 1 a146 1 device sunxipwm: pwm d151 1 a151 1 device sunximmc: sdmmcbus d157 1 a157 1 device sunxiusbphy d161 1 a161 1 device sunxiusb3phy d165 1 a165 1 device sun9iusbphy d170 1 a170 1 device sunxitwi: i2cbus, i2cexec, mvi2c d175 1 a175 1 device sunxirsb: i2cbus, i2cexec d180 1 a180 1 device sunxirtc d189 1 a189 1 attach emac at fdt with sun4i_emac d194 1 a194 1 attach emac at fdt with sunxi_emac d198 1 a198 1 attach awge at fdt with sunxi_gmac d202 1 a202 1 device sunxitimer d207 1 a207 1 device sunxihstimer d217 1 a217 1 device sun4idma d222 1 a222 1 device sun6idma d227 1 a227 1 device sunxicodec: audiobus d234 1 a234 1 device sun8icodec d249 1 a249 1 device a64acodec d254 1 a254 1 device sunxii2s d259 1 a259 1 device sunxitcon d264 1 a264 1 device sunxidebe { } d271 1 a271 1 device sunxihdmi: edid, videomode d286 1 a286 1 attach motg at fdt with sunxi_musb d295 1 a295 1 device sunxithermal: sysmon_envsys, sysmon_taskq d300 1 a300 1 attach ahcisata at fdt with sunxi_sata d304 1 a304 1 device sunxisramc d309 1 a309 1 device sunxinand: nandbus d314 1 a314 1 device sun4ispi: spibus d317 2 a318 1 device sun6ispi: spibus d323 1 a323 1 device sunxican { } : ifnet d328 1 a328 1 device sunxilradc d338 1 a338 1 device sunxide2ccu: sunxi_ccu d343 1 a343 1 device sunximixer: drmkms d349 1 a349 1 device sunxilcdc: drmkms d368 1 a368 1 attach dwhdmi at fdt with sunxi_dwhdmi d373 1 a373 1 device sunxihdmiphy: drmkms d378 1 a378 1 device sun8icrypto @ 1.72.2.1 log @Patch from Robert Swindells: start converting the A20 console driver to drm2. It builds but panics at boot because of missing helper functions for debe. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.72 2022/07/20 10:01:11 riastradh Exp $ d259 1 a259 1 device sunxitcon: drmkms a261 1 makeoptions sunxi_tcon "CPPFLAGS.sunxi_tcon"+="${CPPFLAGS.drmkms}" d264 1 a264 1 device sunxidebe: drmkms d267 2 a268 1 makeoptions sunxi_debe "CPPFLAGS.sunxi_debe"+="${CPPFLAGS.drmkms}" d271 1 a271 1 device sunxihdmi: edid, videomode, drmkms, drmkms_i2c, ddc_read_edid a273 1 makeoptions sunxi_hdmi "CPPFLAGS.sunxi_hdmi"+="${CPPFLAGS.drmkms}" d276 3 a278 3 #device sunxidep #attach sunxidep at fdt with sunxi_dep #file arch/arm/sunxi/sunxi_dep.c sunxi_dep @ 1.71 log @Add support for Lichee Pi Zero from Rui-Xiang Guo on port-arm @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.70 2021/11/07 17:13:12 jmcneill Exp $ d345 1 d351 1 d358 1 d364 1 d369 1 @ 1.70 log @sunxi: ccu: add support for basic "mux" clocks @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.69 2021/05/05 10:24:04 jmcneill Exp $ d140 1 @ 1.69 log @Add support for Allwinner V3s, from Rui-Xiang Guo. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.68 2020/03/24 22:09:50 tnn Exp $ d19 1 @ 1.68 log @ohci@@fdt, ehci@@fdt are machine independent; move from sunxi to sys/dev/fdt @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.67 2019/12/09 04:51:03 riastradh Exp $ d55 5 d241 5 d388 1 @ 1.68.8.1 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.69 2021/05/05 10:24:04 jmcneill Exp $ a54 5 # CCU (V3s) device sun8iv3sccu: sunxi_ccu attach sun8iv3sccu at fdt with sunxi_v3s_ccu file arch/arm/sunxi/sun8i_v3s_ccu.c sunxi_v3s_ccu a235 5 # V3s Audio codec (analog part) device v3scodec attach v3scodec at fdt with v3s_codec file arch/arm/sunxi/sun8i_v3s_codec.c v3s_codec needs-flag a377 1 defflag opt_soc.h SOC_SUN8I_V3S: SOC_SUN8I @ 1.67 log @Draft driver for Allwinner Crypto Engine. Found on, e.g., the Pinebook. Only used for TRNG at the moment, but hooking it up to opencrypto(9) shouldn't be too hard if anyone still cares about that these days. The distribution of the alleged TRNG is very nonuniform distributed seems to alternate between toward runs with exceptionally high fractions of 0 bits and runs with exceptionally high fractions of 1 bits -- initially all my samples were mostly 0's, and then all my samples were mostly 1's, and now I'm seeing more oscillation between these runs. So I've wired it up as RND_TYPE_UNKNOWN, not RND_TYPE_RNG (it will immediately flunk our rngtest and be disabled), and I estimated it to provide at most one bit of entropy per byte of data -- which may still be optimistic. I also added a sysctl node hw.sun8icryptoN.rng to read out 1024-byte samples for analysis, and I left the driver commented out in GENERIC64 for now. (If anyone has contacts at Allwinner who can tell us about how the alleged TRNG is supposed to work, please let me know!) @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.66 2019/08/03 13:28:42 tnn Exp $ a161 8 # EHCI attach ehci at fdt with ehci_fdt file dev/fdt/ehci_fdt.c ehci_fdt # OHCI attach ohci at fdt with ohci_fdt file dev/fdt/ohci_fdt.c ohci_fdt @ 1.66 log @sun4i_spi: spi(4) driver for Allwinner A10/A20 platform @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.65 2019/06/14 21:26:36 tnn Exp $ d367 5 @ 1.65 log @sunxihstimer: add support for Allwinner High-Speed Timer @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.64 2019/05/28 21:56:04 jmcneill Exp $ d309 4 a312 1 # SPI Controller (sun6i-compatible) @ 1.65.2.1 log @Pull up following revision(s) (requested by riastradh in ticket #912): sys/arch/arm/dts/sun50i-a64.dtsi: revision 1.14 sys/arch/evbarm/conf/GENERIC64: revision 1.116 sys/arch/evbarm/conf/GENERIC64: revision 1.131 sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.21 sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.22 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.10 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.11 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.12 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.1 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.2 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.3 sys/arch/arm/sunxi/sun8i_crypto.h: revision 1.1 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.4 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.5 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.6 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.7 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.8 sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.9 sys/arch/arm/sunxi/files.sunxi: revision 1.67 Add crypto engine clock Add SUNXI_CCU_NM_ROUND_DOWN to CE clock, fix pll parents to use 2X outputs Add crypto engine block. Draft driver for Allwinner Crypto Engine. Found on, e.g., the Pinebook. Only used for TRNG at the moment, but hooking it up to opencrypto(9) shouldn't be too hard if anyone still cares about that these days. The distribution of the alleged TRNG is very nonuniform distributed seems to alternate between toward runs with exceptionally high fractions of 0 bits and runs with exceptionally high fractions of 1 bits -- initially all my samples were mostly 0's, and then all my samples were mostly 1's, and now I'm seeing more oscillation between these runs. So I've wired it up as RND_TYPE_UNKNOWN, not RND_TYPE_RNG (it will immediately flunk our rngtest and be disabled), and I estimated it to provide at most one bit of entropy per byte of data -- which may still be optimistic. I also added a sysctl node hw.sun8icryptoN.rng to read out 1024-byte samples for analysis, and I left the driver commented out in GENERIC64 for now. (If anyone has contacts at Allwinner who can tell us about how the alleged TRNG is supposed to work, please let me know!) Reduce some duplicated bus_dma clutter. Factor out some of the self-test logic used for debugging. Add missing bus_dmamap_sync(POSTWRITE) while here. Make sure ERESTART doesn't come flying out to userland. I picked ERESTART to mean `all channels are occupied' because that's what opencrypto(9) uses to decide whether to queue a request, but it's not appropriate for sysctl(2) to return that. Avoid a race between interruption and reacquisition of lock. Otherwise, we would have leaked the memory in this case. Tidy up comments. Oops -- forgot to kmem_free. Fix typo -- acknowledge interrupts _and_ errors. Reduce entropy estimate for sun8icrypto TRNG. NIST's SP800-90B entropy estimation tools put it at no more than .08 bits of entropy per byte of data(!), so estimate 100 bits of data per bit of entropy. This is probably not conservative enough -- the NIST tools were written without knowledge of how this alleged TRNG works! Knowledge of the physics of how the TRNG is supposed to work could probably enable a better job at predicting the outputs. While here, bump the size of data we can sample directly with sysctl to 4096 bytes. Enable sun8icrypto in GENERIC64. But set its entropy estimate to zero until we have a better idea of how it works. Can't really hurt this way unless sun8icrypto is maliciously dependent on all other inputs to the entropy pool, which seems unlikely. Fix (presently harmless) psato. Don't overwrite cy_root_node; use cy_trng_node as intended. Fix previous brainfart. Don't use the uninitialized trng node as the root node -- derp. Instead, use the root node as the root node, and initialize the trng node here. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.65 2019/06/14 21:26:36 tnn Exp $ a363 5 # Allwinner Crypto Engine device sun8icrypto attach sun8icrypto at fdt with sun8i_crypto file arch/arm/sunxi/sun8i_crypto.c sun8i_crypto @ 1.64 log @Add A80 USB support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.63 2019/05/27 21:12:54 jmcneill Exp $ d207 5 @ 1.63 log @Add apb0 and cpus clock drivers for A80 @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.62 2019/05/08 13:40:14 isaki Exp $ d100 5 d158 4 @ 1.62 log @Merge isaki-audio2 branch, the overhaul of audio subsystem. - Interrupt-oriented system rather than thread-oriented. - Improve stability, quality and performance. - Split playback and record cleanly. Improve halfduplex support. - Many bugs are fixed including deadlocks, resource leaks, abuses, etc. - Simplify audio filter mechanism. The encoding/channels/frequency conversions are completely handled in the upper layer. So the hard- ware driver only converts its hardware encoding (if necessary). - audio_hw_if changes: - Obsoletes query_encoding and add query_format instead. - Obsoletes set_params and add set_format instead. - Remove drain, setfd, mappage. - The call sequences are changed. - ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted. - ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced. - cleanup config attributes: au*conv and mulaw. - All hardware drivers should follow it (I've done as much as possible). Some file paths are changed: - dev/audio.c -> dev/audio/audio.c (rewritten) - dev/audiovar.h -> dev/audio/audiovar.h - dev/audio_dai.h -> dev/audio/audio_dai.h - dev/audio_if.h -> dev/audio/audio_if.h - dev/audiobell.c -> dev/audio/audiobell.c - dev/audiobellvar.h -> dev/audio/audiobellvar.h - dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.61 2019/01/30 01:24:00 jmcneill Exp $ d100 10 @ 1.61 log @Add support for Allwinner A64's display pipeline. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.60 2019/01/22 20:17:36 jmcneill Exp $ d204 1 a204 1 device sunxicodec: audiobus, auconv, mulaw, aurateconv d226 1 a226 1 device sunxii2s: auconv, mulaw, aurateconv @ 1.61.2.1 log @Remove obsoleted au{,rate,vol}conv and mulaw attributes. audio provides the equivalent of them inseparably. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.61 2019/01/30 01:24:00 jmcneill Exp $ d204 1 a204 1 device sunxicodec: audiobus d226 1 a226 1 device sunxii2s @ 1.60 log @Add drivers for DE2 bus and clock controllers. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.59 2019/01/03 14:44:21 jmcneill Exp $ d310 30 @ 1.59 log @Add Allwinner A80 SMP support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.58 2019/01/03 11:01:59 jmcneill Exp $ d300 10 @ 1.58 log @Add Allwinner A83T SMP support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.57 2018/06/01 22:11:54 jmcneill Exp $ d315 1 a315 1 defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I @ 1.57 log @Move simplefb declaration to files.fdt @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.56 2018/05/27 17:14:23 jmcneill Exp $ d9 3 d299 1 d302 1 d312 1 a312 1 defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I @ 1.57.2.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.64 2019/05/28 21:56:04 jmcneill Exp $ a8 3 file arch/arm/sunxi/sunxi_mc_smp.c soc_sunxi_mc file arch/arm/sunxi/sunxi_mc_mpstart.S soc_sunxi_mc a96 15 # USB HCI clocks (A80) device sun9iusbclk attach sun9iusbclk at fdt with sunxi_a80_usbclk file arch/arm/sunxi/sun9i_a80_usbclk.c sunxi_a80_usbclk # CPUS clock driver (A80) device sun9icpusclk attach sun9icpusclk at fdt with sunxi_a80_cpusclk file arch/arm/sunxi/sun9i_a80_cpusclk.c sunxi_a80_cpusclk # APB0 clock driver (A80) device sun8iapbclk attach sun8iapbclk at fdt with sunxi_a23_apbclk file arch/arm/sunxi/sun8i_a23_apbclk.c sunxi_a23_apbclk a139 4 device sun9iusbphy attach sun9iusbphy at fdt with sunxi_a80_usbphy file arch/arm/sunxi/sun9i_a80_usbphy.c sunxi_a80_usbphy d201 1 a201 1 device sunxicodec: audiobus d223 1 a223 1 device sunxii2s a295 41 # DE2 bus device sunxide2bus { }: fdt, sunxi_sramc attach sunxide2bus at fdt with sunxi_de2bus file arch/arm/sunxi/sunxi_de2.c sunxi_de2bus # DE2 clocks device sunxide2ccu: sunxi_ccu attach sunxide2ccu at fdt with sunxi_de2ccu file arch/arm/sunxi/sunxi_de2_ccu.c sunxi_de2ccu # DE2 mixer device sunximixer: drmkms attach sunximixer at fdt with sunxi_mixer file arch/arm/sunxi/sunxi_mixer.c sunxi_mixer # DE2 timing controller device sunxilcdc: drmkms attach sunxilcdc at fdt with sunxi_lcdc file arch/arm/sunxi/sunxi_lcdc.c sunxi_lcdc # Display Pipeline define sunxifbbus { } device sunxidrm: drmkms, ddc_read_edid, sunxifbbus attach sunxidrm at fdt with sunxi_drm file arch/arm/sunxi/sunxi_drm.c sunxi_drm # DRM framebuffer console device sunxifb: sunxifbbus, drmfb, wsemuldisplaydev attach sunxifb at sunxifbbus with sunxi_fb file arch/arm/sunxi/sunxi_fb.c sunxi_fb # Allwinner HDMI (Designware based) attach dwhdmi at fdt with sunxi_dwhdmi file arch/arm/sunxi/sunxi_dwhdmi.c sunxi_dwhdmi # Allwinner HDMI TX PHY device sunxihdmiphy: drmkms attach sunxihdmiphy at fdt with sunxi_hdmiphy file arch/arm/sunxi/sunxi_hdmiphy.c sunxi_hdmiphy | sunxi_dwhdmi a297 1 defflag opt_soc.h SOC_SUNXI_MC d307 1 a307 1 defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC d310 1 a310 1 defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC @ 1.57.2.2 log @Merge changes from current as of 20200406 @ text @d1 1 a1 1 # $NetBSD$ d162 8 a358 5 # Allwinner Crypto Engine device sun8icrypto attach sun8icrypto at fdt with sun8i_crypto file arch/arm/sunxi/sun8i_crypto.c sun8i_crypto @ 1.57.2.3 log @Mostly merge changes from HEAD upto 20200411 @ text @a198 5 # High Speed Timer device sunxihstimer attach sunxihstimer at fdt with sunxi_hstimer file arch/arm/sunxi/sunxi_hstimer.c sunxi_hstimer d296 1 a296 4 # SPI Controller device sun4ispi: spibus attach sun4ispi at fdt with sun4i_spi file arch/arm/sunxi/sun4i_spi.c sun4i_spi @ 1.56 log @Rename sunxi_com to dw_apb_uart and move it to dev/fdt since it is not sunxi-specific. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.55 2018/05/10 00:00:21 jmcneill Exp $ a226 4 # Display controller attach genfb at fdt with simplefb file dev/fdt/simplefb.c simplefb @ 1.55 log @Add support for Allwinner A64 audio codec. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.54 2018/05/06 10:34:34 jmcneill Exp $ a119 4 # UART attach com at fdt with sunxi_com file arch/arm/sunxi/sunxi_com.c sunxi_com needs-flag @ 1.54 log @Add driver for Allwinner PWM controller. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.53 2018/05/05 09:54:53 jmcneill Exp $ d211 5 d221 10 @ 1.53 log @Add driver for Allwinner A64 PRCM CCU @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.52 2018/05/02 21:20:20 jmcneill Exp $ d124 5 @ 1.52 log @Add driver for Allwinner NMI / R_INTC interrupt controller. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.51 2018/05/02 11:02:21 jmcneill Exp $ d62 5 @ 1.51 log @Add driver for Allwinner H6 PRCM CCU. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.50 2018/05/01 23:59:42 jmcneill Exp $ d97 4 @ 1.50 log @Add driver for Allwinner USB3 PHY. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.49 2018/05/01 19:53:14 jmcneill Exp $ d67 5 @ 1.49 log @Add support for Allwinner H6 CCU. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.48 2018/04/03 12:52:16 bouyer Exp $ d121 4 @ 1.48 log @work in progress on porting graphics drivers from arm/allwinner to fdt. sunxidebe: display backend drivers sunxitcon: lcd controller driver sunxihdmi: hdmi controller driver sunxidep: display engine pipeline driver. Its role is only to parse the fdt display-engine node, and activate de backend drivers based on the content of allwinner,pipelines So far HDMI and lvds output works, in dual-framebuffer mode. It has only been tested on A20. It should be OK on the A10 too, but will likely need more work for other SoCs. Console is not handled yet, and it conflicts with the simplefb driver if it has been activated by u-boot. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.47 2018/04/01 21:19:17 bouyer Exp $ d62 5 @ 1.47 log @Add a round_rate() callback for the sunxi clock domain. Add a sunxi_ccu_display.c file with helpers for setting up display engine clocks. for fractional clocks, rename frac_en to div_en, I got the logic inverted. Adjust tcon0-ch0, tcon0-ch1, tcon1-ch0 and tcon1-ch1 definitions to automatically select a parent. tcon0 hardcoded to pll3 and tcon1 to pll7. Define a round_rate() callback for these clocks, as well as fractional clocks. Hardcode debe clocks parent to pll5. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.46 2018/04/01 04:35:04 ryo Exp $ d192 22 @ 1.46 log @Add initial support for ARMv8 (AARCH64) (by nisimura@@ and ryo@@) - sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@@, jmcneill@@) @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.45 2018/03/19 16:18:30 bouyer Exp $ d20 1 @ 1.45 log @Add some more A10/A20 clocks definitions; related to display engines. The video PLLs requires a new clock type, SUNXI_CCU_FRACTIONAL @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.44 2018/03/17 18:34:09 ryo Exp $ a6 11 include "arch/arm/pic/files.pic" include "arch/arm/cortex/files.cortex" file arch/arm/arm32/arm32_boot.c file arch/arm/arm32/arm32_kvminit.c file arch/arm/arm32/arm32_reboot.c file arch/arm/arm32/irq_dispatch.S file arch/arm/arm32/armv7_generic_space.c file arch/arm/arm/arm_generic_dma.c file arch/arm/arm/bus_space_a4x.S d95 1 a95 1 file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & (soc_sun8i_h3 | soc_sun50i_h5) d255 1 a255 1 defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I @ 1.44 log @move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c, and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag no functional change. (preliminary changes for merging aarch64) @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.43 2018/03/07 20:55:31 bouyer Exp $ d25 1 @ 1.43 log @fdt-ise the allwinner can and lradc drivers. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.42 2018/02/18 10:28:37 jmcneill Exp $ d15 1 a15 1 file arch/arm/arm32/armv7_generic_dma.c @ 1.42 log @Add support for Allwinner H6 CPUX and CPUS port controllers. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.41 2018/02/14 20:10:17 jakllsch Exp $ d239 9 @ 1.42.2.1 log @Synch with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.43 2018/03/07 20:55:31 bouyer Exp $ a238 9 # A10/A20 CAN device sunxican { } : ifnet attach sunxican at fdt with sunxi_can file arch/arm/sunxi/sunxi_can.c sunxi_can # LRADC device sunxilradc attach sunxilradc at fdt with sunxi_lradc file arch/arm/sunxi/sunxi_lradc.c sunxi_lradc @ 1.42.2.2 log @Synch with HEAD, resolve conflicts @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.45 2018/03/19 16:18:30 bouyer Exp $ d15 1 a15 1 file arch/arm/arm/arm_generic_dma.c a24 1 file arch/arm/sunxi/sunxi_ccu_fractional.c sunxi_ccu @ 1.42.2.3 log @Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$ @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.48 2018/04/03 12:52:16 bouyer Exp $ d7 11 a30 1 file arch/arm/sunxi/sunxi_ccu_display.c sunxi_ccu d106 1 a106 1 file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 a201 22 # A10/A20 LCD/TV timing controller (TCON) device sunxitcon attach sunxitcon at fdt with sunxi_tcon file arch/arm/sunxi/sunxi_tcon.c sunxi_tcon needs-flag # A10/A20 Display engine backend (DE-BE) device sunxidebe { } attach sunxidebe at fdt with sunxi_debe file arch/arm/sunxi/sunxi_debe.c sunxi_debe needs-flag attach genfb at sunxidebe with sunxi_befb # A10/A20 HDMI device sunxihdmi: edid, videomode attach sunxihdmi at fdt with sunxi_hdmi file arch/arm/sunxi/sunxi_hdmi.c sunxi_hdmi needs-flag # A10/A20 display engine pipeline device sunxidep attach sunxidep at fdt with sunxi_dep file arch/arm/sunxi/sunxi_dep.c sunxi_dep d266 1 a266 1 defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I, SOC_SUN8I_H3 @ 1.42.2.4 log @Synch with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.50 2018/05/01 23:59:42 jmcneill Exp $ a61 5 # CCU (H6) device sun50ih6ccu: sunxi_ccu attach sun50ih6ccu at fdt with sunxi_h6_ccu file arch/arm/sunxi/sun50i_h6_ccu.c sunxi_h6_ccu a115 4 device sunxiusb3phy attach sunxiusb3phy at fdt with sunxi_usb3phy file arch/arm/sunxi/sunxi_usb3phy.c sunxi_usb3phy @ 1.42.2.5 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.55 2018/05/10 00:00:21 jmcneill Exp $ a61 5 # CCU (A64 PRCM) device sun50ia64rccu: sunxi_ccu attach sun50ia64rccu at fdt with sunxi_a64_r_ccu file arch/arm/sunxi/sun50i_a64_r_ccu.c sunxi_a64_r_ccu a66 5 # CCU (H6 PRCM) device sun50ih6rccu: sunxi_ccu attach sun50ih6rccu at fdt with sunxi_h6_r_ccu file arch/arm/sunxi/sun50i_h6_r_ccu.c sunxi_h6_r_ccu a91 4 device sunxinmi attach sunxinmi at fdt with sunxi_nmi file arch/arm/sunxi/sunxi_nmi.c sunxi_nmi a109 5 # PWM device sunxipwm: pwm attach sunxipwm at fdt with sunxi_pwm file arch/arm/sunxi/sunxi_pwm.c sunxi_pwm a191 5 # Audio codec (sun8i) device sun8icodec attach sun8icodec at fdt with sun8i_codec file arch/arm/sunxi/sun8i_codec.c sun8i_codec a196 10 # A64 Audio codec (analog part) device a64acodec attach a64acodec at fdt with a64_acodec file arch/arm/sunxi/sun50i_a64_acodec.c a64_acodec # I2S/PCM controller device sunxii2s: auconv, mulaw, aurateconv attach sunxii2s at fdt with sunxi_i2s file arch/arm/sunxi/sunxi_i2s.c sunxi_i2s @ 1.42.2.6 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.57 2018/06/01 22:11:54 jmcneill Exp $ d120 4 d231 4 @ 1.42.2.7 log @Synch with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.42.2.6 2018/06/25 07:25:39 pgoyette Exp $ a8 3 file arch/arm/sunxi/sunxi_mc_smp.c soc_sunxi_mc file arch/arm/sunxi/sunxi_mc_mpstart.S soc_sunxi_mc a295 1 a297 1 defflag opt_soc.h SOC_SUNXI_MC d307 1 a307 1 defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I, SOC_SUNXI_MC d310 1 a310 1 defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I, SOC_SUNXI_MC @ 1.42.2.8 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.42.2.7 2019/01/18 08:50:15 pgoyette Exp $ a299 10 # DE2 bus device sunxide2bus { }: fdt, sunxi_sramc attach sunxide2bus at fdt with sunxi_de2bus file arch/arm/sunxi/sunxi_de2.c sunxi_de2bus # DE2 clocks device sunxide2ccu: sunxi_ccu attach sunxide2ccu at fdt with sunxi_de2ccu file arch/arm/sunxi/sunxi_de2_ccu.c sunxi_de2ccu @ 1.41 log @Adjust Allwinner emac(4) drivers to be compatible with root on NFS. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.40 2018/02/14 19:09:09 jakllsch Exp $ d108 1 d257 1 @ 1.40 log @Adjust comment; sun4i_emac is also used on sun5i. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.39 2018/01/31 16:24:11 jakllsch Exp $ d147 3 d151 2 a152 2 device sun4iemac: arp, ether, ifnet, mii attach sun4iemac at fdt with sun4i_emac d154 1 d157 1 a157 2 device sunxiemac: arp, ether, ifnet, mii attach sunxiemac at fdt with sunxi_emac @ 1.39 log @Add sun6i SPI driver. Currently PIO-only. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.38 2017/11/10 00:09:23 jmcneill Exp $ d147 1 a147 1 # EMAC (sun4i/sun7i) @ 1.38 log @Allwinner NAND Flash Controller driver. Work in progress. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.37 2017/10/23 11:06:31 jmcneill Exp $ d230 5 @ 1.38.2.1 log @file files.sunxi was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000 @ text @d1 247 @ 1.38.2.2 log @update from HEAD @ text @a0 247 # $NetBSD$ # # Configuration info for Allwinner sunxi family SoCs # # include "arch/arm/pic/files.pic" include "arch/arm/cortex/files.cortex" file arch/arm/arm32/arm32_boot.c file arch/arm/arm32/arm32_kvminit.c file arch/arm/arm32/arm32_reboot.c file arch/arm/arm32/irq_dispatch.S file arch/arm/arm32/armv7_generic_space.c file arch/arm/arm32/armv7_generic_dma.c file arch/arm/arm/bus_space_a4x.S file arch/arm/sunxi/sunxi_platform.c soc_sunxi # CCU define sunxi_ccu file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_fixed_factor.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu # CCU (A10/A20) device sun4ia10ccu: sunxi_ccu attach sun4ia10ccu at fdt with sunxi_a10_ccu file arch/arm/sunxi/sun4i_a10_ccu.c sunxi_a10_ccu # CCU (A13) device sun5ia13ccu: sunxi_ccu attach sun5ia13ccu at fdt with sunxi_a13_ccu file arch/arm/sunxi/sun5i_a13_ccu.c sunxi_a13_ccu # CCU (A31) device sun6ia31ccu: sunxi_ccu attach sun6ia31ccu at fdt with sunxi_a31_ccu file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu # CCU (A83T) device sun8ia83tccu: sunxi_ccu attach sun8ia83tccu at fdt with sunxi_a83t_ccu file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu # CCU (H3) device sun8ih3ccu: sunxi_ccu attach sun8ih3ccu at fdt with sunxi_h3_ccu file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu # CCU (H3 PRCM) device sun8ih3rccu: sunxi_ccu attach sun8ih3rccu at fdt with sunxi_h3_r_ccu file arch/arm/sunxi/sun8i_h3_r_ccu.c sunxi_h3_r_ccu # CCU (A80) device sun9ia80ccu: sunxi_ccu attach sun9ia80ccu at fdt with sunxi_a80_ccu file arch/arm/sunxi/sun9i_a80_ccu.c sunxi_a80_ccu # CCU (A64) device sun50ia64ccu: sunxi_ccu attach sun50ia64ccu at fdt with sunxi_a64_ccu file arch/arm/sunxi/sun50i_a64_ccu.c sunxi_a64_ccu # Misc. clock resets device sunxiresets attach sunxiresets at fdt with sunxi_resets file arch/arm/sunxi/sunxi_resets.c sunxi_resets # Misc. clock gates device sunxigates attach sunxigates at fdt with sunxi_gates file arch/arm/sunxi/sunxi_gates.c sunxi_gates # GMAC MII/RGMII clock mux device sunxigmacclk attach sunxigmacclk at fdt with sunxi_gmacclk file arch/arm/sunxi/sunxi_gmacclk.c sunxi_gmacclk # SD/MMC-COMM (A80) device sun9immcclk attach sun9immcclk at fdt with sunxi_a80_mmcclk file arch/arm/sunxi/sun9i_a80_mmcclk.c sunxi_a80_mmcclk # Interrupt controller device sunxiintc: pic, pic_splfuncs attach sunxiintc at fdt with sunxi_intc file arch/arm/sunxi/sunxi_intc.c sunxi_intc # GPIO device sunxigpio: gpiobus attach sunxigpio at fdt with sunxi_gpio file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio file arch/arm/sunxi/sun4i_a10_gpio.c sunxi_gpio & soc_sun4i_a10 file arch/arm/sunxi/sun5i_a13_gpio.c sunxi_gpio & soc_sun5i_a13 file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 file arch/arm/sunxi/sun7i_a20_gpio.c sunxi_gpio & soc_sun7i_a20 file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & (soc_sun8i_h3 | soc_sun50i_h5) file arch/arm/sunxi/sun9i_a80_gpio.c sunxi_gpio & soc_sun9i_a80 file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64 # UART attach com at fdt with sunxi_com file arch/arm/sunxi/sunxi_com.c sunxi_com needs-flag # SD/MMC device sunximmc: sdmmcbus attach sunximmc at fdt with sunxi_mmc file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc defparam opt_sunximmc.h SUNXI_MMC_DEBUG # USB PHY device sunxiusbphy attach sunxiusbphy at fdt with sunxi_usbphy file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy # EHCI attach ehci at fdt with ehci_fdt file dev/fdt/ehci_fdt.c ehci_fdt # OHCI attach ohci at fdt with ohci_fdt file dev/fdt/ohci_fdt.c ohci_fdt # TWI device sunxitwi: i2cbus, i2cexec, mvi2c attach sunxitwi at fdt with sunxi_twi file arch/arm/sunxi/sunxi_twi.c sunxi_twi # P2WI/RSB device sunxirsb: i2cbus, i2cexec attach sunxirsb at fdt with sunxi_rsb file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb # RTC device sunxirtc attach sunxirtc at fdt with sunxi_rtc file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc # EMAC (sun4i/sun7i) device sun4iemac: arp, ether, ifnet, mii attach sun4iemac at fdt with sun4i_emac file arch/arm/sunxi/sun4i_emac.c sun4i_emac # EMAC (sun8i/sun50i) device sunxiemac: arp, ether, ifnet, mii attach sunxiemac at fdt with sunxi_emac file arch/arm/sunxi/sunxi_emac.c sunxi_emac # GMAC attach awge at fdt with sunxi_gmac file arch/arm/sunxi/sunxi_gmac.c sunxi_gmac # Timer device sunxitimer attach sunxitimer at fdt with sunxi_timer file arch/arm/sunxi/sunxi_timer.c sunxi_timer # Watchdog device sunxiwdt: sysmon_wdog attach sunxiwdt at fdt with sunxi_wdt file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt # DMA controller (sun4i) device sun4idma attach sun4idma at fdt with sun4i_dma file arch/arm/sunxi/sun4i_dma.c sun4i_dma # DMA controller (sun6i) device sun6idma attach sun6idma at fdt with sun6i_dma file arch/arm/sunxi/sun6i_dma.c sun6i_dma # Audio codec device sunxicodec: audiobus, auconv, mulaw, aurateconv attach sunxicodec at fdt with sunxi_codec file arch/arm/sunxi/sunxi_codec.c sunxi_codec file arch/arm/sunxi/sun4i_a10_codec.c sunxi_codec file arch/arm/sunxi/sun6i_a31_codec.c sunxi_codec # H3 Audio codec (analog part) device h3codec attach h3codec at fdt with h3_codec file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag # Display controller attach genfb at fdt with simplefb file dev/fdt/simplefb.c simplefb # Touch Screen controller device sunxits: wsmousedev, tpcalib, sysmon_envsys attach sunxits at fdt with sunxi_ts file arch/arm/sunxi/sunxi_ts.c sunxi_ts # USB OTG attach motg at fdt with sunxi_musb file arch/arm/sunxi/sunxi_musb.c sunxi_musb # Security ID EFUSE device sunxisid attach sunxisid at fdt with sunxi_sid file arch/arm/sunxi/sunxi_sid.c sunxi_sid # Thermal sensor controller device sunxithermal: sysmon_envsys, sysmon_taskq attach sunxithermal at fdt with sunxi_thermal file arch/arm/sunxi/sunxi_thermal.c sunxi_thermal # SATA attach ahcisata at fdt with sunxi_sata file arch/arm/sunxi/sunxi_sata.c sunxi_sata # SRAM Controller device sunxisramc attach sunxisramc at fdt with sunxi_sramc file arch/arm/sunxi/sunxi_sramc.c sunxi_sramc # NAND Flash Controller device sunxinand: nandbus attach sunxinand at fdt with sunxi_nand file arch/arm/sunxi/sunxi_nand.c sunxi_nand # SOC parameters defflag opt_soc.h SOC_SUNXI defflag opt_soc.h SOC_SUN4I: SOC_SUNXI defflag opt_soc.h SOC_SUN4I_A10: SOC_SUN4I defflag opt_soc.h SOC_SUN5I: SOC_SUNXI defflag opt_soc.h SOC_SUN5I_A13: SOC_SUN5I defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I defflag opt_soc.h SOC_SUN7I: SOC_SUNXI defflag opt_soc.h SOC_SUN7I_A20: SOC_SUN7I defflag opt_soc.h SOC_SUN8I: SOC_SUNXI defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I defflag opt_soc.h SOC_SUN9I: SOC_SUNXI defflag opt_soc.h SOC_SUN9I_A80: SOC_SUN9I defflag opt_soc.h SOC_SUN50I: SOC_SUNXI defflag opt_soc.h SOC_SUN50I_A64: SOC_SUN50I defflag opt_soc.h SOC_SUN50I_H5: SOC_SUN50I @ 1.37 log @Change SUNXI_MMC_DEBUG to a bitmask, allowing for isolation of specific device units. Useful for debugging sdio without seeing debug spam from the SD card. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.36 2017/10/20 22:29:15 jmcneill Exp $ d225 5 @ 1.36 log @Add driver for sun4i/sun7i 10/100 Fast Ethernet controller (EMAC). @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.35 2017/10/11 10:52:54 jmcneill Exp $ d117 1 @ 1.35 log @Add H5 (sun50i) support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.34 2017/10/09 15:53:28 jmcneill Exp $ d146 6 a151 1 # EMAC @ 1.34 log @Add driver for sun4i SRAM controller. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.33 2017/10/09 14:55:31 jmcneill Exp $ d105 1 a105 1 file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 d236 1 @ 1.33 log @sunxits needs sysmon_envsys @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.32 2017/10/08 18:00:36 jmcneill Exp $ d214 5 @ 1.32 log @Add Allwinner A80 (sun9i) support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.31 2017/10/07 21:53:16 jmcneill Exp $ d192 1 a192 1 device sunxits: wsmousedev, tpcalib @ 1.31 log @Add A31 audio codec support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.30 2017/10/07 15:12:35 jmcneill Exp $ d61 5 d86 5 d106 1 d227 2 @ 1.30 log @Add A10/A20 SATA support @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.29 2017/10/07 13:28:59 jmcneill Exp $ d169 1 @ 1.29 log @Add support for sun6i/sun7i ethernet @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.28 2017/10/06 21:20:59 jmcneill Exp $ d198 4 @ 1.28 log @Add sun4i (A10) and sun7i (A20) GPIO support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.27 2017/10/06 21:09:21 jmcneill Exp $ d76 5 d140 4 @ 1.27 log @Add driver for sun4i (A10) and sun7i (A20) clock controller. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.26 2017/10/05 01:30:26 jmcneill Exp $ d85 1 d88 1 d191 2 d197 2 @ 1.26 log @Add driver for thermal sensor controller found in Allwinner H3, A64, and A83T SoCs. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.25 2017/10/03 23:42:17 jmcneill Exp $ d31 5 @ 1.25 log @Add a simple Security ID EFUSE driver. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.24 2017/09/30 12:48:58 jmcneill Exp $ d177 5 @ 1.24 log @Add support for Allwinner H3 PRCM clock controller. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.23 2017/09/09 12:01:04 jmcneill Exp $ d172 5 @ 1.23 log @Add support for USB OTG controllers in "host" mode. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.22 2017/09/07 01:07:04 jmcneill Exp $ d24 1 d51 5 @ 1.22 log @Add support for Allwinner A64 SoCs. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.21 2017/08/27 19:17:54 jmcneill Exp $ d162 4 @ 1.21 log @Remove the sunxi_debe driver in favour of the more generic simplefb. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.20 2017/08/27 16:05:26 jmcneill Exp $ d50 5 @ 1.21.2.1 log @file files.sunxi was added on branch nick-nhusb on 2017-08-28 17:51:32 +0000 @ text @d1 167 @ 1.21.2.2 log @Sync with HEAD @ text @a0 152 # $NetBSD: files.sunxi,v 1.17 2017/08/25 00:07:03 jmcneill Exp $ # # Configuration info for Allwinner sunxi family SoCs # # include "arch/arm/pic/files.pic" include "arch/arm/cortex/files.cortex" file arch/arm/arm32/arm32_boot.c file arch/arm/arm32/arm32_kvminit.c file arch/arm/arm32/arm32_reboot.c file arch/arm/arm32/irq_dispatch.S file arch/arm/arm32/armv7_generic_space.c file arch/arm/arm32/armv7_generic_dma.c file arch/arm/arm/bus_space_a4x.S file arch/arm/sunxi/sunxi_platform.c soc_sunxi # CCU define sunxi_ccu file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu # CCU (A13) device sun5ia13ccu: sunxi_ccu attach sun5ia13ccu at fdt with sunxi_a13_ccu file arch/arm/sunxi/sun5i_a13_ccu.c sunxi_a13_ccu # CCU (A31) device sun6ia31ccu: sunxi_ccu attach sun6ia31ccu at fdt with sunxi_a31_ccu file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu # CCU (A83T) device sun8ia83tccu: sunxi_ccu attach sun8ia83tccu at fdt with sunxi_a83t_ccu file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu # CCU (H3) device sun8ih3ccu: sunxi_ccu attach sun8ih3ccu at fdt with sunxi_h3_ccu file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu # Misc. clock resets device sunxiresets attach sunxiresets at fdt with sunxi_resets file arch/arm/sunxi/sunxi_resets.c sunxi_resets # Misc. clock gates device sunxigates attach sunxigates at fdt with sunxi_gates file arch/arm/sunxi/sunxi_gates.c sunxi_gates # Interrupt controller device sunxiintc: pic, pic_splfuncs attach sunxiintc at fdt with sunxi_intc file arch/arm/sunxi/sunxi_intc.c sunxi_intc # GPIO device sunxigpio: gpiobus attach sunxigpio at fdt with sunxi_gpio file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio file arch/arm/sunxi/sun5i_a13_gpio.c sunxi_gpio & soc_sun5i_a13 file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 file arch/arm/sunxi/sun50i_a64_gpio.c sunxi_gpio & soc_sun50i_a64 # UART attach com at fdt with sunxi_com file arch/arm/sunxi/sunxi_com.c sunxi_com needs-flag # SD/MMC device sunximmc: sdmmcbus attach sunximmc at fdt with sunxi_mmc file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc # USB PHY device sunxiusbphy attach sunxiusbphy at fdt with sunxi_usbphy file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy # EHCI attach ehci at fdt with ehci_fdt file dev/fdt/ehci_fdt.c ehci_fdt # OHCI attach ohci at fdt with ohci_fdt file dev/fdt/ohci_fdt.c ohci_fdt # TWI device sunxitwi: i2cbus, i2cexec, mvi2c attach sunxitwi at fdt with sunxi_twi file arch/arm/sunxi/sunxi_twi.c sunxi_twi # P2WI/RSB device sunxirsb: i2cbus, i2cexec attach sunxirsb at fdt with sunxi_rsb file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb # RTC device sunxirtc attach sunxirtc at fdt with sunxi_rtc file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc # EMAC device sunxiemac: arp, ether, ifnet, mii attach sunxiemac at fdt with sunxi_emac file arch/arm/sunxi/sunxi_emac.c sunxi_emac # Timer device sunxitimer attach sunxitimer at fdt with sunxi_timer file arch/arm/sunxi/sunxi_timer.c sunxi_timer # Watchdog device sunxiwdt: sysmon_wdog attach sunxiwdt at fdt with sunxi_wdt file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt # DMA controller device sun6idma attach sun6idma at fdt with sun6i_dma file arch/arm/sunxi/sun6i_dma.c sun6i_dma # Audio codec device sunxicodec: audiobus, auconv, mulaw, aurateconv attach sunxicodec at fdt with sunxi_codec file arch/arm/sunxi/sunxi_codec.c sunxi_codec # Audio codec (analog part) device h3codec attach h3codec at fdt with h3_codec file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag # SOC parameters defflag opt_soc.h SOC_SUNXI defflag opt_soc.h SOC_SUN5I: SOC_SUNXI defflag opt_soc.h SOC_SUN5I_A13: SOC_SUN5I defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I defflag opt_soc.h SOC_SUN8I: SOC_SUNXI defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I defflag opt_soc.h SOC_SUN50I: SOC_SUNXI defflag opt_soc.h SOC_SUN50I_A64: SOC_SUN50I @ 1.20 log @Add sun4i DMA and audio codec support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.19 2017/08/27 02:19:46 jmcneill Exp $ d149 2 a150 2 attach genfb at fdt with sunxi_debe file arch/arm/sunxi/sunxi_debe.c sunxi_debe @ 1.19 log @Add sun5i touchscreen driver. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.18 2017/08/26 22:24:50 jmcneill Exp $ d127 6 a132 1 # DMA controller d141 1 d143 1 a143 1 # Audio codec (analog part) @ 1.18 log @Add a basic sun5i FB driver. This assumes that firmware (U-Boot) has already setup the chip and re-uses the same settings / FB memory. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.17 2017/08/25 00:07:03 jmcneill Exp $ d146 5 @ 1.17 log @Add initial support for Allwinner A13 and R8 SoCs. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.16 2017/08/06 17:15:45 jmcneill Exp $ d142 4 @ 1.16 log @Add support for Allwinner H3 audio codec. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.15 2017/08/05 17:51:49 jmcneill Exp $ d30 5 d60 5 d69 1 d117 5 d144 4 a150 2 defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I @ 1.15 log @Add DMA controller driver for sun6i and later family SoCs. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.14 2017/07/25 17:04:52 jmcneill Exp $ d116 10 @ 1.14 log @Add watchdog timer support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.13 2017/07/23 10:16:08 jmcneill Exp $ d111 5 @ 1.13 log @Add sun50i gpio and platform support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.12 2017/07/17 23:26:17 jmcneill Exp $ d106 5 @ 1.12 log @Add SDMMC[012] sample/output clock phase controls. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.11 2017/07/08 11:12:24 jmcneill Exp $ d62 1 d113 2 @ 1.12.2.1 log @file files.sunxi was added on branch perseant-stdc-iso10646 on 2017-07-17 23:26:18 +0000 @ text @d1 111 @ 1.12.2.2 log @2360748 @ text @a0 111 # $NetBSD: files.sunxi,v 1.12 2017/07/17 23:26:17 jmcneill Exp $ # # Configuration info for Allwinner sunxi family SoCs # # include "arch/arm/pic/files.pic" include "arch/arm/cortex/files.cortex" file arch/arm/arm32/arm32_boot.c file arch/arm/arm32/arm32_kvminit.c file arch/arm/arm32/arm32_reboot.c file arch/arm/arm32/irq_dispatch.S file arch/arm/arm32/armv7_generic_space.c file arch/arm/arm32/armv7_generic_dma.c file arch/arm/arm/bus_space_a4x.S file arch/arm/sunxi/sunxi_platform.c soc_sunxi # CCU define sunxi_ccu file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu # CCU (A31) device sun6ia31ccu: sunxi_ccu attach sun6ia31ccu at fdt with sunxi_a31_ccu file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu # CCU (A83T) device sun8ia83tccu: sunxi_ccu attach sun8ia83tccu at fdt with sunxi_a83t_ccu file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu # CCU (H3) device sun8ih3ccu: sunxi_ccu attach sun8ih3ccu at fdt with sunxi_h3_ccu file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu # Misc. clock resets device sunxiresets attach sunxiresets at fdt with sunxi_resets file arch/arm/sunxi/sunxi_resets.c sunxi_resets # Misc. clock gates device sunxigates attach sunxigates at fdt with sunxi_gates file arch/arm/sunxi/sunxi_gates.c sunxi_gates # GPIO device sunxigpio: gpiobus attach sunxigpio at fdt with sunxi_gpio file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 # UART attach com at fdt with sunxi_com file arch/arm/sunxi/sunxi_com.c sunxi_com needs-flag # SD/MMC device sunximmc: sdmmcbus attach sunximmc at fdt with sunxi_mmc file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc # USB PHY device sunxiusbphy attach sunxiusbphy at fdt with sunxi_usbphy file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy # EHCI attach ehci at fdt with ehci_fdt file dev/fdt/ehci_fdt.c ehci_fdt # OHCI attach ohci at fdt with ohci_fdt file dev/fdt/ohci_fdt.c ohci_fdt # TWI device sunxitwi: i2cbus, i2cexec, mvi2c attach sunxitwi at fdt with sunxi_twi file arch/arm/sunxi/sunxi_twi.c sunxi_twi # P2WI/RSB device sunxirsb: i2cbus, i2cexec attach sunxirsb at fdt with sunxi_rsb file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb # RTC device sunxirtc attach sunxirtc at fdt with sunxi_rtc file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc # EMAC device sunxiemac: arp, ether, ifnet, mii attach sunxiemac at fdt with sunxi_emac file arch/arm/sunxi/sunxi_emac.c sunxi_emac # SOC parameters defflag opt_soc.h SOC_SUNXI defflag opt_soc.h SOC_SUN8I: SOC_SUNXI defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I @ 1.12.4.1 log @file files.sunxi was added on branch netbsd-8 on 2017-07-18 19:13:08 +0000 @ text @d1 111 @ 1.12.4.2 log @Pull up following revision(s) (requested by jmcneill in ticket #114): sys/arch/arm/samsung/exynos_intr.h: revision 1.3 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.1 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.2 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.3 sys/arch/arm/sunxi/sunxi_gates.c: revision 1.1 distrib/utils/embedded/mkimage: revision 1.66 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.4 sys/arch/arm/sunxi/sunxi_rsb.c: revision 1.1 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.5 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.6 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.7 sys/dev/gpio/gpio.c: revision 1.59 sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.1 sys/conf/Makefile.kern.inc: revision 1.257 sys/arch/evbarm/conf/ODROID-XU_INSTALL: file removal sys/arch/arm/sunxi/sunxi_ccu_prediv.c: revision 1.2 sys/conf/Makefile.kern.inc: revision 1.258 sys/arch/arm/fdt/psci_fdt.h: revision 1.1 sys/arch/arm/sunxi/sunxi_resets.c: revision 1.1 sys/arch/evbarm/conf/files.sunxi: revision 1.1 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.8 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.9 sys/arch/arm/samsung/files.exynos: revision 1.22 distrib/utils/embedded/conf/armv7.conf: revision 1.13 sys/arch/arm/samsung/files.exynos: revision 1.23 sys/arch/evbarm/conf/std.tegra: revision 1.15 distrib/utils/embedded/conf/armv7.conf: revision 1.14 sys/arch/arm/samsung/files.exynos: revision 1.24 distrib/utils/embedded/conf/armv7.conf: revision 1.15 sys/arch/evbarm/sunxi/genassym.cf: revision 1.1 sys/arch/arm/samsung/exynos_fdt.c: file removal sys/dev/fdt/fdt_pinctrl.c: revision 1.4 sys/arch/arm/samsung/exynos_sysmmu.c: revision 1.2 sys/arch/arm/sunxi/sun8i_h3_gpio.c: revision 1.1 sys/arch/arm/sunxi/sunxi_twi.c: revision 1.1 sys/dev/usb/ehci.c: revision 1.255 sys/arch/arm/sunxi/sunxi_twi.c: revision 1.2 sys/arch/arm/sunxi/sun8i_a83t_ccu.h: revision 1.1 sys/dev/ic/dwc_mmc.c: revision 1.11 sys/arch/arm/cortex/gic.c: revision 1.24 distrib/evbarm/instkernel/ramdisk/Makefile: revision 1.17 etc/etc.evbarm/Makefile.inc: revision 1.87 etc/etc.evbarm/Makefile.inc: revision 1.88 sys/arch/arm/fdt/gic_fdt.c: revision 1.5 etc/Makefile: revision 1.429 sys/arch/arm/fdt/gic_fdt.c: revision 1.6 sys/arch/arm/fdt/gic_fdt.c: revision 1.7 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.1 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.2 sys/arch/evbarm/conf/std.sunxi: revision 1.1 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.3 sys/arch/evbarm/conf/std.sunxi: revision 1.2 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.4 sys/arch/evbarm/conf/std.sunxi: revision 1.3 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.5 sys/arch/arm/sunxi/sunxi_ccu_div.c: revision 1.1 sys/dev/gpio/gpiovar.h: revision 1.17 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.6 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.7 sys/arch/arm/sunxi/sunxi_gpio.c: revision 1.8 sys/arch/arm/sunxi/sunxi_rsb.h: revision 1.1 sys/arch/arm/samsung/exynos_i2c.c: revision 1.12 sys/dev/fdt/fdtvar.h: revision 1.21 sys/arch/evbarm/sunxi/sunxi_start.S: revision 1.1 sys/arch/arm/samsung/exynos_i2c.c: revision 1.13 sys/dev/fdt/fdtvar.h: revision 1.22 sys/arch/evbarm/conf/SUNXI: revision 1.10 sys/dev/fdt/fdtvar.h: revision 1.23 sys/arch/evbarm/conf/SUNXI: revision 1.11 sys/dev/fdt/gpioleds.c: revision 1.1 sys/dev/fdt/fdtvar.h: revision 1.24 sys/arch/evbarm/conf/SUNXI: revision 1.12 sys/arch/evbarm/conf/SUNXI: revision 1.13 sys/arch/arm/cortex/gic.c: revision 1.30 sys/arch/evbarm/conf/SUNXI: revision 1.14 sys/arch/evbarm/conf/SUNXI: revision 1.15 sys/arch/evbarm/conf/SUNXI: revision 1.16 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.1 etc/Makefile: revision 1.430 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.2 etc/Makefile: revision 1.431 sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.17 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.3 sys/arch/arm/sunxi/sunxi_emac.c: revision 1.4 sys/arch/arm/samsung/exynos5422_clock.c: revision 1.6 sys/arch/arm/samsung/exynos_platform.c: revision 1.1 sys/dev/ofw/ofw_subr.c: revision 1.29 sys/arch/arm/samsung/exynos_platform.c: revision 1.2 sys/arch/evbarm/conf/mk.vexpress: revision 1.3 sys/arch/arm/samsung/exynos_platform.c: revision 1.3 sys/arch/evbarm/conf/mk.vexpress: revision 1.4 sys/arch/arm/samsung/exynos_platform.c: revision 1.4 sys/arch/arm/arm/psci.h: revision 1.1 sys/arch/arm/samsung/exynos_platform.c: revision 1.5 sys/arch/arm/samsung/exynos_platform.c: revision 1.6 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.10 external/bsd/mdocml/bin/mandoc/Makefile: revision 1.12 sys/dev/fdt/files.fdt: revision 1.17 sys/dev/fdt/files.fdt: revision 1.18 sys/dev/fdt/files.fdt: revision 1.19 sys/arch/arm/samsung/exynos_sscom.c: revision 1.8 sys/arch/arm/sunxi/sun8i_a83t_ccu.c: revision 1.1 sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.1 sys/arch/arm/samsung/exynos_sscom.c: revision 1.9 sys/arch/arm/conf/files.arm: revision 1.133 sys/arch/arm/samsung/mct_var.h: revision 1.5 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.1 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.2 sys/arch/evbarm/conf/std.vexpress: revision 1.6 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.3 sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.1 sys/arch/arm/sunxi/sunxi_platform.c: revision 1.4 sys/arch/arm/sunxi/sun6i_a31_gpio.c: revision 1.2 sys/arch/arm/sunxi/files.sunxi: revision 1.1 sys/dev/ofw/ofw_subr.c: revision 1.30 sys/arch/arm/sunxi/files.sunxi: revision 1.2 sys/dev/ofw/openfirm.h: revision 1.35 sys/arch/arm/sunxi/files.sunxi: revision 1.3 sys/dev/ofw/openfirm.h: revision 1.36 sys/arch/arm/sunxi/files.sunxi: revision 1.4 sys/arch/arm/sunxi/files.sunxi: revision 1.5 sys/arch/evbarm/exynos/exynos_machdep.c: file removal sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.1 sys/arch/arm/samsung/sscom.c: revision 1.9 sys/arch/arm/sunxi/files.sunxi: revision 1.6 sys/dev/fdt/ohci_fdt.c: revision 1.1 sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.1 sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.2 sys/arch/arm/sunxi/files.sunxi: revision 1.7 sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.2 sys/arch/arm/sunxi/sunxi_gpio.h: revision 1.3 sys/arch/arm/sunxi/files.sunxi: revision 1.8 sys/arch/arm/sunxi/sunxi_usbphy.c: revision 1.3 sys/arch/arm/sunxi/files.sunxi: revision 1.9 sys/arch/arm/samsung/exynos_sscom.c: revision 1.10 sys/arch/evbarm/conf/mk.tegra: revision 1.5 sys/arch/arm/samsung/exynos_dwcmmc.c: revision 1.4 sys/arch/evbarm/conf/mk.tegra: revision 1.6 sys/arch/evbarm/conf/EXYNOS: revision 1.15 sys/arch/evbarm/conf/EXYNOS: revision 1.16 sys/arch/evbarm/conf/EXYNOS: revision 1.17 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.1 sys/arch/evbarm/conf/EXYNOS: revision 1.19 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.2 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.3 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.4 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.5 sys/arch/arm/sunxi/sunxi_emac.h: revision 1.1 sys/arch/evbarm/conf/mk.sunxi: revision 1.1 sys/arch/evbarm/include/bootconfig.h: revision 1.7 sys/arch/evbarm/conf/TEGRA: revision 1.24 sys/arch/arm/arm/psci.c: revision 1.1 sys/dev/led.c: revision 1.1 sys/dev/led.c: revision 1.2 sys/arch/arm/arm/psci_arm.S: revision 1.1 sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.1 sys/arch/arm/sunxi/sunxi_ccu_gate.c: revision 1.2 sys/dev/fdt/ehci_fdt.c: revision 1.1 sys/dev/fdt/ehci_fdt.c: revision 1.2 sys/arch/arm/sunxi/sun6i_a31_ccu.h: revision 1.1 sys/arch/evbarm/conf/EXYNOS: revision 1.21 sys/arch/arm/sunxi/files.sunxi: revision 1.10 sys/arch/arm/sunxi/files.sunxi: revision 1.11 sys/dev/fdt/fdtbus.c: revision 1.14 sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.1 sys/arch/arm/samsung/exynos5422_dma.c: file removal usr.bin/config/mkmakefile.c: revision 1.69 sys/conf/files: revision 1.1178 sys/arch/arm/sunxi/sunxi_platform.h: revision 1.1 sys/arch/evbarm/exynos/exynos_start.S: revision 1.4 sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.11 sys/arch/arm/samsung/exynos_pinctrl.c: revision 1.12 sys/arch/arm/sunxi/sunxi_rtc.c: revision 1.1 sys/arch/arm/sunxi/sun8i_h3_ccu.h: revision 1.1 sys/arch/arm/samsung/exynos5410_clock.c: revision 1.1 sys/arch/arm/samsung/exynos5410_clock.c: revision 1.2 sys/arch/evbarm/conf/SUNXI: revision 1.1 external/bsd/elftosb/usr.sbin/elftosb/Makefile: revision 1.5 sys/arch/evbarm/conf/SUNXI: revision 1.2 sys/arch/arm/fdt/psci_fdt.c: revision 1.1 sys/arch/evbarm/conf/SUNXI: revision 1.3 sys/arch/evbarm/conf/SUNXI: revision 1.4 sys/arch/evbarm/conf/files.exynos: revision 1.3 sys/arch/evbarm/conf/SUNXI: revision 1.5 sys/arch/evbarm/conf/SUNXI: revision 1.6 sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.1 sys/dev/fdt/fixedfactorclock.c: revision 1.1 sys/dev/fdt/fdt_subr.c: revision 1.14 sys/arch/evbarm/conf/SUNXI: revision 1.7 sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.2 sys/arch/arm/sunxi/sun8i_a83t_gpio.c: revision 1.1 sys/dev/fdt/fdt_subr.c: revision 1.15 sys/arch/evbarm/conf/SUNXI: revision 1.8 sys/arch/arm/sunxi/sunxi_ccu_nm.c: revision 1.3 sys/dev/ic/dwc_mmc_reg.h: revision 1.6 sys/dev/fdt/fdt_subr.c: revision 1.16 sys/arch/evbarm/conf/SUNXI: revision 1.9 usr.bin/config/mkmakefile.c: revision 1.70 sys/dev/fdt/fdt_phy.c: revision 1.1 sys/arch/evbarm/conf/ODROID-XU: file removal sys/arch/arm/fdt/arm_fdt.c: revision 1.4 sys/arch/arm/samsung/exynos_reg.h: revision 1.14 sys/conf/files: revision 1.1180 sys/arch/arm/samsung/exynos_reg.h: revision 1.15 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.1 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.2 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.3 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.4 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.5 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.6 sys/dev/ic/dwc_mmc_var.h: revision 1.6 sys/arch/arm/samsung/exynos_combiner.c: revision 1.7 sys/arch/evbarm/exynos/platform.h: revision 1.2 sys/arch/arm/fdt/files.fdt: revision 1.12 sys/arch/evbarm/conf/std.exynos: revision 1.2 sys/arch/evbarm/conf/std.exynos: revision 1.3 sys/arch/arm/rockchip/rockchip_dwcmmc.c: revision 1.6 sys/arch/arm/sunxi/sunxi_com.c: revision 1.1 sys/dev/led.h: revision 1.1 sys/arch/evbarm/conf/std.exynos: revision 1.5 sys/arch/arm/sunxi/sunxi_com.c: revision 1.2 sys/arch/evbarm/conf/files.evbarm: revision 1.26 usr.bin/config/defs.h: revision 1.99 sys/arch/arm/fdt/arm_fdtvar.h: revision 1.6 sys/arch/arm/samsung/exynos_soc.c: revision 1.32 sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.1 sys/arch/arm/sunxi/sun6i_a31_ccu.c: revision 1.2 sys/arch/arm/samsung/mct.c: revision 1.11 sys/arch/evbarm/conf/ODROID-U: file removal sys/arch/arm/samsung/mct.c: revision 1.12 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.1 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.2 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.3 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: revision 1.4 Get the EXYNOS kernel building again with recent FDT changes. Untested. Use arm_fdt_cpu_hatch and add mmu entry for DTB Fix exynos5 devmap, bootstrap, and implement early_putchar. Calculate UART frequency based on bootloader config. Fix KERNEL_BASE_PHYS (how did this ever work?) Avoid divide-by-zero for unconfigured PLLs Correctly initialize i2cbus attach args. Add delay and enable mct timecounter. Fix build w/o VERBOSE_INIT_ARM Remove ODROID-U and ODROID-XU kernel configs as they no longer work. - Replace CONSADDR with SSCOM2CONSOLE in example - Remove gtmr (Exynos5422 uses mct) - cinclude EXYNOS.local instead of TEGRA.local Use fdtbus_intr_establish to hook in block interrupts instead of intr_establish. Simplify MCT; just enable it and then attach an ARMv7 generic timer. Add support for building DTB files during kernel build, from christos. build vexpress-v2p-ca15-tc1.dtb with the kernel build tegra124-apalis-eval.dtb, tegra124-jetson-tk1.dtb, tegra124-nyan-big.dtb, tegra124-nyan-blaze.dtb, and tegra124-venice2.dtb with the kernel Allow multiline makeoptions to work by quoting the newline.. Bump for quoting makeoptions with multiple lines. un-c99 bump required config version for multiline makeoptions feature Set DTS makeoption in kernel config Assign DTB files to a variable so we can make -V DTB put the dtb files with their kernels. no need for debug printing. Don't assume that CPU index = GIC CPU interface number. We can determine the current CPU interface number by reading from the read-only GICD_ITARGETSR0 through GICD_ITARGETSR7 registers. This gets interrupts working on Exynos 5422, where the boot processor has GIC CPU interface #4. use -v to get the expanded variable. Use -v to get the expanded variables. Get baud rate from sclk_uartN instead of uartN. Print IRQ number at attach. Fix PLL con0 register locations and add uart clocks Disable exyortc for now, it doesn't work. More or less a rewrite of dwc_mmc, based on awin_mmc, adding DMA support. Update for new dwc_mmc driver Fix dmesg Add Exynos 5410 clock controller driver. Fix a few typos in clock parent names for mmc clocks. From jmcneill@@ Update for new dwc_mmc driver Implement platform reset for exynos5 Attach fdtbus to a /clocks node with no compatible string. Add support for ARM Power State Coordination Interface (PSCI). Support interrupt sharing. Add initial support for Allwinner H3 SoC. ARM Trusted Firmware reserves SGIs 8-15 for secure use. Even without ATF, U-Boot on some platforms may use SGIs in this range for the PSCI implementation. Change ARMGIC_IPI_BASE to 0 from (16 - NIPI) and add a compile-time assert to ensure that we don't end up with a conflict. Add H3 MMC support SD/MMC clock fixes Add FDT PHY interface. Add glue for generic ehci/ohci bindings. Rename a variable, NFC. Support parents in different clock domains. Add USB stuff. Doesn't quite work yet. Synopsys DesignWare APB UART needs "options COM_AWIN" for now. Add i2c glue. Add RTC driver. PHY registers start at index 1. Now USB works. Don't allow sharing edge and level triggered interrupts. Add arm_fdt_memory_dump helper for dumping physical addresses from ddb Print clocks with aprint_debug Remove unused defines Add fdtbus_get_string helper Add of_search_compatible, which searches an array of compat_data structures for a matching "compatible" entry matching the supplied OFW node. This allows us to associate data with compatible strings. Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and later family SoCs. This is a port of my FreeBSD driver which has been confirmed to work on Allwinner H3, A83T, and A64 SoCs. Fix dmesg Add basic support for Allwinner A31. Add basic FDT GPIO support. Fix the pinctrl api to match the spec. A pinctrl config can have more than one xref, and an xref may have specifier data associated with it. Enable sunxi pinctrl support Adjust to new pinctrl API Add P2WI/RSB driver, based on awin_p2wi.c. Fix typo in a compat string. Configure pin defaults at attach No need to explicitly set pinctrl config 0 now Fix some register definitions. Disallow sharing between MPSAFE and non-MPSAFE handlers. Add of_match_compat_data. This routine searches an array of compat_data structures for a matching "compatible" entry matching the supplied OFW node. Add options __HAVE_CPU_UAREA_ALLOC_IDLELWP Add support for reserved memory and MEMORY_DISK_DYNAMIC for FDT-based kernels. the extent code cannot use the full range of u_long, so ignore the last page before 4GB too. ok jmcneill@@ Copy install ramdisk to releasedir. Provide both a raw ffs and Legacy U-Boot version of it. Replace HUMMINGBIRD_A31 with SUNXI kernel on armv7.img and include .dtb files for SUNXI and TEGRA kernels on the MSDOS partition. Let the controller provide a default name for pins. This makes pins easier to locate when we have multiple banks and a variable number of pins per bank. Attach gpio(4) to sunxigpio Test for kernel build directory before reading DTB list Add support for Allwinner A83T SoC. Add A83T files Fixup busdma sync and locking in the RX path. Disable batch RX/TX ints. Fix AHB2 register definition and explicitly set AHB2 parent to PLL_PERIPH0/2 -- this gives us 50% more bus bandwidth for emac Restore TX_INTERVAL_DEFAULT to 64 Drop the sunxi_emac_rx_batch feature. It was originally designed to reduce the amount of mutex unlock/lock cycles during the RX path on FreeBSD and if_input, but it is not required to drop the lock before calling if_percpuq_enqueue on NetBSD. Write back the data value instead of mask in sunxi_gpio_write Add a helper for exposing LED controls via sysctl. Add GPIO LED driver. add gpioleds Add misc. gates and resets driver, and explicitly enable PIO clocks at attach. Add fdtbus_get_string_index helper. Add driver for fixed-factor clocks. Add ffclock Remove the requirement for ehci to attach after companion devices. "go for it" - skrll@@ Remove the hack to find companion devices and just assume 1 companion if ETTF flag is not set. Remove pass numbers for ehci/ohci now that the attach order no longer matters Use unsigned char for ctype functions, suggested by christos Add : to body of populate_sunxi to appease bash. port-evbarm/52388: Fix number of args to a debug printf. @ text @a0 110 # $NetBSD: files.sunxi,v 1.1 2017/06/28 23:51:29 jmcneill Exp $ # # Configuration info for Allwinner sunxi family SoCs # # include "arch/arm/pic/files.pic" include "arch/arm/cortex/files.cortex" file arch/arm/arm32/arm32_boot.c file arch/arm/arm32/arm32_kvminit.c file arch/arm/arm32/arm32_reboot.c file arch/arm/arm32/irq_dispatch.S file arch/arm/arm32/armv7_generic_space.c file arch/arm/arm32/armv7_generic_dma.c file arch/arm/arm/bus_space_a4x.S file arch/arm/sunxi/sunxi_platform.c soc_sunxi # CCU define sunxi_ccu file arch/arm/sunxi/sunxi_ccu.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_div.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_gate.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nm.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_nkmp.c sunxi_ccu file arch/arm/sunxi/sunxi_ccu_prediv.c sunxi_ccu # CCU (A31) device sun6ia31ccu: sunxi_ccu attach sun6ia31ccu at fdt with sunxi_a31_ccu file arch/arm/sunxi/sun6i_a31_ccu.c sunxi_a31_ccu # CCU (A83T) device sun8ia83tccu: sunxi_ccu attach sun8ia83tccu at fdt with sunxi_a83t_ccu file arch/arm/sunxi/sun8i_a83t_ccu.c sunxi_a83t_ccu # CCU (H3) device sun8ih3ccu: sunxi_ccu attach sun8ih3ccu at fdt with sunxi_h3_ccu file arch/arm/sunxi/sun8i_h3_ccu.c sunxi_h3_ccu # Misc. clock resets device sunxiresets attach sunxiresets at fdt with sunxi_resets file arch/arm/sunxi/sunxi_resets.c sunxi_resets # Misc. clock gates device sunxigates attach sunxigates at fdt with sunxi_gates file arch/arm/sunxi/sunxi_gates.c sunxi_gates # GPIO device sunxigpio: gpiobus attach sunxigpio at fdt with sunxi_gpio file arch/arm/sunxi/sunxi_gpio.c sunxi_gpio file arch/arm/sunxi/sun6i_a31_gpio.c sunxi_gpio & soc_sun6i_a31 file arch/arm/sunxi/sun8i_a83t_gpio.c sunxi_gpio & soc_sun8i_a83t file arch/arm/sunxi/sun8i_h3_gpio.c sunxi_gpio & soc_sun8i_h3 # UART attach com at fdt with sunxi_com file arch/arm/sunxi/sunxi_com.c sunxi_com needs-flag # SD/MMC device sunximmc: sdmmcbus attach sunximmc at fdt with sunxi_mmc file arch/arm/sunxi/sunxi_mmc.c sunxi_mmc # USB PHY device sunxiusbphy attach sunxiusbphy at fdt with sunxi_usbphy file arch/arm/sunxi/sunxi_usbphy.c sunxi_usbphy # EHCI attach ehci at fdt with ehci_fdt file dev/fdt/ehci_fdt.c ehci_fdt # OHCI attach ohci at fdt with ohci_fdt file dev/fdt/ohci_fdt.c ohci_fdt # TWI device sunxitwi: i2cbus, i2cexec, mvi2c attach sunxitwi at fdt with sunxi_twi file arch/arm/sunxi/sunxi_twi.c sunxi_twi # P2WI/RSB device sunxirsb: i2cbus, i2cexec attach sunxirsb at fdt with sunxi_rsb file arch/arm/sunxi/sunxi_rsb.c sunxi_rsb # RTC device sunxirtc attach sunxirtc at fdt with sunxi_rtc file arch/arm/sunxi/sunxi_rtc.c sunxi_rtc # EMAC device sunxiemac: arp, ether, ifnet, mii attach sunxiemac at fdt with sunxi_emac file arch/arm/sunxi/sunxi_emac.c sunxi_emac # SOC parameters defflag opt_soc.h SOC_SUNXI defflag opt_soc.h SOC_SUN8I: SOC_SUNXI defflag opt_soc.h SOC_SUN8I_A83T: SOC_SUN8I defflag opt_soc.h SOC_SUN8I_H3: SOC_SUN8I defflag opt_soc.h SOC_SUN6I: SOC_SUNXI defflag opt_soc.h SOC_SUN6I_A31: SOC_SUN6I @ 1.12.4.3 log @Pull up following revision(s) (requested by jmcneill in ticket #143): sys/arch/arm/sunxi/files.sunxi: revision 1.12 sys/arch/arm/sunxi/sun8i_h3_ccu.c: revision 1.8 sys/arch/arm/sunxi/sunxi_ccu.c: revision 1.6 sys/arch/arm/sunxi/sunxi_ccu.h: revision 1.7 sys/arch/arm/sunxi/sunxi_ccu_phase.c: revision 1.1 sys/arch/arm/sunxi/sunxi_mmc.c: revision 1.3 sys/arch/arm/sunxi/sunxi_mmc.h: revision 1.2 Add SDMMC[012] sample/output clock phase controls. -- Add support for eMMC DDR52 transfer mode. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.12.4.2 2017/07/18 19:13:08 snj Exp $ a26 1 file arch/arm/sunxi/sunxi_ccu_phase.c sunxi_ccu @ 1.12.4.4 log @Pull up following revision(s) (requested by jmcneill in ticket #159): sys/arch/evbarm/conf/SUNXI: revision 1.18 sys/arch/arm/sunxi/sunxi_wdt.c: revision 1.1 sys/arch/arm/sunxi/files.sunxi: revision 1.14 Add watchdog timer support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.12.4.3 2017/07/25 02:03:16 snj Exp $ a104 5 # Watchdog device sunxiwdt: sysmon_wdog attach sunxiwdt at fdt with sunxi_wdt file arch/arm/sunxi/sunxi_wdt.c sunxi_wdt @ 1.12.4.5 log @Pull up following revision(s) (requested by jmcneill in ticket #200): sys/arch/arm/sunxi/files.sunxi: 1.15-1.16 sys/arch/arm/sunxi/sun6i_dma.c: 1.1-1.2 sys/arch/arm/sunxi/sun8i_h3_ccu.c: 1.9-1.10 sys/arch/arm/sunxi/sun8i_h3_codec.c: 1.1-1.2 sys/arch/arm/sunxi/sunxi_ccu.h: 1.8 sys/arch/arm/sunxi/sunxi_ccu_nkmp.c: 1.5 sys/arch/arm/sunxi/sunxi_codec.c: 1.1 sys/arch/arm/sunxi/sunxi_codec.h: 1.1 sys/arch/evbarm/conf/SUNXI: 1.20-1.21 Add DMA controller driver for sun6i and later family SoCs. -- Enable sun6idma -- add DMA gate -- Fix burst field encoding, and add a helper function to dump registers from ddb. -- Add support for H3 audio PLL and digital audio part. -- Add support for Allwinner H3 audio codec. -- Enable H3 audio support -- h3_codec_pr_write: clear write mode bit after setting it; fixes an issue with output being mutex when skipping tracks in mpg123 @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.12.4.4 2017/07/26 07:32:06 martin Exp $ a109 15 # DMA controller device sun6idma attach sun6idma at fdt with sun6i_dma file arch/arm/sunxi/sun6i_dma.c sun6i_dma # Audio codec device sunxicodec: audiobus, auconv, mulaw, aurateconv attach sunxicodec at fdt with sunxi_codec file arch/arm/sunxi/sunxi_codec.c sunxi_codec # Audio codec (analog part) device h3codec attach h3codec at fdt with h3_codec file arch/arm/sunxi/sun8i_h3_codec.c h3_codec needs-flag @ 1.11 log @Add misc. gates and resets driver, and explicitly enable PIO clocks at attach. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.10 2017/07/07 13:11:31 jmcneill Exp $ d27 1 @ 1.10 log @Add A83T files @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.9 2017/07/02 18:06:45 jmcneill Exp $ d44 10 @ 1.9 log @Add P2WI/RSB driver, based on awin_p2wi.c. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.8 2017/07/02 13:36:46 jmcneill Exp $ d34 5 d49 1 d97 1 @ 1.8 log @Add basic FDT GPIO support. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.7 2017/07/02 00:14:09 jmcneill Exp $ d73 5 @ 1.7 log @Add basic support for Allwinner A31. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.6 2017/07/01 16:25:16 jmcneill Exp $ d39 7 @ 1.6 log @Add driver for Allwinner Gigabit Ethernet (EMAC) as found in sun8i and later family SoCs. This is a port of my FreeBSD driver which has been confirmed to work on Allwinner H3, A83T, and A64 SoCs. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.5 2017/06/29 19:38:24 jmcneill Exp $ d23 1 d29 5 d80 2 @ 1.5 log @Add RTC driver. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.4 2017/06/29 19:16:08 jmcneill Exp $ d65 5 @ 1.4 log @Add i2c glue. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.3 2017/06/29 17:08:52 jmcneill Exp $ d60 5 @ 1.3 log @Add USB stuff. Doesn't quite work yet. @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.2 2017/06/29 09:26:06 jmcneill Exp $ d55 5 @ 1.2 log @Add H3 MMC support @ text @d1 1 a1 1 # $NetBSD: files.sunxi,v 1.1 2017/06/28 23:51:29 jmcneill Exp $ d42 13 @ 1.1 log @Add initial support for Allwinner H3 SoC. @ text @d1 1 a1 1 # $NetBSD: files.vexpress,v 1.2 2017/06/02 21:16:42 jmcneill Exp $ d25 2 d28 1 d37 5 @