Lines Matching defs:clock
102 #define SE (1 << 0) /* Fix the master clock */
189 * FSI clock
235 /* see [FSI clock] */
255 struct fsi_clk clock;
707 * SPDIF master clock function
725 * clock function
735 struct fsi_clk *clock = &fsi->clock;
738 clock->xck = NULL;
739 clock->ick = NULL;
740 clock->div = NULL;
741 clock->rate = 0;
742 clock->count = 0;
743 clock->set_rate = set_rate;
745 clock->own = devm_clk_get(dev, NULL);
746 if (IS_ERR(clock->own))
749 /* external clock */
751 clock->xck = devm_clk_get(dev, is_porta ? "xcka" : "xckb");
752 if (IS_ERR(clock->xck)) {
753 dev_err(dev, "can't get xck clock\n");
756 if (clock->xck == clock->own) {
757 dev_err(dev, "cpu doesn't support xck clock\n");
764 clock->ick = devm_clk_get(dev, is_porta ? "icka" : "ickb");
765 if (IS_ERR(clock->ick)) {
766 dev_err(dev, "can't get ick clock\n");
769 if (clock->ick == clock->own) {
770 dev_err(dev, "cpu doesn't support ick clock\n");
777 clock->div = devm_clk_get(dev, is_porta ? "diva" : "divb");
778 if (IS_ERR(clock->div)) {
779 dev_err(dev, "can't get div clock\n");
782 if (clock->div == clock->own) {
783 dev_err(dev, "cpu doesn't support div clock\n");
794 fsi->clock.rate = rate;
799 return fsi->clock.set_rate &&
800 fsi->clock.rate;
806 struct fsi_clk *clock = &fsi->clock;
812 if (0 == clock->count) {
813 ret = clock->set_rate(dev, fsi);
819 ret = clk_enable(clock->xck);
822 ret = clk_enable(clock->ick);
825 ret = clk_enable(clock->div);
829 clock->count++;
835 clk_disable(clock->ick);
837 clk_disable(clock->xck);
845 struct fsi_clk *clock = &fsi->clock;
850 if (1 == clock->count--) {
851 clk_disable(clock->xck);
852 clk_disable(clock->ick);
853 clk_disable(clock->div);
929 struct clk *xck = fsi->clock.xck;
930 struct clk *ick = fsi->clock.ick;
931 unsigned long rate = fsi->clock.rate;
936 /* check clock rate */
939 dev_err(dev, "unsupported clock rate\n");
961 struct clk *ick = fsi->clock.ick;
962 struct clk *div = fsi->clock.div;
963 unsigned long rate = fsi->clock.rate;
990 * The clock flow is
996 * frequency of audio clock from ick clock only.
997 * Because ick is created from its parent clock.
1010 if (cout > 100000000) /* max clock = 100MHz */
1013 /* cout/actual audio clock */
1028 dev_err(dev, "ick clock failed\n");
1034 dev_err(dev, "div clock failed\n");
1506 /* clock setting */
1512 /* clock inversion (CKG2) */
1549 /* start master clock */
1559 /* stop master clock */
1648 /* set clock master audio interface */
1659 /* set clock inversion */
1838 { "use-internal-clock", SH_FSI_CLK_CPG },